{
  "author": {
    "name": "Amazon Web Services",
    "organization": true,
    "roles": [
      "author"
    ],
    "url": "https://aws.amazon.com"
  },
  "bin": {
    "projen": "bin/projen"
  },
  "bundled": {
    "@iarna/toml": "^2.2.5",
    "case": "^1.6.3",
    "chalk": "^4.1.2",
    "comment-json": "4.2.2",
    "conventional-changelog-config-spec": "^2.1.0",
    "dax": "^0.49.0",
    "fast-glob": "^3.3.3",
    "fast-json-patch": "^3.1.1",
    "ini": "^2.0.0",
    "parse-conflict-json": "^4.0.0",
    "properties-file": "^5.0.6",
    "semver": "^7.8.5",
    "xmlbuilder2": "^4.0.3",
    "yaml": "^2.2.2",
    "yargs": "^17.7.3"
  },
  "dependencies": {
    "constructs": "^10.5.0"
  },
  "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"
        }
      }
    }
  },
  "description": "CDK for software projects",
  "docs": {
    "stability": "experimental"
  },
  "homepage": "https://github.com/projen/projen.git",
  "jsiiVersion": "6.0.11 (build d41f82c)",
  "keywords": [
    "cdk",
    "cicd",
    "generator",
    "management",
    "project",
    "scaffolding"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscOutDir": "lib",
    "tscRootDir": "src"
  },
  "name": "projen",
  "readme": {
    "markdown": "<p align=\"center\">\n  <a href=\"https://projen.io\">\n    <img src=\"https://raw.githubusercontent.com/projen/projen/main/logo/projen.svg\">\n    <h3 align=\"center\">projen</h3>\n  </a>\n</p>\n\n<p align=\"center\">\n  Define and maintain complex project configuration through code.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://projen.io/\"><strong>Documentation</strong></a> ·\n  <a href=\"https://github.com/projen/projen/releases\"><strong>Changelog</strong></a> ·\n  <a href=\"#project-types\"><strong>Project types</strong></a> ·\n  <a href=\"#community\"><strong>Join the community</strong></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://opensource.org/licenses/Apache-2.0\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg\" alt=\"Apache 2.0 License\"></a>\n  <a href=\"https://gitpod.io/#https://github.com/projen/projen\"><img src=\"https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod\" alt=\"Gitpod ready-to-code\"></a>\n  <a href=\"https://github.com/projen/projen/actions/workflows/release.yml\"><img src=\"https://github.com/projen/projen/actions/workflows/release.yml/badge.svg\" alt=\"Release badge\"></a>\n  <a href=\"https://github.com/projen/projen/commits/main\"><img src=\"https://img.shields.io/github/commit-activity/w/projen/projen\" alt=\"Commit activity\"></a>\n</p>\n\n<br/>\n\n*projen* synthesizes project configuration files such as `package.json`,\n`tsconfig.json`, `.gitignore`, GitHub Workflows, eslint, jest, etc. from a\nwell-typed definition written in JavaScript.\n\nAs opposed to existing templating/scaffolding tools, *projen* is not a one-off\ngenerator. Synthesized files should never be manually edited (in fact, projen\nenforces that). To modify your project setup, users interact with rich\nstrongly-typed class and execute `projen` to update their project configuration\nfiles.\n\nBy defining a custom project type and using projen in multiple repositories, it's\npossible to update configuration files and CI/CD workflows across dozens (or\nhundreds!?) of projects.\n\nCheck out [this talk](https://youtu.be/SOWMPzXtTCw) about projen from its creator.\n\n## Getting Started\n\n*projen* doesn't need to be installed. You will be using [pnpm dlx](https://pnpm.io/cli/dlx) to run *projen* which takes care of all required setup steps. (`npx` works too, but `pnpm dlx` avoids the supply-chain risk of phantom dependency resolution in npm.)\n\nTo create a new project, run the following command and follow the instructions:\n\n```console\n$ mkdir my-project\n$ cd my-project\n$ pnpm dlx projen new PROJECT-TYPE\n🤖 Synthesizing project...\n...\n```\n\n### Project types\n\nCurrently supported project types (use `pnpm dlx projen new` without a type for a\nfull list):\n\n**Built-in:** (run `pnpm dlx projen new <type>`)\n\n<!-- <macro exec=\"node ./scripts/readme-projects.js\"> -->\n* [awscdk-app-java](https://projen.io/docs/api/awscdk#awscdkjavaapp-) - AWS CDK app in Java.\n* [awscdk-app-py](https://projen.io/docs/api/awscdk#awscdkpythonapp-) - AWS CDK app in Python.\n* [awscdk-app-ts](https://projen.io/docs/api/awscdk#awscdktypescriptapp-) - AWS CDK app in TypeScript.\n* [awscdk-construct](https://projen.io/docs/api/awscdk#awscdkconstructlibrary-) - AWS CDK construct library project.\n* [cdk8s-app-py](https://projen.io/docs/api/cdk8s#cdk8spythonapp-) - CDK8s app in Python.\n* [cdk8s-app-ts](https://projen.io/docs/api/cdk8s#cdk8stypescriptapp-) - CDK8s app in TypeScript.\n* [cdk8s-construct](https://projen.io/docs/api/cdk8s#constructlibrarycdk8s-) - CDK8s construct library project.\n* [cdktn-app-ts](https://projen.io/docs/api/cdktn#cdktntypescriptapp-) - CDKTN app in TypeScript.\n* [cdktn-construct](https://projen.io/docs/api/cdktn#constructlibrarycdktn-) - CDKTN construct library project.\n* [java](https://projen.io/docs/api/java#javaproject-) - Java project.\n* [jsii](https://projen.io/docs/api/cdk#jsiiproject-) - Multi-language jsii library project.\n* [nextjs](https://projen.io/docs/api/web#nextjsproject-) - Next.js project using JavaScript.\n* [nextjs-ts](https://projen.io/docs/api/web#nextjstypescriptproject-) - Next.js project using TypeScript.\n* [node](https://projen.io/docs/api/javascript#nodeproject-) - Node.js project.\n* [project](https://projen.io/docs/api/projen#project-) - Base project.\n* [python](https://projen.io/docs/api/python#pythonproject-) - Python project.\n* [react](https://projen.io/docs/api/web#reactproject-) - React project using JavaScript.\n* [react-ts](https://projen.io/docs/api/web#reacttypescriptproject-) - React project using TypeScript.\n* [typescript](https://projen.io/docs/api/typescript#typescriptproject-) - TypeScript project.\n* [typescript-app](https://projen.io/docs/api/typescript#typescriptappproject-) - TypeScript app.\n<!-- </macro> -->\n\n**External:** (run `pnpm dlx projen new --from <type>`)\n\n* [projen-github-action-typescript](https://github.com/projen/projen-github-action-typescript/blob/main/API.md) - GitHub Action in TypeScript project.\n\n> Use `pnpm dlx projen new PROJECT-TYPE --help` to view a list of command line\n> switches that allows you to specify most project options during bootstrapping.\n> For example: `pnpm dlx projen new jsii --author-name \"Jerry Berry\"`.\n\nThe `new` command will create a `.projenrc.js` file which looks like this for\n`jsii` projects:\n\n```js\nconst { JsiiProject } = require('projen');\n\nconst project = new JsiiProject({\n  authorAddress: \"elad.benisrael@gmail.com\",\n  authorName: \"Elad Ben-Israel\",\n  name: \"foobar\",\n  repository: \"https://github.com/eladn/foobar.git\",\n});\n\nproject.synth();\n```\n\nThis program instantiates the project type with minimal setup, and then calls\n`synth()` to synthesize the project files. By default, the `new` command will\nalso execute this program, which will result in a fully working project.\n\nOnce your project is created, you can configure your project by editing\n`.projenrc.js` and re-running `pnpm dlx projen` to synthesize again.\n\n> The files generated by *projen* are considered an \"implementation detail\" and\n> *projen* protects them from being manually edited (most files are marked\n> read-only, and an \"anti tamper\" check is configured in the CI build workflow\n> to ensure that files are not updated during build).\n\nFor example, to setup PyPI publishing in `jsii` projects, you can use\n[`publishToPypi option`](https://projen.io/publisher.html):\n\n```js\nconst project = new JsiiProject({\n  // ...\n  publishToPypi: {\n    distName: \"mydist\",\n    module: \"my_module\",\n  }\n});\n```\n\nRun:\n\n```shell\npnpm dlx projen\n```\n\nAnd you'll notice that your `package.json` file now contains a `python` section in\nits `jsii` config and the GitHub `release.yml` workflow includes a PyPI\npublishing step.\n\nWe recommend to put this in your shell profile, so you can simply run `pj` every\ntime you update `.projenrc.js`:\n\n```bash\nalias pj='pnpm dlx projen'\n```\n\nMost projects come with an assortment of **tasks** that handle various\ndevelopment activities, from compiling to publishing. Tasks can be and composed\ntogether, and can be run as local commands or turned into GitHub workflows. You\ncan list all tasks with `pnpm dlx projen --help`:\n\n```shell\n$ pnpm dlx projen --help\nprojen [command]\n\nCommands:\n  projen new [PROJECT-TYPE-NAME] [OPTIONS]  Creates a new projen project\n  projen clobber                            hard resets to HEAD of origin and cleans the local repo\n  projen compile                            Only compile\n  projen test                               Run tests\n  projen build                              Full release build (test+compile)\n  projen upgrade                            upgrade dependencies (including projen)\n...\n```\n\nThe `build` task is the same task that's executed in your CI builds. It\ntypically compiles, lints, tests and packages your module for distribution.\n\n### Shell Completions\n\nIf installed as a global package, `projen` includes rich shell tab-completion support. To enable this in your shell, run:\n\n```shell\n# Bash\nprojen completion >> ~/.bashrc\n\n# ZSH\nprojen completion >> ~/.zshrc\n```\n\n## Features\n\nSome examples of features built-in to project types:\n\n* Fully synthesize `package.json`\n* Standard npm scripts like `compile`, `build`, `test`, `package`\n* eslint\n* Jest\n* jsii: compile, package, api compatibility checks, API.md\n* Bump & release scripts with CHANGELOG generation based on conventional commits\n* Automated PR builds\n* Automated releases to npm, maven, NuGet and PyPI\n* Automated dependency upgrades\n* Mergify configuration\n* LICENSE file generation\n* gitignore + npmignore management\n* Node \"engines\" support with coupling to CI build environment and @types/node\n* Anti-tamper: CI builds will fail if a synthesized file is modified manually\n\n## Documentation\n\nFor documentation including examples and a full API reference, visit <https://projen.io/>.\n\n## Ecosystem\n\n*projen* takes a \"batteries included\" approach and aims to offer dozens of different project types out of\nthe box (we are just getting started). Think `projen new react`, `projen new angular`, `projen new java-maven`,\n`projen new awscdk-typescript`, `projen new cdk8s-python` (nothing in projen is tied to javascript or npm!)...\n\nAdding new project types is as simple as submitting a pull request to this repo and exporting a class that\nextends `projen.Project` (or one of its derivatives). Projen automatically discovers project types so your\ntype will immediately be available in `projen new`.\n\n### Projects in external modules\n\n*projen* is bundled with many project types out of the box, but it can also work\nwith project types and components defined in external jsii modules (the reason\nwe need jsii is because projen uses the jsii metadata to discover project types\n& options in projen new).\n\nSay we have a module in npm called `projen-vuejs` which includes a single project\ntype for vue.js:\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs\n```\n\nIf the referenced module includes multiple project types, the type is required.\nSwitches can also be used to specify initial values based on the project type\nAPIs. You can also use any package syntax supported by [pnpm\nadd](https://pnpm.io/cli/add) like\n`projen-vuejs@1.2.3`, `file:/path/to/local/folder`,\n`git@github.com/awesome/projen-vuejs#1.2.3`, etc.\n\n```bash\n$ pnpm dlx projen new --from projen-vuejs@^2 vuejs-ts --description \"my awesome vue project\"\n```\n\nUnder the hood, `projen new` will install the `projen-vuejs` module from npm\n(version 2.0.0 and above), discover the project types in it and bootstrap the\n`vuejs-ts` project type. It will assign the value `\"my awesome vue project\"` to\nthe `description` field. If you examine your `.projenrc.js` file, you'll see\nthat `projen-vuejs` is defined as a dev dependency:\n\n```javascript\nconst { VueJsProject } = require('projen-vuejs');\n\nconst project = new VueJsProject({\n  name: 'my-vuejs-sample',\n  description: \"my awesome vue project\",\n  // ...\n  devDeps: [\n    'projen-vuejs'\n  ]\n});\n\nproject.synth();\n```\n\n## Roadmap\n\nSee [Vision](./VISION.md).\n\n## FAQ\n\n### Do I have to write my configuration in JavaScript?\n\nNot at all! JavaScript is the default, but it's also possible to write it in\nJava, Python, TypeScript, or even JSON. This is made\npossible by the [jsii](https://github.com/aws/jsii) library which allows us\nto write APIs once and generate libraries in several languages. You can choose\na different language by passing the `--projenrc-ts`, `--projenrc-py`, `--projenrc-java`, or\n`--projenrc-json` flags when running `projen new`.\n\nNote: using a `.projenrc.json` file to specify configuration only allows\naccessing a subset of the entire API - the options which are passed to the\nconstructor of each project type.\n\n### How does projen work with my IDE?\n\nprojen has an unofficial [VS Code extension]. Check it out!\n\n[VS Code extension]: https://marketplace.visualstudio.com/items?itemName=MarkMcCulloh.vscode-projen\n\n## Community\n\nThe projen community can be found within the #projen channel in the [cdk.dev]\ncommunity Slack workspace.\n\n[cdk.dev]: https://cdk.dev/\n\n## Security\n\nprojen follows a shared responsibility model: projen is\nresponsible for generating secure default configuration through its built-in\nproject types; you are responsible for the code you write in your projenrc\nfile, the third-party project types and components you use, and the environment\nprojen runs in.\n\nprojen is designed to run in a **trusted environment** with **trusted inputs**.\nYour projenrc file is a program executed with your user's permissions, and\nprojen tasks execute shell commands defined in `.projen/tasks.json`. This file\nis *prescriptive* by design: the projen CLI executes what it contains, so\nanyone with write access to it (or to your repository in general) can change\nwhat projen runs. This is expected behavior — equivalent to write access to a\n`Makefile` or `package.json` scripts. The same trust model applies as with any\nother build tool. Since all synthesized files are derived from your projenrc\nprogram and checked in, source control always lets you review or restore what\nprojen will run.\n\nSee the [security documentation](https://projen.io/docs/security) for details,\nand report security issues via our [security policy](./SECURITY.md) rather than\npublic GitHub issues.\n\n## Contributions\n\nContributions of all kinds are welcome! Check out our [contributor's\nguide](./CONTRIBUTING.md) and our [code of conduct](./CODE_OF_CONDUCT.md).\n\nFor a quick start, check out a development environment:\n\n```bash\n$ git clone git@github.com:projen/projen\n$ cd projen\n$ npm ci\n$ npm run watch # compile in the background\n```\n\n### Contributors\n\nThanks goes to [our wonderful contributors](https://github.com/projen/projen/graphs/contributors)!\n\n## License\n\nDistributed under the [Apache-2.0](./LICENSE) license.\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/projen/projen.git"
  },
  "schema": "jsii/0.10.0",
  "submodules": {
    "projen.awscdk": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 59
      },
      "symbolId": "src/awscdk/index:"
    },
    "projen.build": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 64
      },
      "symbolId": "src/build/index:"
    },
    "projen.cdk": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 63
      },
      "symbolId": "src/cdk/index:"
    },
    "projen.cdk8s": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 60
      },
      "symbolId": "src/cdk8s/index:"
    },
    "projen.cdktf": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 61
      },
      "symbolId": "src/cdktf/index:"
    },
    "projen.cdktn": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 62
      },
      "symbolId": "src/cdktn/index:"
    },
    "projen.circleci": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 52
      },
      "symbolId": "src/circleci/index:"
    },
    "projen.github": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 50
      },
      "symbolId": "src/github/index:"
    },
    "projen.github.workflows": {
      "locationInModule": {
        "filename": "src/github/index.ts",
        "line": 26
      },
      "symbolId": "src/github/workflows-model:"
    },
    "projen.gitlab": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 51
      },
      "symbolId": "src/gitlab/index:"
    },
    "projen.java": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 54
      },
      "symbolId": "src/java/index:"
    },
    "projen.javascript": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 57
      },
      "symbolId": "src/javascript/index:"
    },
    "projen.javascript.biome_config": {
      "locationInModule": {
        "filename": "src/javascript/index.ts",
        "line": 18
      },
      "symbolId": "src/javascript/biome/biome-config:"
    },
    "projen.polaris": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 47
      },
      "symbolId": "src/polaris/index:"
    },
    "projen.python": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 55
      },
      "symbolId": "src/python/index:"
    },
    "projen.python.uvConfig": {
      "locationInModule": {
        "filename": "src/python/index.ts",
        "line": 17
      },
      "symbolId": "src/python/uv-config:"
    },
    "projen.release": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 58
      },
      "symbolId": "src/release/index:"
    },
    "projen.sonarqube": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 48
      },
      "symbolId": "src/sonarqube/index:"
    },
    "projen.typescript": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 56
      },
      "symbolId": "src/typescript/index:"
    },
    "projen.vscode": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 53
      },
      "symbolId": "src/vscode/index:"
    },
    "projen.web": {
      "locationInModule": {
        "filename": "src/index.ts",
        "line": 49
      },
      "symbolId": "src/web/index:"
    }
  },
  "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"
    }
  },
  "types": {
    "projen.AiAgent": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Supported AI coding assistants and their instruction file locations."
      },
      "fqn": "projen.AiAgent",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/ai-instructions.ts",
        "line": 9
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "GitHub Copilot - .github/copilot-instructions.md."
          },
          "name": "GITHUB_COPILOT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Cursor IDE - .cursor/rules/project.md."
          },
          "name": "CURSOR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Claude Code - CLAUDE.md."
          },
          "name": "CLAUDE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Amazon Q - .amazonq/rules/project.md."
          },
          "name": "AMAZON_Q"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Kiro - .kiro/steering/project.md."
          },
          "name": "KIRO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "OpenAI Codex - AGENTS.md."
          },
          "name": "CODEX"
        }
      ],
      "name": "AiAgent",
      "symbolId": "src/ai-instructions:AiAgent"
    },
    "projen.AiInstructions": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "example": "const project = new TypeScriptProject({\n  name: \"my-project\",\n});\n\n// Basic usage - generates files for all supported AI agents\nnew AiInstructions(project);\n\n// Custom usage - specify which agents and add custom instructions\nnew AiInstructions(project, {\n  agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR],\n  agentSpecificInstructions: {\n    [AiAgent.GITHUB_COPILOT]: [\"Always use descriptive commit messages.\"],\n  },\n});\n\n// Add more instructions after instantiation\nconst ai = new AiInstructions(project);\nai.addInstructions(\"Use functional programming patterns.\");\nai.addInstructions(\"Always write comprehensive tests.\");",
        "remarks": "This component creates configuration files that help AI tools like GitHub Copilot,\nCursor IDE, Claude Code, and Amazon Q understand that the project is managed by projen\nand should follow projen conventions.",
        "stability": "experimental",
        "summary": "Generates instruction files for AI coding assistants with projen-specific guidance."
      },
      "fqn": "projen.AiInstructions",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/ai-instructions.ts",
          "line": 132
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.AiInstructionsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/ai-instructions.ts",
        "line": 114
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns development best practices instructions for AI agents."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 125
          },
          "name": "bestPractices",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns projen-specific instructions for AI agents."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 118
          },
          "name": "projen",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "aiInstructions.addAgentSpecificInstructions(AiAgent.GITHUB_COPILOT, \"Use descriptive commit messages.\");",
            "remarks": "This can also be used to add instructions for an AI agent that was previously not enabled.",
            "stability": "experimental",
            "summary": "Add instructions for a specific AI agent."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 208
          },
          "name": "addAgentSpecificInstructions",
          "parameters": [
            {
              "docs": {
                "summary": "The AI agent to add instructions for."
              },
              "name": "agent",
              "type": {
                "fqn": "projen.AiAgent"
              }
            },
            {
              "docs": {
                "summary": "The instruction(s) to add."
              },
              "name": "instructions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "example": "aiInstructions.addInstructions(\"Always use TypeScript strict mode.\");\naiInstructions.addInstructions(\"Prefer functional programming.\", \"Avoid mutations.\");",
            "stability": "experimental",
            "summary": "Adds instructions that will be included for all selected AI agents."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 192
          },
          "name": "addInstructions",
          "parameters": [
            {
              "docs": {
                "summary": "The instructions to add."
              },
              "name": "instructions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "AiInstructions",
      "symbolId": "src/ai-instructions:AiInstructions"
    },
    "projen.AiInstructionsFile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.AiInstructionsFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/file.ts",
          "line": 103
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.FileBaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/ai-instructions.ts",
        "line": 240
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds instructions to the instruction file."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 246
          },
          "name": "addInstructions",
          "parameters": [
            {
              "name": "instructions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 250
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "AiInstructionsFile",
      "symbolId": "src/ai-instructions:AiInstructionsFile"
    },
    "projen.AiInstructionsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for configuring AI tool instruction files."
      },
      "fqn": "projen.AiInstructionsOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/ai-instructions.ts",
        "line": 44
      },
      "name": "AiInstructionsOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- All agents: [AiAgent.GITHUB_COPILOT, AiAgent.CURSOR, AiAgent.CLAUDE, AiAgent.AMAZON_Q, AiAgent.KIRO, AiAgent.CODEX]",
            "stability": "experimental",
            "summary": "Which AI agents to generate instruction files for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 50
          },
          "name": "agents",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.AiAgent"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no agent specific instructions",
            "example": "{\n  [AiAgent.GITHUB_COPILOT]: {\n    instructions: [\"Use descriptive commit messages.\"]\n  },\n  [AiAgent.CURSOR]: {\n    instructions: [\"Prefer functional patterns.\", \"Always add tests.\"]\n  }\n}",
            "remarks": "Allows different instructions for different AI tools.",
            "stability": "experimental",
            "summary": "Per-agent custom instructions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 73
          },
          "name": "agentSpecificInstructions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Default instructions will only be included for agents provided in the `agents` option.\nIf `agents` is not provided, default instructions will be included for all agents.",
            "stability": "experimental",
            "summary": "Include default instructions for projen and general best practices."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 83
          },
          "name": "includeDefaultInstructions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no agent specific instructions",
            "stability": "experimental",
            "summary": "General instructions applicable to all agents."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ai-instructions.ts",
            "line": 57
          },
          "name": "instructions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/ai-instructions:AiInstructionsOptions"
    },
    "projen.Component": {
      "assembly": "projen",
      "base": "constructs.Construct",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a project component."
      },
      "fqn": "projen.Component",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/component.ts",
          "line": 33
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "id",
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/component.ts",
        "line": 23
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Test whether the given construct is a component."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 27
          },
          "name": "isComponent",
          "parameters": [
            {
              "name": "x",
              "type": {
                "primitive": "any"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nIt is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `postSynthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 79
          },
          "name": "postProjectCreation",
          "parameters": [
            {
              "docs": {
                "summary": "Details about how the project was created, e.g. its type and the original CLI args."
              },
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Order is *not* guaranteed.",
            "stability": "experimental",
            "summary": "Called after synthesis."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 55
          },
          "name": "postSynthesize"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 45
          },
          "name": "preSynthesize"
        },
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 65
          },
          "name": "projectCreation",
          "parameters": [
            {
              "docs": {
                "summary": "Details about how the project was created, e.g. its type and the original CLI args."
              },
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes files to the project output directory."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 50
          },
          "name": "synthesize"
        }
      ],
      "name": "Component",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 31
          },
          "name": "project",
          "type": {
            "fqn": "projen.Project"
          }
        }
      ],
      "symbolId": "src/component:Component"
    },
    "projen.CreateProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.CreateProjectOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/projects.ts",
        "line": 7
      },
      "name": "CreateProjectOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Directory that the project will be generated in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 11
          },
          "name": "dir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "`projen.typescript.TypescriptProject`",
            "stability": "experimental",
            "summary": "Fully-qualified name of the project type (usually formatted as `projen.module.ProjectType`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 18
          },
          "name": "projectFqn",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only JSON-like values can be passed in (strings,\nbooleans, numbers, enums, arrays, and objects that are not\nderived from classes).\n\nConsult the API reference of the project type you are generating for\ninformation about what fields and types are available.",
            "stability": "experimental",
            "summary": "Project options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 28
          },
          "name": "projectOptions",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "InitProjectOptionHints.FEATURED",
            "remarks": "Does not apply to projenrc.json files.",
            "stability": "experimental",
            "summary": "Should we render commented-out default options in the projenrc file?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 36
          },
          "name": "optionHints",
          "optional": true,
          "type": {
            "fqn": "projen.InitProjectOptionHints"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "(usually package manager install).",
            "stability": "experimental",
            "summary": "Should we execute post synthesis hooks?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 51
          },
          "name": "post",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Should we call `project.synth()` or instantiate the project (could still have side-effects) and render the .projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 44
          },
          "name": "synth",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/projects:CreateProjectOptions"
    },
    "projen.Dependencies": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "To add a dependency you can use a project-type specific API such as\n`nodeProject.addDeps()` or use the generic API of `project.deps`:",
        "stability": "experimental",
        "summary": "The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files."
      },
      "fqn": "projen.Dependencies",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Adds a dependencies component to the project."
        },
        "locationInModule": {
          "filename": "src/dependencies.ts",
          "line": 54
        },
        "parameters": [
          {
            "docs": {
              "summary": "The parent project."
            },
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 18
      },
      "methods": [
        {
          "docs": {
            "remarks": "Given `foo@^3.4.0` returns `{ name: \"foo\", version: \"^3.4.0\" }`.\nGiven `bar@npm:@bar/legacy` returns `{ name: \"bar\", version: \"npm:@bar/legacy\" }`.",
            "stability": "experimental",
            "summary": "Returns the coordinates of a dependency spec."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 33
          },
          "name": "parseDependency",
          "parameters": [
            {
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DependencyCoordinates"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dependency to this project."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 136
          },
          "name": "addDependency",
          "parameters": [
            {
              "docs": {
                "summary": "The dependency spec in the format `MODULE[@VERSION]` where `MODULE` is the package-manager-specific module name and `VERSION` is an optional semantic version requirement (e.g. `^3.4.0`)."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The type of the dependency."
              },
              "name": "type",
              "type": {
                "fqn": "projen.DependencyType"
              }
            },
            {
              "name": "metadata",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        },
        {
          "docs": {
            "remarks": "Fails if there is no dependency defined by that name or if `type` is not\nprovided and there is more then one dependency type for this dependency.",
            "returns": "a copy (cannot be modified)",
            "stability": "experimental",
            "summary": "Returns a dependency by name."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 89
          },
          "name": "getDependency",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the dependency."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "If this dependency is defined only for a\nsingle type, this argument can be omitted.",
                "summary": "The dependency type."
              },
              "name": "type",
              "optional": true,
              "type": {
                "fqn": "projen.DependencyType"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        },
        {
          "docs": {
            "returns": "`true` if the dependency exists and its version satisfies the provided constraint. `false` otherwise.\nNotably returns `false` if a dependency exists, but has no version.",
            "stability": "experimental",
            "summary": "Checks if an existing dependency satisfies a dependency requirement."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 189
          },
          "name": "isDependencySatisfied",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the dependency to check (without the version)."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The dependency type."
              },
              "name": "type",
              "type": {
                "fqn": "projen.DependencyType"
              }
            },
            {
              "docs": {
                "summary": "The version constraint to check (e.g. `^3.4.0`). The constraint of the dependency must be a subset of the expected range to satisfy the requirements."
              },
              "name": "expectedRange",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Removes a dependency."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 171
          },
          "name": "removeDependency",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the module to remove (without the version)."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "This is only required if there the\ndependency is defined for multiple types.",
                "summary": "The dependency type."
              },
              "name": "type",
              "optional": true,
              "type": {
                "fqn": "projen.DependencyType"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "- If the dep exists with a version that already satisfies the request,\n  the version is not changed.\n- If the dep doesn't exist, it is added with the requested type/version.\n- If the dep exists but the versions don't intersect, an error is thrown.\n- If no type is provided, an existing dependency of any type will satisfy\n  the request. If none exists, it is added as BUILD.",
            "returns": "The resulting dependency after merging.",
            "stability": "experimental",
            "summary": "Request a dependency. Unlike `addDependency`, this merges intelligently with existing dependencies of the same name and type:."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 212
          },
          "name": "requestDependency",
          "parameters": [
            {
              "docs": {
                "summary": "The dependency request."
              },
              "name": "request",
              "type": {
                "fqn": "projen.DependencyRequest"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        },
        {
          "docs": {
            "remarks": "Returns `undefined` if there is no dependency defined by that name or if\n`type` is not provided and there is more then one dependency type for this\ndependency.",
            "returns": "a copy (cannot be modified) or undefined if there is no match",
            "stability": "experimental",
            "summary": "Returns a dependency by name."
          },
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 115
          },
          "name": "tryGetDependency",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the dependency."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "If this dependency is defined only for a\nsingle type, this argument can be omitted.",
                "summary": "The dependency type."
              },
              "name": "type",
              "optional": true,
              "type": {
                "fqn": "projen.DependencyType"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        }
      ],
      "name": "Dependencies",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "The project-relative path of the deps manifest file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 22
          },
          "name": "MANIFEST_FILE",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "The list is sorted by type->name->version",
            "stability": "experimental",
            "summary": "A copy of all dependencies recorded for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 73
          },
          "name": "all",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Dependency"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/dependencies:Dependencies"
    },
    "projen.Dependency": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Represents a project dependency."
      },
      "fqn": "projen.Dependency",
      "interfaces": [
        "projen.DependencyCoordinates"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 366
      },
      "name": "Dependency",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Which type of dependency this is (runtime, build-time, etc)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 370
          },
          "name": "type",
          "type": {
            "fqn": "projen.DependencyType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Additional JSON metadata associated with the dependency (package manager specific)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 377
          },
          "name": "metadata",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/dependencies:Dependency"
    },
    "projen.DependencyCoordinates": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Coordinates of the dependency (name and version)."
      },
      "fqn": "projen.DependencyCoordinates",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 346
      },
      "name": "DependencyCoordinates",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "NOTE: For package managers that use complex coordinates (like Maven), we\nwill codify it into a string somehow.",
            "stability": "experimental",
            "summary": "The package manager name of the dependency (e.g. `leftpad` for npm)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 353
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- requirement is managed by the package manager (e.g. npm/yarn).",
            "stability": "experimental",
            "summary": "Semantic version version requirement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 360
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/dependencies:DependencyCoordinates"
    },
    "projen.DependencyRequest": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Unlike adding a dependency directly,\nrequesting a dependency will intelligently merge with existing\ndependencies of the same name and type.",
        "stability": "experimental",
        "summary": "A request for a dependency."
      },
      "fqn": "projen.DependencyRequest",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 435
      },
      "name": "DependencyRequest",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The package name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 439
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- none",
            "stability": "experimental",
            "summary": "Additional metadata."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 458
          },
          "name": "metadata",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- any existing type, or DependencyType.BUILD",
            "remarks": "If not provided, an existing dependency of any type\nwill satisfy the request. If none exists, it is added as BUILD.",
            "stability": "experimental",
            "summary": "Dependency type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 452
          },
          "name": "type",
          "optional": true,
          "type": {
            "fqn": "projen.DependencyType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- any version",
            "stability": "experimental",
            "summary": "Semantic version constraint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 445
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/dependencies:DependencyRequest"
    },
    "projen.DependencyType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Type of dependency."
      },
      "fqn": "projen.DependencyType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 383
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is required for the program/library during runtime."
          },
          "name": "RUNTIME"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is required at runtime but expected to be installed by the consumer."
          },
          "name": "PEER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is bundled and shipped with the module, so consumers are not required to install it."
          },
          "name": "BUNDLED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is required to run the `build` task."
          },
          "name": "BUILD"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is required to run the `test` task."
          },
          "name": "TEST"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency is required for development (e.g. IDE plugins)."
          },
          "name": "DEVENV"
        },
        {
          "docs": {
            "remarks": "Available for Node packages",
            "stability": "experimental",
            "summary": "Transient dependency that needs to be overwritten."
          },
          "name": "OVERRIDE"
        },
        {
          "docs": {
            "remarks": "It is expected to be installed by the consumer.",
            "stability": "experimental",
            "summary": "An optional dependency that may be used at runtime if available, but is not required."
          },
          "name": "OPTIONAL"
        }
      ],
      "name": "DependencyType",
      "symbolId": "src/dependencies:DependencyType"
    },
    "projen.DepsManifest": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.DepsManifest",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dependencies.ts",
        "line": 336
      },
      "name": "DepsManifest",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "All dependencies of this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dependencies.ts",
            "line": 340
          },
          "name": "dependencies",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Dependency"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/dependencies:DepsManifest"
    },
    "projen.DevEnvironmentDockerImage": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Options for specifying the Docker image of the container."
      },
      "fqn": "projen.DevEnvironmentDockerImage",
      "kind": "class",
      "locationInModule": {
        "filename": "src/dev-env.ts",
        "line": 32
      },
      "methods": [
        {
          "docs": {
            "example": "'.gitpod.Docker'",
            "stability": "experimental",
            "summary": "The relative path of a Dockerfile that defines the container contents."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 47
          },
          "name": "fromFile",
          "parameters": [
            {
              "docs": {
                "summary": "a relative path."
              },
              "name": "dockerFile",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DevEnvironmentDockerImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "'ubuntu:latest'",
            "stability": "experimental",
            "summary": "A publicly available Docker image."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 38
          },
          "name": "fromImage",
          "parameters": [
            {
              "docs": {
                "summary": "a Docker image."
              },
              "name": "image",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DevEnvironmentDockerImage"
            }
          },
          "static": true
        }
      ],
      "name": "DevEnvironmentDockerImage",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The relative path of a Dockerfile that defines the container contents."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 59
          },
          "name": "dockerFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A publicly available Docker image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 54
          },
          "name": "image",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/dev-env:DevEnvironmentDockerImage"
    },
    "projen.DevEnvironmentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Base options for configuring a container-based development environment."
      },
      "fqn": "projen.DevEnvironmentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dev-env.ts",
        "line": 6
      },
      "name": "DevEnvironmentOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A Docker image or Dockerfile for the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 10
          },
          "name": "dockerImage",
          "optional": true,
          "type": {
            "fqn": "projen.DevEnvironmentDockerImage"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An array of ports that should be exposed from the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 20
          },
          "name": "ports",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An array of tasks that should be run when the container starts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 15
          },
          "name": "tasks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Task"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An array of extension IDs that specify the extensions that should be installed inside the container when it is created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 26
          },
          "name": "vscodeExtensions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/dev-env:DevEnvironmentOptions"
    },
    "projen.DockerCompose": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Create a docker-compose YAML file."
      },
      "fqn": "projen.DockerCompose",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/docker-compose/docker-compose.ts",
          "line": 162
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "projen.DockerComposeProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose.ts",
        "line": 55
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Create a bind volume that binds a host path to the target path in the container."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 91
          },
          "name": "bindVolume",
          "parameters": [
            {
              "docs": {
                "summary": "Host path name."
              },
              "name": "sourcePath",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Target path name."
              },
              "name": "targetPath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.IDockerComposeVolumeBinding"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "If you use this\nnamed volume in several services, the volume will be shared. In this\ncase, the volume configuration of the first-provided options are used.",
            "stability": "experimental",
            "summary": "Create a named volume and mount it to the target path."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 115
          },
          "name": "namedVolume",
          "parameters": [
            {
              "docs": {
                "summary": "Name of the volume."
              },
              "name": "volumeName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Target path."
              },
              "name": "targetPath",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "volume configuration (default: docker compose defaults)."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.DockerComposeVolumeConfig"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.IDockerComposeVolumeBinding"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "If you use this\nnamed network in several services, the network will be shared. In this\ncase, the network configuration of the first-provided options are used.",
            "stability": "experimental",
            "summary": "Create a named network and mount it to the target path."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 141
          },
          "name": "network",
          "parameters": [
            {
              "docs": {
                "summary": "Name of the network."
              },
              "name": "networkName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "network configuration."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.DockerComposeNetworkConfig"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.IDockerComposeNetworkBinding"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Create a port mapping."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 71
          },
          "name": "portMapping",
          "parameters": [
            {
              "docs": {
                "summary": "Published port number."
              },
              "name": "publishedPort",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "Container's port number."
              },
              "name": "targetPort",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "Port mapping options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.DockerComposePortMappingOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DockerComposeServicePort"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Depends on a service name."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 59
          },
          "name": "serviceName",
          "parameters": [
            {
              "name": "serviceName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.IDockerComposeServiceName"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a service to the docker-compose file."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 190
          },
          "name": "addService",
          "parameters": [
            {
              "docs": {
                "summary": "name of the service."
              },
              "name": "serviceName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "a service description."
              },
              "name": "description",
              "type": {
                "fqn": "projen.DockerComposeServiceDescription"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DockerComposeService"
            }
          }
        }
      ],
      "name": "DockerCompose",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The Docker Compose file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 157
          },
          "name": "file",
          "type": {
            "fqn": "projen.YamlFile"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose:DockerCompose"
    },
    "projen.DockerComposeBuild": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Build arguments for creating a docker image."
      },
      "fqn": "projen.DockerComposeBuild",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose.ts",
        "line": 214
      },
      "name": "DockerComposeBuild",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Docker build context directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 218
          },
          "name": "context",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- none are provided",
            "stability": "experimental",
            "summary": "Build args."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 230
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"Dockerfile\"",
            "stability": "experimental",
            "summary": "A dockerfile to build from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 224
          },
          "name": "dockerfile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose:DockerComposeBuild"
    },
    "projen.DockerComposeNetworkConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Network configuration."
      },
      "fqn": "projen.DockerComposeNetworkConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-network.ts",
        "line": 32
      },
      "name": "DockerComposeNetworkConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Set to true to indicate that standalone containers can attach to this network, in addition to services."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 67
          },
          "name": "attachable",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Set to true to indicate that the network is a bridge network."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 49
          },
          "name": "bridge",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "stability": "experimental",
            "summary": "Driver to use for the network."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 37
          },
          "name": "driver",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "remarks": "Those options are driver-dependent - consult the driver’s documentation for more information",
            "stability": "experimental",
            "summary": "Options for the configured driver."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 43
          },
          "name": "driverOpts",
          "optional": true,
          "type": {
            "primitive": "json"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset, indicating that docker-compose creates the network",
            "stability": "experimental",
            "summary": "Set to true to indicate that the network is externally created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 61
          },
          "name": "external",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Set to true to indicate that you want to create an externally isolated overlay network."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 79
          },
          "name": "internal",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Specify custom IPAM config."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 73
          },
          "name": "ipam",
          "optional": true,
          "type": {
            "fqn": "projen.DockerComposeNetworkIpamConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Attach labels to the network."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 85
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset, indicating that docker-compose creates networks as usual",
            "stability": "experimental",
            "summary": "Name of the network for when the network name isn't going to work in YAML."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 91
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset",
            "stability": "experimental",
            "summary": "Set to true to indicate that the network is an overlay network."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 55
          },
          "name": "overlay",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-network:DockerComposeNetworkConfig"
    },
    "projen.DockerComposeNetworkIpamConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "IPAM configuration."
      },
      "fqn": "projen.DockerComposeNetworkIpamConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-network.ts",
        "line": 15
      },
      "name": "DockerComposeNetworkIpamConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "stability": "experimental",
            "summary": "A list with zero or more config blocks specifying custom IPAM configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 26
          },
          "name": "config",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DockerComposeNetworkIpamSubnetConfig"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "stability": "experimental",
            "summary": "Driver to use for custom IPAM config."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 20
          },
          "name": "driver",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-network:DockerComposeNetworkIpamConfig"
    },
    "projen.DockerComposeNetworkIpamSubnetConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "IPAM subnet configuration."
      },
      "fqn": "projen.DockerComposeNetworkIpamSubnetConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-network.ts",
        "line": 4
      },
      "name": "DockerComposeNetworkIpamSubnetConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "stability": "experimental",
            "summary": "Subnet in CIDR format that represents a network segment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 9
          },
          "name": "subnet",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-network:DockerComposeNetworkIpamSubnetConfig"
    },
    "projen.DockerComposePortMappingOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for port mappings."
      },
      "fqn": "projen.DockerComposePortMappingOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-port.ts",
        "line": 4
      },
      "name": "DockerComposePortMappingOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "DockerComposeProtocol.TCP",
            "stability": "experimental",
            "summary": "Port mapping protocol."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-port.ts",
            "line": 9
          },
          "name": "protocol",
          "optional": true,
          "type": {
            "fqn": "projen.DockerComposeProtocol"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-port:DockerComposePortMappingOptions"
    },
    "projen.DockerComposeProps": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Props for DockerCompose."
      },
      "fqn": "projen.DockerComposeProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose.ts",
        "line": 30
      },
      "name": "DockerComposeProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no name is added",
            "example": "'myname' yields 'docker-compose.myname.yml'",
            "stability": "experimental",
            "summary": "A name to add to the docker-compose.yml filename."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 36
          },
          "name": "nameSuffix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no version is provided",
            "deprecated": "- The top level `version` field is obsolete per the Compose Specification.\n{@link https://github.com/compose-spec/compose-spec/blob/master/spec.md#version-and-name-top-level-elements Compose Specification}",
            "stability": "deprecated",
            "summary": "Docker Compose schema version do be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 44
          },
          "name": "schemaVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Service descriptions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose.ts",
            "line": 49
          },
          "name": "services",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DockerComposeServiceDescription"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose:DockerComposeProps"
    },
    "projen.DockerComposeProtocol": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Network protocol for port mapping."
      },
      "fqn": "projen.DockerComposeProtocol",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-port.ts",
        "line": 40
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "TCP protocol."
          },
          "name": "TCP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "UDP protocol."
          },
          "name": "UDP"
        }
      ],
      "name": "DockerComposeProtocol",
      "symbolId": "src/docker-compose/docker-compose-port:DockerComposeProtocol"
    },
    "projen.DockerComposeService": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "A docker-compose service."
      },
      "fqn": "projen.DockerComposeService",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/docker-compose/docker-compose-service.ts",
          "line": 88
        },
        "parameters": [
          {
            "docs": {
              "summary": "The name of the docker compose service."
            },
            "name": "serviceName",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "serviceDescription",
            "type": {
              "fqn": "projen.DockerComposeServiceDescription"
            }
          }
        ]
      },
      "interfaces": [
        "projen.IDockerComposeServiceName"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-service.ts",
        "line": 23
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Make the service depend on another service."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 145
          },
          "name": "addDependsOn",
          "parameters": [
            {
              "name": "serviceName",
              "type": {
                "fqn": "projen.IDockerComposeServiceName"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add an environment variable."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 137
          },
          "name": "addEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "environment variable name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "value of the environment variable."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a label."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 170
          },
          "name": "addLabel",
          "parameters": [
            {
              "docs": {
                "summary": "environment variable name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "value of the environment variable."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a network to the service."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 161
          },
          "name": "addNetwork",
          "parameters": [
            {
              "name": "network",
              "type": {
                "fqn": "projen.IDockerComposeNetworkBinding"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a port mapping."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 122
          },
          "name": "addPort",
          "parameters": [
            {
              "docs": {
                "summary": "Published port number."
              },
              "name": "publishedPort",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "Container's port number."
              },
              "name": "targetPort",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "Port mapping options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.DockerComposePortMappingOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a volume to the service."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 153
          },
          "name": "addVolume",
          "parameters": [
            {
              "name": "volume",
              "type": {
                "fqn": "projen.IDockerComposeVolumeBinding"
              }
            }
          ]
        }
      ],
      "name": "DockerComposeService",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Other services that this service depends on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 52
          },
          "name": "dependsOn",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeServiceName"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 72
          },
          "name": "environment",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Attached labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 77
          },
          "name": "labels",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Networks mounted in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 62
          },
          "name": "networks",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeNetworkBinding"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Published ports."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 67
          },
          "name": "ports",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DockerComposeServicePort"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Name of the service."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 27
          },
          "name": "serviceName",
          "overrides": "projen.IDockerComposeServiceName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Volumes mounted in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 57
          },
          "name": "volumes",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeVolumeBinding"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Command to run in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 42
          },
          "name": "command",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Entrypoint to run in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 47
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Docker image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 32
          },
          "name": "image",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Docker image build instructions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 37
          },
          "name": "imageBuild",
          "optional": true,
          "type": {
            "fqn": "projen.DockerComposeBuild"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Target platform."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 81
          },
          "name": "platform",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Run in privileged mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 86
          },
          "name": "privileged",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-service:DockerComposeService"
    },
    "projen.DockerComposeServiceDescription": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Description of a docker-compose.yml service."
      },
      "fqn": "projen.DockerComposeServiceDescription",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-service.ts",
        "line": 178
      },
      "name": "DockerComposeServiceDescription",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- use the container's default command",
            "stability": "experimental",
            "summary": "Provide a command to the docker container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 197
          },
          "name": "command",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no dependencies",
            "stability": "experimental",
            "summary": "Names of other services this service depends on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 208
          },
          "name": "dependsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeServiceName"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Entrypoint to run in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 202
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment variables are provided",
            "stability": "experimental",
            "summary": "Add environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 234
          },
          "name": "environment",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Note: You must specify either `build` or `image` key.",
            "see": "imageBuild",
            "stability": "experimental",
            "summary": "Use a docker image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 184
          },
          "name": "image",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Note: You must specify either `imageBuild` or `image` key.",
            "see": "image",
            "stability": "experimental",
            "summary": "Build a docker image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 191
          },
          "name": "imageBuild",
          "optional": true,
          "type": {
            "fqn": "projen.DockerComposeBuild"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no labels are provided",
            "stability": "experimental",
            "summary": "Add labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 240
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "DockerCompose.network () to create & mount a named network",
            "stability": "experimental",
            "summary": "Add some networks to the service."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 222
          },
          "name": "networks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeNetworkBinding"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no platform is provided",
            "stability": "experimental",
            "summary": "Add platform."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 245
          },
          "name": "platform",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no ports are mapped",
            "stability": "experimental",
            "summary": "Map some ports."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 228
          },
          "name": "ports",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DockerComposeServicePort"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no privileged mode flag is provided",
            "stability": "experimental",
            "summary": "Run in privileged mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 251
          },
          "name": "privileged",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use one of the following to create volumes:",
            "see": "DockerCompose.namedVolume () to create & mount a named volume",
            "stability": "experimental",
            "summary": "Mount some volumes into the service."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 216
          },
          "name": "volumes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.IDockerComposeVolumeBinding"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-service:DockerComposeServiceDescription"
    },
    "projen.DockerComposeServicePort": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A service port mapping."
      },
      "fqn": "projen.DockerComposeServicePort",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-port.ts",
        "line": 15
      },
      "name": "DockerComposeServicePort",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Port mapping mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-port.ts",
            "line": 34
          },
          "name": "mode",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Network protocol."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-port.ts",
            "line": 29
          },
          "name": "protocol",
          "type": {
            "fqn": "projen.DockerComposeProtocol"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Published port number."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-port.ts",
            "line": 19
          },
          "name": "published",
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Target port number."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-port.ts",
            "line": 24
          },
          "name": "target",
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-port:DockerComposeServicePort"
    },
    "projen.DockerComposeVolumeConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Volume configuration."
      },
      "fqn": "projen.DockerComposeVolumeConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-volume.ts",
        "line": 4
      },
      "name": "DockerComposeVolumeConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- value is not provided",
            "stability": "experimental",
            "summary": "Driver to use for the volume."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 9
          },
          "name": "driver",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options to provide to the driver."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 14
          },
          "name": "driverOpts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset, indicating that docker-compose creates the volume",
            "stability": "experimental",
            "summary": "Set to true to indicate that the volume is externally created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 20
          },
          "name": "external",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- unset, indicating that docker-compose creates volumes as usual",
            "stability": "experimental",
            "summary": "Name of the volume for when the volume name isn't going to work in YAML."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 26
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-volume:DockerComposeVolumeConfig"
    },
    "projen.DockerComposeVolumeMount": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Service volume mounting information."
      },
      "fqn": "projen.DockerComposeVolumeMount",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-volume.ts",
        "line": 60
      },
      "name": "DockerComposeVolumeMount",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Volume source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 69
          },
          "name": "source",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Volume target."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 74
          },
          "name": "target",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Type of volume."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 64
          },
          "name": "type",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-volume:DockerComposeVolumeMount"
    },
    "projen.EndOfLine": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The end of line characters supported by git."
      },
      "fqn": "projen.EndOfLine",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitattributes.ts",
        "line": 8
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maintain existing (mixed values within one file are normalised by looking at what's used after the first line)."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Carriage Return + Line Feed characters (\\r\\n), common on Windows."
          },
          "name": "CRLF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos."
          },
          "name": "LF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Disable and do not configure the end of line character."
          },
          "name": "NONE"
        }
      ],
      "name": "EndOfLine",
      "symbolId": "src/gitattributes:EndOfLine"
    },
    "projen.FileBase": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.FileBase",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/file.ts",
          "line": 103
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.FileBaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/file.ts",
        "line": 56
      },
      "methods": [
        {
          "docs": {
            "default": "3",
            "remarks": "Only available after synthesis.\n\nThis is an expensive operation and should only be used on non time-critical\ncode paths, like debug output.",
            "returns": "the diff as an array of lines, or `undefined` if the file was\nnot changed or has not been synthesized yet.",
            "stability": "experimental",
            "summary": "Returns a unified diff of the old and new file contents with context lines and hunk headers."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 247
          },
          "name": "diff",
          "parameters": [
            {
              "docs": {
                "summary": "Whether to colorize the diff output."
              },
              "name": "colorize",
              "optional": true,
              "type": {
                "primitive": "boolean"
              }
            },
            {
              "docs": {
                "summary": "Number of context lines around changes."
              },
              "name": "contextLines",
              "optional": true,
              "type": {
                "primitive": "number"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Writes the file to the project's output directory."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 162
          },
          "name": "synthesize",
          "overrides": "projen.Component"
        },
        {
          "abstract": true,
          "docs": {
            "returns": "the content to synthesize or undefined to skip the file",
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 157
          },
          "name": "synthesizeContent",
          "parameters": [
            {
              "docs": {
                "summary": "Call `resolver.resolve(obj)` on any objects in order to resolve token functions."
              },
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "FileBase",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The absolute path of this file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 80
          },
          "name": "absolutePath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indicates if the file will be committed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 75
          },
          "name": "committed",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The file path, relative to the project's outdir."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 60
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "This property is\nonly available in `postSynthesize()` hooks. If this is `undefined`, the\nfile has not been synthesized yet.",
            "stability": "experimental",
            "summary": "Indicates if the file has been changed during synthesis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 231
          },
          "name": "changed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "remarks": "Value is undefined if the project is being ejected.",
            "stability": "experimental",
            "summary": "The projen marker, used to identify files as projen-generated."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 92
          },
          "name": "marker",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indicates if the file should be marked as executable."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 70
          },
          "name": "executable",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indicates if the file should be read-only or read-write."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 65
          },
          "name": "readonly",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/file:FileBase"
    },
    "projen.FileBaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.FileBaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/file.ts",
        "line": 18
      },
      "name": "FileBaseOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "By\ndefault, all generated files are committed and anti-tamper is used to\nprotect against manual modifications.",
            "stability": "experimental",
            "summary": "Indicates whether this file should be committed to git or ignored."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 26
          },
          "name": "committed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Update the project's .gitignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 32
          },
          "name": "editGitignore",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether the generated file should be marked as executable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 46
          },
          "name": "executable",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- marker will be included as long as the project is not ejected",
            "stability": "experimental",
            "summary": "Adds the projen marker to the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 53
          },
          "name": "marker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether the generated file should be readonly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 39
          },
          "name": "readonly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/file:FileBaseOptions"
    },
    "projen.FutureComponent": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Like a regular component, but constructed without a project. It improves on a\nnaive deferred component in three ways:\n\n- Use-before-attach is an error, not a silent footgun. The constructor hands\n  the caller a guard proxy; touching `project`, `node`, `synthesize()` or any\n  subclass feature before `attach()` throws.\n- No global shadow-tree leak. Each instance gets its own throwaway shadow\n  root, so detached components never share an id counter and the root becomes\n  garbage once the component is reparented on attach.\n- `attach()` returns the unwrapped component, so callers can opt out of the\n  proxy entirely.\n\nThe constructor takes no arguments (`super()`). A subclass that needs options\ncaptures them itself, reading the local parameter inside its constructor - NOT\n`this.options`, which the guard blocks until attach.\n\n```ts\nclass Worker extends FutureComponent {\n  private readonly options: WorkerOptions;\n  constructor(options: WorkerOptions = {}) {\n    super();\n    this.options = options; // set: allowed\n  }\n  protected init() {\n    // this.project is available here\n  }\n}\n\nconst w = new Worker({ retries: 3 });\n// w.project;                  // throws: not attached yet\nconst real = w.attach(project); // reparents, runs init(), returns the bare instance\n```",
        "stability": "experimental",
        "summary": "A {@link Component} that is created *detached* from any project and attached to one later via {@link FutureComponent.attach}."
      },
      "fqn": "projen.FutureComponent",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/component.ts",
          "line": 209
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/component.ts",
        "line": 205
      },
      "methods": [
        {
          "docs": {
            "remarks": "Returns the real, unwrapped component (not the proxy). A component may be\nattached exactly once; attaching an already-attached component throws (copy\nit first to attach a variant elsewhere). Use `tryAttach()` if you don't care\nwhether it has already been attached.",
            "stability": "experimental",
            "summary": "Attach the component to a scope. Only now does it become usable."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 248
          },
          "name": "attach",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.IConstruct"
              }
            },
            {
              "name": "id",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.FutureComponent"
            }
          }
        },
        {
          "docs": {
            "remarks": "Runs once, from `attach()`, when `this.project` is\nfinally available.",
            "stability": "experimental",
            "summary": "Project-dependent setup."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 238
          },
          "name": "init",
          "protected": true
        },
        {
          "docs": {
            "remarks": "Unlike `attach()`, never throws on an already-attached component: if attached\nanywhere at all, the existing instance is returned and `scope` is ignored.\nUse `attach()` when attaching to a specific scope is part of your contract\nand a pre-existing attachment elsewhere would be a bug.",
            "stability": "experimental",
            "summary": "Attach the component if it isn't already, without caring *where*."
          },
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 294
          },
          "name": "tryAttach",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.IConstruct"
              }
            },
            {
              "name": "id",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.FutureComponent"
            }
          }
        }
      ],
      "name": "FutureComponent",
      "properties": [
        {
          "docs": {
            "remarks": "A convenience for tests/introspection;\nprefer `tryAttach()` over reading this and branching.",
            "stability": "experimental",
            "summary": "Whether `attach()` has been called."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/component.ts",
            "line": 230
          },
          "name": "attached",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/component:FutureComponent"
    },
    "projen.GitAttributesFile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "see": "https://git-scm.com/docs/gitattributes",
        "stability": "experimental",
        "summary": "Assign attributes to file names in a git repository."
      },
      "fqn": "projen.GitAttributesFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/gitattributes.ts",
          "line": 58
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.GitAttributesFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/gitattributes.ts",
        "line": 50
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maps a set of attributes to a set of files."
          },
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 83
          },
          "name": "addAttributes",
          "parameters": [
            {
              "docs": {
                "summary": "Glob pattern to match files in the repo."
              },
              "name": "glob",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Attributes to assign to these files."
              },
              "name": "attributes",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add attributes necessary to mark these files as stored in LFS."
          },
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 125
          },
          "name": "addLfsPattern",
          "parameters": [
            {
              "name": "glob",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 138
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        },
        {
          "docs": {
            "remarks": "If no attributes are provided, the glob pattern will be removed completely.",
            "stability": "experimental",
            "summary": "Removes attributes from a set of files."
          },
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 102
          },
          "name": "removeAttributes",
          "parameters": [
            {
              "docs": {
                "summary": "Glob pattern to modify."
              },
              "name": "glob",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Attributes to remove from matched files."
              },
              "name": "attributes",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 144
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "GitAttributesFile",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The default end of line character for text files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 56
          },
          "name": "endOfLine",
          "type": {
            "fqn": "projen.EndOfLine"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether the current gitattributes file has any LFS patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 132
          },
          "name": "hasLfsPatterns",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/gitattributes:GitAttributesFile"
    },
    "projen.GitAttributesFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `GitAttributesFile`."
      },
      "fqn": "projen.GitAttributesFileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitattributes.ts",
        "line": 34
      },
      "name": "GitAttributesFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "EndOfLine.LF",
            "remarks": "endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations. Hence, it can avoid simple repository mutations consisting only of changes in the end of line characters. It will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line. Can be disabled by setting explicitly: `{ endOfLine: EndOfLine.NONE }`.",
            "stability": "experimental",
            "summary": "The default end of line character for text files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitattributes.ts",
            "line": 42
          },
          "name": "endOfLine",
          "optional": true,
          "type": {
            "fqn": "projen.EndOfLine"
          }
        }
      ],
      "symbolId": "src/gitattributes:GitAttributesFileOptions"
    },
    "projen.GitOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Git configuration options."
      },
      "fqn": "projen.GitOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/project.ts",
        "line": 152
      },
      "name": "GitOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "EndOfLine.LF",
            "remarks": "endOfLine it's useful to keep the same end of line between Windows and Unix operative systems for git checking/checkout operations.\nHence, it can avoid simple repository mutations consisting only of changes in the end of line characters.\nIt will be set in the first line of the .gitattributes file to make it the first match with high priority but it can be overriden in a later line.\nCan be disabled by setting: `endOfLine: EndOfLine.NONE`.",
            "stability": "experimental",
            "summary": "The default end of line character for text files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 170
          },
          "name": "endOfLine",
          "optional": true,
          "type": {
            "fqn": "projen.EndOfLine"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- No files stored in LFS",
            "stability": "experimental",
            "summary": "File patterns to mark as stored in Git LFS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 158
          },
          "name": "lfsPatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/project:GitOptions"
    },
    "projen.Gitpod": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "The Gitpod component which emits .gitpod.yml."
      },
      "fqn": "projen.Gitpod",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/gitpod.ts",
          "line": 293
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.GitpodOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.IDevEnvironment"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 281
      },
      "methods": [
        {
          "docs": {
            "remarks": "By default, all tasks will be run in parallel. To run tasks in sequence,\ncreate a new `Task` and set the other tasks as subtasks.",
            "stability": "experimental",
            "summary": "Add a task with more granular options."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 379
          },
          "name": "addCustomTask",
          "parameters": [
            {
              "docs": {
                "summary": "The task parameters."
              },
              "name": "options",
              "type": {
                "fqn": "projen.GitpodTask"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a custom Docker image or Dockerfile for the container."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 339
          },
          "name": "addDockerImage",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The Docker image."
              },
              "name": "image",
              "type": {
                "fqn": "projen.DevEnvironmentDockerImage"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add ports that should be exposed (forwarded) from the container."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 396
          },
          "name": "addPorts",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The new ports."
              },
              "name": "ports",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a prebuilds configuration for the Gitpod App."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 367
          },
          "name": "addPrebuilds",
          "parameters": [
            {
              "docs": {
                "summary": "The configuration."
              },
              "name": "config",
              "type": {
                "fqn": "projen.GitpodPrebuilds"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "By default, all tasks will be run in parallel. To run tasks in sequence,\ncreate a new `Task` and specify the other tasks as subtasks.",
            "stability": "experimental",
            "summary": "Add tasks to run when gitpod starts."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 354
          },
          "name": "addTasks",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The new tasks."
              },
              "name": "tasks",
              "type": {
                "fqn": "projen.Task"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "example": "'scala-lang.scala@0.3.9:O5XmjwY5Gz+0oDZAmqneJw=='",
            "remarks": "These must be in the format defined in the Open VSX registry.",
            "see": "https://www.gitpod.io/docs/vscode-extensions/",
            "stability": "experimental",
            "summary": "Add a list of VSCode extensions that should be automatically installed in the container."
          },
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 410
          },
          "name": "addVscodeExtensions",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The extension IDs."
              },
              "name": "extensions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "Gitpod",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Direct access to the gitpod configuration (escape hatch)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 291
          },
          "name": "config",
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/gitpod:Gitpod"
    },
    "projen.GitpodOnOpen": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "What to do when a service on a port is detected."
      },
      "fqn": "projen.GitpodOnOpen",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 141
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Open a new browser tab."
          },
          "name": "OPEN_BROWSER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Open a preview on the right side of the IDE."
          },
          "name": "OPEN_PREVIEW"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show a notification asking the user what to do (default)."
          },
          "name": "NOTIFY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Do nothing."
          },
          "name": "IGNORE"
        }
      ],
      "name": "GitpodOnOpen",
      "symbolId": "src/gitpod:GitpodOnOpen"
    },
    "projen.GitpodOpenIn": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Configure where in the IDE the terminal should be opened."
      },
      "fqn": "projen.GitpodOpenIn",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 56
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "the bottom panel (default)."
          },
          "name": "BOTTOM"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "the left panel."
          },
          "name": "LEFT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "the right panel."
          },
          "name": "RIGHT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "the main editor area."
          },
          "name": "MAIN"
        }
      ],
      "name": "GitpodOpenIn",
      "symbolId": "src/gitpod:GitpodOpenIn"
    },
    "projen.GitpodOpenMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Configure how the terminal should be opened relative to the previous task."
      },
      "fqn": "projen.GitpodOpenMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 26
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Opens in the same tab group right after the previous tab."
          },
          "name": "TAB_AFTER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Opens in the same tab group left before the previous tab."
          },
          "name": "TAB_BEFORE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Splits and adds the terminal to the right."
          },
          "name": "SPLIT_RIGHT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Splits and adds the terminal to the left."
          },
          "name": "SPLIT_LEFT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Splits and adds the terminal to the top."
          },
          "name": "SPLIT_TOP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Splits and adds the terminal to the bottom."
          },
          "name": "SPLIT_BOTTOM"
        }
      ],
      "name": "GitpodOpenMode",
      "symbolId": "src/gitpod:GitpodOpenMode"
    },
    "projen.GitpodOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "By default, Gitpod uses the 'gitpod/workspace-full' docker image.",
        "see": "https://github.com/gitpod-io/workspace-images/blob/master/full/Dockerfile\n\nBy default, all tasks will be run in parallel. To run the tasks in sequence,\ncreate a new task and specify the other tasks as subtasks.",
        "stability": "experimental",
        "summary": "Constructor options for the Gitpod component."
      },
      "fqn": "projen.GitpodOptions",
      "interfaces": [
        "projen.DevEnvironmentOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 268
      },
      "name": "GitpodOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Optional Gitpod's Github App integration for prebuilds If this is not set and Gitpod's Github App is installed, then Gitpod will apply these defaults: https://www.gitpod.io/docs/prebuilds/#configure-the-github-app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 275
          },
          "name": "prebuilds",
          "optional": true,
          "type": {
            "fqn": "projen.GitpodPrebuilds"
          }
        }
      ],
      "symbolId": "src/gitpod:GitpodOptions"
    },
    "projen.GitpodPort": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for an exposed port on Gitpod."
      },
      "fqn": "projen.GitpodPort",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 181
      },
      "name": "GitpodPort",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "GitpodOnOpen.NOTIFY",
            "stability": "experimental",
            "summary": "What to do when a service on a port is detected."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 194
          },
          "name": "onOpen",
          "optional": true,
          "type": {
            "fqn": "projen.GitpodOnOpen"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"8080\"",
            "stability": "experimental",
            "summary": "A port that should be exposed (forwarded) from the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 187
          },
          "name": "port",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "GitpodPortVisibility.PUBLIC",
            "stability": "experimental",
            "summary": "Whether the port visibility should be private or public."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 201
          },
          "name": "visibility",
          "optional": true,
          "type": {
            "fqn": "projen.GitpodPortVisibility"
          }
        }
      ],
      "symbolId": "src/gitpod:GitpodPort"
    },
    "projen.GitpodPortVisibility": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Whether the port visibility should be private or public."
      },
      "fqn": "projen.GitpodPortVisibility",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 166
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Allows everyone with the port URL to access the port (default)."
          },
          "name": "PUBLIC"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only allows users with workspace access to access the port."
          },
          "name": "PRIVATE"
        }
      ],
      "name": "GitpodPortVisibility",
      "symbolId": "src/gitpod:GitpodPortVisibility"
    },
    "projen.GitpodPrebuilds": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Currently only GitHub is supported.",
        "see": "https://www.gitpod.io/docs/prebuilds/",
        "stability": "experimental",
        "summary": "Configure the Gitpod App for prebuilds."
      },
      "fqn": "projen.GitpodPrebuilds",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 209
      },
      "name": "GitpodPrebuilds",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add a \"Review in Gitpod\" button to the pull request's description."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 250
          },
          "name": "addBadge",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Add a check to pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 238
          },
          "name": "addCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add a \"Review in Gitpod\" button as a comment to pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 244
          },
          "name": "addComment",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add a label once the prebuild is ready to pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 256
          },
          "name": "addLabel",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable for all branches in this repo."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 220
          },
          "name": "branches",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable for the master/default branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 214
          },
          "name": "master",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable for pull requests coming from this repo."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 226
          },
          "name": "pullRequests",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable for pull requests coming from forks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 232
          },
          "name": "pullRequestsFromForks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/gitpod:GitpodPrebuilds"
    },
    "projen.GitpodTask": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Start Mode         | Execution\nFresh Workspace    | before && init && command\nRestart Workspace  | before && command\nSnapshot           | before && command\nPrebuild           | before && init && prebuild",
        "stability": "experimental",
        "summary": "Configure options for a task to be run when opening a Gitpod workspace (e.g. running tests, or starting a dev server)."
      },
      "fqn": "projen.GitpodTask",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitpod.ts",
        "line": 85
      },
      "name": "GitpodTask",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "The shell command to run",
            "stability": "experimental",
            "summary": "Required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 89
          },
          "name": "command",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "",
            "remarks": "A shell command, chained with the other task commands using `&&`.",
            "stability": "experimental",
            "summary": "In case you need to run something even before init, that is a requirement for both init and command, you can use the before property."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 117
          },
          "name": "before",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "",
            "remarks": "Such tasks are usually builds or downloading\ndependencies. Anything you only want to do once but not when you restart a workspace or start a snapshot.",
            "stability": "experimental",
            "summary": "The init property can be used to specify shell commands that should only be executed after a workspace was freshly cloned and needs to be initialized somehow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 125
          },
          "name": "init",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- task names are omitted when blank",
            "stability": "experimental",
            "summary": "A name for this task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 95
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "GitpodOpenIn.BOTTOM",
            "stability": "experimental",
            "summary": "You can configure where in the IDE the terminal should be opened."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 107
          },
          "name": "openIn",
          "optional": true,
          "type": {
            "fqn": "projen.GitpodOpenIn"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "GitpodOpenMode.TAB_AFTER",
            "stability": "experimental",
            "summary": "You can configure how the terminal should be opened relative to the previous task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 101
          },
          "name": "openMode",
          "optional": true,
          "type": {
            "fqn": "projen.GitpodOpenMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "",
            "remarks": "It is meant to run additional long running\nprocesses that could be useful, e.g. running test suites.\n\nA shell command, chained with the other task commands using `&&`.",
            "stability": "experimental",
            "summary": "The optional prebuild command will be executed during prebuilds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitpod.ts",
            "line": 135
          },
          "name": "prebuild",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitpod:GitpodTask"
    },
    "projen.GroupRunnerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.GroupRunnerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/runner-options.ts",
        "line": 1
      },
      "name": "GroupRunnerOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 2
          },
          "name": "group",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 3
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/runner-options:GroupRunnerOptions"
    },
    "projen.ICompareString": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.ICompareString",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/compare.ts",
        "line": 1
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "returns": "It is expected to return a negative value if the first argument is less than the second argument, zero if they're equal, and a positive value otherwise.",
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/compare.ts",
            "line": 8
          },
          "name": "compare",
          "parameters": [
            {
              "docs": {
                "summary": "The first string."
              },
              "name": "a",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The second string."
              },
              "name": "b",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "number"
            }
          }
        }
      ],
      "name": "ICompareString",
      "symbolId": "src/compare:ICompareString"
    },
    "projen.IDevEnvironment": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Abstract interface for container-based development environments, such as Gitpod and GitHub Codespaces."
      },
      "fqn": "projen.IDevEnvironment",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dev-env.ts",
        "line": 68
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Add a custom Docker image or Dockerfile for the container."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 74
          },
          "name": "addDockerImage",
          "parameters": [
            {
              "docs": {
                "summary": "The Docker image."
              },
              "name": "image",
              "type": {
                "fqn": "projen.DevEnvironmentDockerImage"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds ports that should be exposed (forwarded) from the container."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 88
          },
          "name": "addPorts",
          "parameters": [
            {
              "docs": {
                "summary": "The new ports."
              },
              "name": "ports",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds tasks to run when the container starts."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 81
          },
          "name": "addTasks",
          "parameters": [
            {
              "docs": {
                "summary": "The new tasks."
              },
              "name": "tasks",
              "type": {
                "fqn": "projen.Task"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds a list of VSCode extensions that should be automatically installed in the container."
          },
          "locationInModule": {
            "filename": "src/dev-env.ts",
            "line": 96
          },
          "name": "addVscodeExtensions",
          "parameters": [
            {
              "docs": {
                "summary": "The extension IDs."
              },
              "name": "extensions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "IDevEnvironment",
      "symbolId": "src/dev-env:IDevEnvironment"
    },
    "projen.IDockerComposeNetworkBinding": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Network binding information."
      },
      "fqn": "projen.IDockerComposeNetworkBinding",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-network.ts",
        "line": 97
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "returns": "the service name",
            "stability": "experimental",
            "summary": "Binds the requested network to the docker-compose network configuration and provide mounting instructions for synthesis."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 104
          },
          "name": "bind",
          "parameters": [
            {
              "docs": {
                "summary": "the network configuration."
              },
              "name": "networkConfig",
              "type": {
                "fqn": "projen.IDockerComposeNetworkConfig"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "IDockerComposeNetworkBinding",
      "symbolId": "src/docker-compose/docker-compose-network:IDockerComposeNetworkBinding"
    },
    "projen.IDockerComposeNetworkConfig": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Storage for network configuration."
      },
      "fqn": "projen.IDockerComposeNetworkConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-network.ts",
        "line": 110
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Add network configuration to the repository."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-network.ts",
            "line": 116
          },
          "name": "addNetworkConfiguration",
          "parameters": [
            {
              "name": "networkName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "configuration",
              "type": {
                "fqn": "projen.DockerComposeNetworkConfig"
              }
            }
          ]
        }
      ],
      "name": "IDockerComposeNetworkConfig",
      "symbolId": "src/docker-compose/docker-compose-network:IDockerComposeNetworkConfig"
    },
    "projen.IDockerComposeServiceName": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "An interface providing the name of a docker compose service."
      },
      "fqn": "projen.IDockerComposeServiceName",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-service.ts",
        "line": 13
      },
      "name": "IDockerComposeServiceName",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the docker compose service."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-service.ts",
            "line": 17
          },
          "name": "serviceName",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/docker-compose/docker-compose-service:IDockerComposeServiceName"
    },
    "projen.IDockerComposeVolumeBinding": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Volume binding information."
      },
      "fqn": "projen.IDockerComposeVolumeBinding",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-volume.ts",
        "line": 32
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "returns": "mounting instructions for the service.",
            "stability": "experimental",
            "summary": "Binds the requested volume to the docker-compose volume configuration and provide mounting instructions for synthesis."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 39
          },
          "name": "bind",
          "parameters": [
            {
              "docs": {
                "summary": "the volume configuration."
              },
              "name": "volumeConfig",
              "type": {
                "fqn": "projen.IDockerComposeVolumeConfig"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.DockerComposeVolumeMount"
            }
          }
        }
      ],
      "name": "IDockerComposeVolumeBinding",
      "symbolId": "src/docker-compose/docker-compose-volume:IDockerComposeVolumeBinding"
    },
    "projen.IDockerComposeVolumeConfig": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Storage for volume configuration."
      },
      "fqn": "projen.IDockerComposeVolumeConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/docker-compose/docker-compose-volume.ts",
        "line": 45
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Add volume configuration to the repository."
          },
          "locationInModule": {
            "filename": "src/docker-compose/docker-compose-volume.ts",
            "line": 51
          },
          "name": "addVolumeConfiguration",
          "parameters": [
            {
              "name": "volumeName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "configuration",
              "type": {
                "fqn": "projen.DockerComposeVolumeConfig"
              }
            }
          ]
        }
      ],
      "name": "IDockerComposeVolumeConfig",
      "symbolId": "src/docker-compose/docker-compose-volume:IDockerComposeVolumeConfig"
    },
    "projen.IResolvable": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.IResolvable",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/file.ts",
        "line": 291
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Resolves and returns content."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 295
          },
          "name": "toJSON",
          "returns": {
            "type": {
              "primitive": "any"
            }
          }
        }
      ],
      "name": "IResolvable",
      "symbolId": "src/file:IResolvable"
    },
    "projen.IResolver": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "API for resolving tokens when synthesizing file content."
      },
      "fqn": "projen.IResolver",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/file.ts",
        "line": 264
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "package": "options Resolve options"
            },
            "stability": "experimental",
            "summary": "Given a value (object/string/array/whatever, looks up any functions inside the object and returns an object where all functions are called."
          },
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 271
          },
          "name": "resolve",
          "parameters": [
            {
              "docs": {
                "summary": "The value to resolve."
              },
              "name": "value",
              "type": {
                "primitive": "any"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.ResolveOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "any"
            }
          }
        }
      ],
      "name": "IResolver",
      "symbolId": "src/file:IResolver"
    },
    "projen.IScriptRunner": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "A script runner that can produce the configuration to execute a file of a particular type."
      },
      "fqn": "projen.IScriptRunner",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/script-runner.ts",
        "line": 24
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Produce the configuration to run the given entrypoint."
          },
          "locationInModule": {
            "filename": "src/script-runner.ts",
            "line": 28
          },
          "name": "configFor",
          "parameters": [
            {
              "name": "entrypoint",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.RunScriptConfig"
            }
          }
        }
      ],
      "name": "IScriptRunner",
      "symbolId": "src/script-runner:IScriptRunner"
    },
    "projen.IgnoreFile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.IgnoreFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/ignore-file.ts",
          "line": 40
        },
        "parameters": [
          {
            "docs": {
              "summary": "The project to tie this file to."
            },
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "docs": {
              "summary": "- the relative path in the project to put the file."
            },
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.IgnoreFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/ignore-file.ts",
        "line": 29
      },
      "methods": [
        {
          "docs": {
            "remarks": "Files that match this pattern will be ignored. If the\npattern starts with a negation mark `!`, files that match will _not_ be\nignored.\n\nComment lines (start with `#`) and blank lines (\"\") are filtered by default\nbut can be included using options specified when instantiating the component.",
            "stability": "experimental",
            "summary": "Add ignore patterns."
          },
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 57
          },
          "name": "addPatterns",
          "parameters": [
            {
              "docs": {
                "summary": "Ignore patterns."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Ignore the files that match these patterns."
          },
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 109
          },
          "name": "exclude",
          "parameters": [
            {
              "docs": {
                "summary": "The patterns to match."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Always include the specified file patterns."
          },
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 117
          },
          "name": "include",
          "parameters": [
            {
              "docs": {
                "summary": "Patterns to include in git commits."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "If `addPattern()` is called after this, the pattern will be added again.",
            "stability": "experimental",
            "summary": "Removes patterns previously added from the ignore file."
          },
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 99
          },
          "name": "removePatterns",
          "parameters": [
            {
              "docs": {
                "summary": "patters to remove."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 127
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "IgnoreFile",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 31
          },
          "name": "filterCommentLines",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 32
          },
          "name": "filterEmptyLines",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/ignore-file:IgnoreFile"
    },
    "projen.IgnoreFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.IgnoreFileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/ignore-file.ts",
        "line": 6
      },
      "name": "IgnoreFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Filter out comment lines?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 12
          },
          "name": "filterCommentLines",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Filter out blank/empty lines?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 19
          },
          "name": "filterEmptyLines",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Patterns to add to the ignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/ignore-file.ts",
            "line": 26
          },
          "name": "ignorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/ignore-file:IgnoreFileOptions"
    },
    "projen.IniFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "stability": "experimental",
        "summary": "Represents an INI file."
      },
      "fqn": "projen.IniFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/ini.ts",
          "line": 16
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.IniFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/ini.ts",
        "line": 15
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/ini.ts",
            "line": 20
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "IniFile",
      "symbolId": "src/ini:IniFile"
    },
    "projen.IniFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `IniFile`."
      },
      "fqn": "projen.IniFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/ini.ts",
        "line": 10
      },
      "name": "IniFileOptions",
      "symbolId": "src/ini:IniFileOptions"
    },
    "projen.InitProject": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "It is used to generate projenrc files in various languages.",
        "stability": "experimental",
        "summary": "Information passed from `projen new` to the project object when the project is first created."
      },
      "fqn": "projen.InitProject",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/project.ts",
        "line": 716
      },
      "name": "InitProject",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Initial arguments passed to `projen new`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 725
          },
          "name": "args",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "InitProjectOptionHints.FEATURED",
            "remarks": "Does not apply to projenrc.json files.",
            "stability": "experimental",
            "summary": "Include commented out options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 736
          },
          "name": "comments",
          "type": {
            "fqn": "projen.InitProjectOptionHints"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The JSII FQN of the project type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 720
          },
          "name": "fqn",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether `projen new` should run post-synthesis steps (e.g. package manager install)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 748
          },
          "name": "post",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether `projen new` should call `project.synth()` after construction."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 742
          },
          "name": "synth",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project metadata."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 730
          },
          "name": "type",
          "type": {
            "fqn": "projen.ProjectType"
          }
        }
      ],
      "symbolId": "src/project:InitProject"
    },
    "projen.InitProjectOptionHints": {
      "assembly": "projen",
      "docs": {
        "remarks": "Does not apply to projenrc.json files.",
        "stability": "experimental",
        "summary": "Choices for how to display commented out options in projenrc files."
      },
      "fqn": "projen.InitProjectOptionHints",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/option-hints.ts",
        "line": 5
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Display all possible options (grouped by which interface they belong to)."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Display only featured options, in alphabetical order."
          },
          "name": "FEATURED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Display no extra options."
          },
          "name": "NONE"
        }
      ],
      "name": "InitProjectOptionHints",
      "symbolId": "src/option-hints:InitProjectOptionHints"
    },
    "projen.JsonFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a JSON file."
      },
      "fqn": "projen.JsonFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/json.ts",
          "line": 37
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.JsonFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/json.ts",
        "line": 26
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/json.ts",
            "line": 75
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "JsonFile",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indicates if the files supports comments."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/json.ts",
            "line": 33
          },
          "name": "supportsComments",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/json:JsonFile"
    },
    "projen.JsonFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JsonFile`."
      },
      "fqn": "projen.JsonFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/json.ts",
        "line": 9
      },
      "name": "JsonFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- false for .json files, true for .json5 and .jsonc files",
            "stability": "experimental",
            "summary": "Allow the use of comments in this file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/json.ts",
            "line": 20
          },
          "name": "allowComments",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Adds a newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/json.ts",
            "line": 14
          },
          "name": "newline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/json:JsonFileOptions"
    },
    "projen.JsonPatch": {
      "assembly": "projen",
      "docs": {
        "example": "const output = JsonPatch.apply(input,\n JsonPatch.replace('/world/hi/there', 'goodbye'),\n JsonPatch.add('/world/foo/', 'boom'),\n JsonPatch.remove('/hello'));",
        "remarks": "Use the the `JsonPatch.apply(doc, ...ops)` function to apply a set of\noperations to a JSON document and return the result.\n\nOperations can be created using the factory methods `JsonPatch.add()`,\n`JsonPatch.remove()`, etc.",
        "stability": "experimental",
        "summary": "Utility for applying RFC-6902 JSON-Patch to a document."
      },
      "fqn": "projen.JsonPatch",
      "kind": "class",
      "locationInModule": {
        "filename": "src/json-patch.ts",
        "line": 49
      },
      "methods": [
        {
          "docs": {
            "example": "JsonPatch.add('/biscuits/1', { \"name\": \"Ginger Nut\" })",
            "remarks": "In the case of an\narray, the value is inserted before the given index. The - character can be\nused instead of an index to insert at the end of an array.",
            "stability": "experimental",
            "summary": "Adds a value to an object or inserts it into an array."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 84
          },
          "name": "add",
          "parameters": [
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "primitive": "any"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "The result document",
            "stability": "experimental",
            "summary": "Applies a set of JSON-Patch (RFC-6902) operations to `document` and returns the result."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 56
          },
          "name": "apply",
          "parameters": [
            {
              "docs": {
                "summary": "The document to patch."
              },
              "name": "document",
              "type": {
                "primitive": "any"
              }
            },
            {
              "docs": {
                "summary": "The operations to apply."
              },
              "name": "ops",
              "type": {
                "fqn": "projen.JsonPatch"
              },
              "variadic": true
            }
          ],
          "returns": {
            "type": {
              "primitive": "any"
            }
          },
          "static": true,
          "variadic": true
        },
        {
          "docs": {
            "example": "JsonPatch.copy('/biscuits/0', '/best_biscuit')",
            "remarks": "Both\nfrom and path are JSON Pointers.",
            "stability": "experimental",
            "summary": "Copies a value from one location to another within the JSON document."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 121
          },
          "name": "copy",
          "parameters": [
            {
              "name": "from",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "the Escaped path",
            "stability": "experimental",
            "summary": "Escapes a json pointer path."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 162
          },
          "name": "escapePath",
          "parameters": [
            {
              "docs": {
                "summary": "The raw pointer."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "JsonPatch.move('/biscuits', '/cookies')",
            "remarks": "Both from and path are JSON Pointers.",
            "stability": "experimental",
            "summary": "Moves a value from one location to the other."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 130
          },
          "name": "move",
          "parameters": [
            {
              "name": "from",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "JsonPatch.remove('/biscuits/0')",
            "stability": "experimental",
            "summary": "Removes a value from an object or array."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 98
          },
          "name": "remove",
          "parameters": [
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "JsonPatch.replace('/biscuits/0/name', 'Chocolate Digestive')",
            "remarks": "Equivalent to a “remove” followed by an “add”.",
            "stability": "experimental",
            "summary": "Replaces a value."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 107
          },
          "name": "replace",
          "parameters": [
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "primitive": "any"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "JsonPatch.test('/best_biscuit/name', 'Choco Leibniz')",
            "remarks": "If the test fails,\nthen the patch as a whole should not apply.",
            "stability": "experimental",
            "summary": "Tests that the specified value is set in the document."
          },
          "locationInModule": {
            "filename": "src/json-patch.ts",
            "line": 140
          },
          "name": "test",
          "parameters": [
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "value",
              "type": {
                "primitive": "any"
              }
            },
            {
              "name": "failureBehavior",
              "optional": true,
              "type": {
                "fqn": "projen.TestFailureBehavior"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.JsonPatch"
            }
          },
          "static": true
        }
      ],
      "name": "JsonPatch",
      "symbolId": "src/json-patch:JsonPatch"
    },
    "projen.License": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.License",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/license.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.LicenseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/license.ts",
        "line": 33
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/license.ts",
            "line": 72
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "License",
      "symbolId": "src/license:License"
    },
    "projen.LicenseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.LicenseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/license.ts",
        "line": 6
      },
      "name": "LicenseOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "see": "https://github.com/projen/projen/tree/main/license-text for list of supported licenses",
            "stability": "experimental",
            "summary": "License type (SPDX)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/license.ts",
            "line": 12
          },
          "name": "spdx",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "-",
            "remarks": "If the license text has $copyright_owner, this option must be specified.",
            "stability": "experimental",
            "summary": "Copyright owner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/license.ts",
            "line": 21
          },
          "name": "copyrightOwner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- current year (e.g. \"2020\")",
            "remarks": "The string `$copyright_period` will be substituted with this string.",
            "stability": "experimental",
            "summary": "Period of license (e.g. \"1998-2023\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/license.ts",
            "line": 30
          },
          "name": "copyrightPeriod",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/license:LicenseOptions"
    },
    "projen.LogLevel": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Logging verbosity."
      },
      "fqn": "projen.LogLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/logger.ts",
        "line": 136
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "OFF"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ERROR"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "WARN"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INFO"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEBUG"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "VERBOSE"
        }
      ],
      "name": "LogLevel",
      "symbolId": "src/logger:LogLevel"
    },
    "projen.Logger": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Project-level logging utilities."
      },
      "fqn": "projen.Logger",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/logger.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.LoggerOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/logger.ts",
        "line": 32
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Log a message to stderr with DEBUG severity."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 87
          },
          "name": "debug",
          "parameters": [
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Log a message to stderr with ERROR severity."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 111
          },
          "name": "error",
          "parameters": [
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Log a message to stderr with INFO severity."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 95
          },
          "name": "info",
          "parameters": [
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "The message will be\nprinted as long as `logger.level` is set to the message's severity or higher.",
            "stability": "experimental",
            "summary": "Log a message to stderr with a given logging level."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 54
          },
          "name": "log",
          "parameters": [
            {
              "docs": {
                "summary": "Logging verbosity."
              },
              "name": "level",
              "type": {
                "fqn": "projen.LogLevel"
              }
            },
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Log a message to stderr with VERBOSE severity."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 79
          },
          "name": "verbose",
          "parameters": [
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Log a message to stderr with WARN severity."
          },
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 103
          },
          "name": "warn",
          "parameters": [
            {
              "docs": {
                "summary": "strings or objects to print."
              },
              "name": "text",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "Logger",
      "symbolId": "src/logger:Logger"
    },
    "projen.LoggerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for logging utilities."
      },
      "fqn": "projen.LoggerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/logger.ts",
        "line": 12
      },
      "name": "LoggerOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "LogLevel.INFO",
            "remarks": "The levels available (in increasing verbosity) are\nOFF, ERROR, WARN, INFO, DEBUG, and VERBOSE.",
            "stability": "experimental",
            "summary": "The logging verbosity."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 19
          },
          "name": "level",
          "optional": true,
          "type": {
            "fqn": "projen.LogLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Include a prefix for all logging messages with the project name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/logger.ts",
            "line": 26
          },
          "name": "usePrefix",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/logger:LoggerOptions"
    },
    "projen.Makefile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental",
        "summary": "Minimal Makefile."
      },
      "fqn": "projen.Makefile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/makefile.ts",
          "line": 74
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.MakefileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/makefile.ts",
        "line": 66
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a target to all."
          },
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 97
          },
          "name": "addAll",
          "parameters": [
            {
              "name": "target",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Makefile"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add multiple targets to all."
          },
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 105
          },
          "name": "addAlls",
          "parameters": [
            {
              "name": "targets",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Makefile"
            }
          },
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a rule to the Makefile."
          },
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 113
          },
          "name": "addRule",
          "parameters": [
            {
              "name": "rule",
              "type": {
                "fqn": "projen.Rule"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Makefile"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add multiple rules to the Makefile."
          },
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 122
          },
          "name": "addRules",
          "parameters": [
            {
              "name": "rules",
              "type": {
                "fqn": "projen.Rule"
              },
              "variadic": true
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Makefile"
            }
          },
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 135
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "Makefile",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of rule definitions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 70
          },
          "name": "rules",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Rule"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/makefile:Makefile"
    },
    "projen.MakefileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Makefiles."
      },
      "fqn": "projen.MakefileOptions",
      "interfaces": [
        "projen.FileBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/makefile.ts",
        "line": 47
      },
      "name": "MakefileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "List of targets to build when Make is invoked without specifying any targets."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 53
          },
          "name": "all",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Rules to include in the Makefile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 60
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Rule"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/makefile:MakefileOptions"
    },
    "projen.ObjectFile": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental",
        "summary": "Represents an Object file."
      },
      "fqn": "projen.ObjectFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/object-file.ts",
          "line": 57
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.ObjectFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/object-file.ts",
        "line": 35
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Syntactic sugar for `addOverride(path, undefined)`."
          },
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 231
          },
          "name": "addDeletionOverride",
          "parameters": [
            {
              "docs": {
                "summary": "The path of the value to delete."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "If the override is nested, separate each nested level using a dot (.) in the path parameter.\nIf there is an array as part of the nesting, specify the index in the path.\n\nTo include a literal `.` in the property name, prefix with a `\\`. In most\nprogramming languages you will need to write this as `\"\\\\.\"` because the\n`\\` itself will need to be escaped.\n\nFor example,\n```typescript\nproject.tsconfig.file.addOverride('compilerOptions.alwaysStrict', true);\nproject.tsconfig.file.addOverride('compilerOptions.lib', ['dom', 'dom.iterable', 'esnext']);\n```\nwould add the overrides\n```json\n\"compilerOptions\": {\n  \"alwaysStrict\": true,\n  \"lib\": [\n    \"dom\",\n    \"dom.iterable\",\n    \"esnext\"\n  ]\n  ...\n}\n...\n```",
            "stability": "experimental",
            "summary": "Adds an override to the synthesized object file."
          },
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 100
          },
          "name": "addOverride",
          "parameters": [
            {
              "docs": {
                "remarks": "Any intermediate keys\nwill be created as needed.",
                "summary": "- The path of the property, you can use dot notation to override values in complex types."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Could be primitive or complex.",
                "summary": "- The value."
              },
              "name": "value",
              "type": {
                "primitive": "any"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "If the array is nested, separate each nested level using a dot (.) in the path parameter.\nIf there is an array as part of the nesting, specify the index in the path.\n\nTo include a literal `.` in the property name, prefix with a `\\`. In most\nprogramming languages you will need to write this as `\"\\\\.\"` because the\n`\\` itself will need to be escaped.\n\nFor example, with the following object file\n```json\n\"compilerOptions\": {\n  \"exclude\": [\"node_modules\"],\n  \"lib\": [\"es2020\"]\n  ...\n}\n...\n```\n\n```typescript\nproject.tsconfig.file.addToArray('compilerOptions.exclude', 'coverage');\nproject.tsconfig.file.addToArray('compilerOptions.lib', 'dom', 'dom.iterable', 'esnext');\n```\nwould result in the following object file\n```json\n\"compilerOptions\": {\n  \"exclude\": [\"node_modules\", \"coverage\"],\n  \"lib\": [\"es2020\", \"dom\", \"dom.iterable\", \"esnext\"]\n  ...\n}\n...\n```",
            "stability": "experimental",
            "summary": "Adds to an array in the synthesized object file."
          },
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 163
          },
          "name": "addToArray",
          "parameters": [
            {
              "docs": {
                "remarks": "Any intermediate keys\nwill be created as needed.",
                "summary": "- The path of the property, you can use dot notation to att to arrays in complex types."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Could be primitive or complex.",
                "summary": "- The values to add."
              },
              "name": "values",
              "type": {
                "primitive": "any"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "For example, with the following object file\n```json\n\"compilerOptions\": {\n  \"exclude\": [\"node_modules\"],\n  \"lib\": [\"es2020\"]\n  ...\n}\n...\n```\n\n```typescript\nproject.tsconfig.file.patch(JsonPatch.add(\"/compilerOptions/exclude/-\", \"coverage\"));\nproject.tsconfig.file.patch(JsonPatch.replace(\"/compilerOptions/lib\", [\"dom\", \"dom.iterable\", \"esnext\"]));\n```\nwould result in the following object file\n```json\n\"compilerOptions\": {\n  \"exclude\": [\"node_modules\", \"coverage\"],\n  \"lib\": [\"dom\", \"dom.iterable\", \"esnext\"]\n  ...\n}\n...\n```",
            "stability": "experimental",
            "summary": "Applies an RFC 6902 JSON-patch to the synthesized object file. See https://datatracker.ietf.org/doc/html/rfc6902 for more information."
          },
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 223
          },
          "name": "patch",
          "parameters": [
            {
              "docs": {
                "summary": "- The patch operations to apply."
              },
              "name": "patches",
              "type": {
                "fqn": "projen.JsonPatch"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 235
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "ObjectFile",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indicates if empty objects and arrays are omitted from the output object."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 50
          },
          "name": "omitEmpty",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/object-file:ObjectFile"
    },
    "projen.ObjectFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `ObjectFile`."
      },
      "fqn": "projen.ObjectFileOptions",
      "interfaces": [
        "projen.FileBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/object-file.ts",
        "line": 10
      },
      "name": "ObjectFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "{} an empty object (use `file.obj` to mutate).",
            "remarks": "Serialization of the object is similar to JSON.stringify with few enhancements:\n- values that are functions will be called during synthesis and the result will be serialized - this allow to have lazy values.\n- `Set` will be converted to array\n- `Map` will be converted to a plain object ({ key: value, ... }})\n- `RegExp` without flags will be converted to string representation of the source",
            "stability": "experimental",
            "summary": "The object that will be serialized. You can modify the object's contents before synthesis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 23
          },
          "name": "obj",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Omits empty objects and arrays."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/object-file.ts",
            "line": 29
          },
          "name": "omitEmpty",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/object-file:ObjectFileOptions"
    },
    "projen.Project": {
      "assembly": "projen",
      "base": "constructs.Construct",
      "docs": {
        "stability": "experimental",
        "summary": "Base project."
      },
      "fqn": "projen.Project",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/project.ts",
          "line": 285
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.ProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/project.ts",
        "line": 175
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Test whether the given construct is a project."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 185
          },
          "name": "isProject",
          "parameters": [
            {
              "name": "x",
              "type": {
                "primitive": "any"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          },
          "static": true
        },
        {
          "docs": {
            "custom": {
              "throws": "when no project is found in the path to the root"
            },
            "remarks": "When given a project, this it the project itself.",
            "stability": "experimental",
            "summary": "Find the closest ancestor project for given construct."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 195
          },
          "name": "of",
          "parameters": [
            {
              "name": "construct",
              "type": {
                "fqn": "constructs.IConstruct"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Project"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Can be used when, for example, some\nsource files include the projen marker and we don't want them to be erased during synth.",
            "stability": "experimental",
            "summary": "Exclude the matching files from pre-synth cleanup."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 557
          },
          "name": "addExcludeFromCleanup",
          "parameters": [
            {
              "docs": {
                "summary": "The glob patterns to match."
              },
              "name": "globs",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a .gitignore pattern."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 587
          },
          "name": "addGitIgnore",
          "parameters": [
            {
              "docs": {
                "summary": "The glob pattern to ignore."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Implemented by project types based on the\npackaging mechanism. For example, `NodeProject` delegates this to `.npmignore`.",
            "stability": "experimental",
            "summary": "Exclude these files from the bundled package."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 579
          },
          "name": "addPackageIgnore",
          "parameters": [
            {
              "docs": {
                "summary": "The glob pattern to exclude."
              },
              "name": "_pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "This will fail if the project already has\na task with this name.",
            "stability": "experimental",
            "summary": "Adds a new task to this project."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 455
          },
          "name": "addTask",
          "parameters": [
            {
              "docs": {
                "summary": "The task name to add."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Task properties."
              },
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "projen.TaskOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Task"
            }
          }
        },
        {
          "docs": {
            "remarks": "This method is implemented by\nderived classes and used for example, to add git attributes to tell GitHub\nthat certain files are generated.",
            "stability": "experimental",
            "summary": "Consider a set of files as \"generated\"."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 598
          },
          "name": "annotateGenerated",
          "parameters": [
            {
              "docs": {
                "summary": "the glob pattern to match (could be a file path)."
              },
              "name": "_glob",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Order is *not* guaranteed.",
            "stability": "experimental",
            "summary": "Called after all components are synthesized."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 709
          },
          "name": "postSynthesize"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before all components are synthesized."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 704
          },
          "name": "preSynthesize"
        },
        {
          "docs": {
            "returns": "The `Task` that was removed, otherwise `undefined`.",
            "stability": "experimental",
            "summary": "Removes a task from a project."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 466
          },
          "name": "removeTask",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the task to remove."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.Task"
            }
          }
        },
        {
          "docs": {
            "remarks": "By default, this is `npx projen@<version> <task>`",
            "stability": "experimental",
            "summary": "Returns the shell command to execute in order to run a task."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 568
          },
          "name": "runTaskCommand",
          "parameters": [
            {
              "docs": {
                "summary": "The task for which the command is required."
              },
              "name": "task",
              "type": {
                "fqn": "projen.Task"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        },
        {
          "docs": {
            "remarks": "1. Call \"this.preSynthesize()\"\n2. Delete all generated files\n3. Synthesize all subprojects\n4. Synthesize all components of this project\n5. Call \"projectCreation()\" for all components, only if the project is being created for the first time\n6. Call \"postSynthesize()\" for all components of this project\n7. Call \"this.postSynthesize()\"\n8. Call \"postProjectCreation()\" for all components, only if the project is being created for the first time",
            "stability": "experimental",
            "summary": "Synthesize all project files into `outdir`."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 614
          },
          "name": "synth"
        },
        {
          "docs": {
            "returns": "a `FileBase` or undefined if there is no file in that path",
            "stability": "experimental",
            "summary": "Finds a file at the specified relative path within this project and all its subprojects."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 497
          },
          "name": "tryFindFile",
          "parameters": [
            {
              "docs": {
                "remarks": "If this path is relative, it will be resolved\nfrom the root of _this_ project.",
                "summary": "The file path."
              },
              "name": "filePath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.FileBase"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Finds an object file (like JsonFile, YamlFile, etc.) by name."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 516
          },
          "name": "tryFindObjectFile",
          "parameters": [
            {
              "docs": {
                "summary": "The file path."
              },
              "name": "filePath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.ObjectFile"
            }
          }
        },
        {
          "docs": {
            "returns": "a `FileBase` if the file was found and removed, or undefined if\nthe file was not found.",
            "stability": "experimental",
            "summary": "Finds a file at the specified relative path within this project and removes it."
          },
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 540
          },
          "name": "tryRemoveFile",
          "parameters": [
            {
              "docs": {
                "remarks": "If this path is relative, it will be\nresolved from the root of _this_ project.",
                "summary": "The file path."
              },
              "name": "filePath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.FileBase"
            }
          }
        }
      ],
      "name": "Project",
      "properties": [
        {
          "const": true,
          "docs": {
            "remarks": "Normally\nthis task should synthesize the project files.",
            "stability": "experimental",
            "summary": "The name of the default task (the task executed when `projen` is run without arguments)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 180
          },
          "name": "DEFAULT_TASK",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 470
          },
          "name": "buildTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether to commit the managed files by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 278
          },
          "name": "commitGenerated",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 473
          },
          "name": "compileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns all the components within this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 424
          },
          "name": "components",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Component"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 231
          },
          "name": "deps",
          "type": {
            "fqn": "projen.Dependencies"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether or not the project is being ejected."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 697
          },
          "name": "ejected",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "All files in this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 442
          },
          "name": "files",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.FileBase"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The .gitattributes file for this repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 212
          },
          "name": "gitattributes",
          "type": {
            "fqn": "projen.GitAttributesFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": ".gitignore."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 207
          },
          "name": "gitignore",
          "type": {
            "fqn": "projen.IgnoreFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Logging utilities."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 236
          },
          "name": "logger",
          "type": {
            "fqn": "projen.Logger"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 202
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Absolute output directory of this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 222
          },
          "name": "outdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 485
          },
          "name": "packageTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 482
          },
          "name": "postCompileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 479
          },
          "name": "preCompileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Manages the build process of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 273
          },
          "name": "projectBuild",
          "type": {
            "fqn": "projen.ProjectBuild"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The command to use in order to run the projen CLI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 252
          },
          "name": "projenCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The root project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 417
          },
          "name": "root",
          "type": {
            "fqn": "projen.Project"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns all the subprojects within this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 435
          },
          "name": "subprojects",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Project"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 226
          },
          "name": "tasks",
          "type": {
            "fqn": "projen.Tasks"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 476
          },
          "name": "testTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "remarks": "Undefined if\nthe project is being ejected.",
            "stability": "experimental",
            "summary": "This is the \"default\" task, the one that executes \"projen\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 260
          },
          "name": "defaultTask",
          "optional": true,
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "deprecated": "use the `initProject` argument passed to `Component.projectCreation()` instead.",
            "remarks": "It\nincludes the original set of options passed to the CLI and also the JSII\nFQN of the project type.",
            "stability": "deprecated",
            "summary": "The options used when this project is bootstrapped via `projen new`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 245
          },
          "name": "initProject",
          "optional": true,
          "type": {
            "fqn": "projen.InitProject"
          }
        },
        {
          "docs": {
            "remarks": "If undefined, this is the root project.",
            "stability": "experimental",
            "summary": "A parent project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 217
          },
          "name": "parent",
          "optional": true,
          "type": {
            "fqn": "projen.Project"
          }
        }
      ],
      "symbolId": "src/project:Project"
    },
    "projen.ProjectBuild": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Build spawns these tasks in order:\n1. default\n2. pre-compile\n3. compile\n4. post-compile\n5. test\n6. package",
        "stability": "experimental",
        "summary": "Manages a standard build process for all projects."
      },
      "fqn": "projen.ProjectBuild",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/project-build.ts",
          "line": 47
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/project-build.ts",
        "line": 16
      },
      "name": "ProjectBuild",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The task responsible for a full release build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 20
          },
          "name": "buildTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "remarks": "By default for node.js projects this task is empty.",
            "stability": "experimental",
            "summary": "Compiles the code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 30
          },
          "name": "compileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The \"package\" task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 45
          },
          "name": "packageTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Post-compile task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 35
          },
          "name": "postCompileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Pre-compile task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 25
          },
          "name": "preCompileTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Tests the code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project-build.ts",
            "line": 40
          },
          "name": "testTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/project-build:ProjectBuild"
    },
    "projen.ProjectOption": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.ProjectOption",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/inventory.ts",
        "line": 11
      },
      "name": "ProjectOption",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 12
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 20
          },
          "name": "type",
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 15
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 17
          },
          "name": "deprecated",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 14
          },
          "name": "docs",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 18
          },
          "name": "featured",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 13
          },
          "name": "fqn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 19
          },
          "name": "initialValue",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 16
          },
          "name": "optional",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/inventory:ProjectOption"
    },
    "projen.ProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Project`."
      },
      "fqn": "projen.ProjectOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/project.ts",
        "line": 47
      },
      "name": "ProjectOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "$BASEDIR",
            "stability": "experimental",
            "summary": "This is the name of your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 54
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether to commit the managed files by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 126
          },
          "name": "commitGenerated",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configuration options for .gitignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 136
          },
          "name": "gitIgnoreOptions",
          "optional": true,
          "type": {
            "fqn": "projen.IgnoreFileOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configuration options for git."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 131
          },
          "name": "gitOptions",
          "optional": true,
          "type": {
            "fqn": "projen.GitOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Configure logging options such as verbosity."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 78
          },
          "name": "logging",
          "optional": true,
          "type": {
            "fqn": "projen.LoggerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".\"",
            "remarks": "Relative to this directory, all files are synthesized.\n\nIf this project has a parent, this directory is relative to the parent\ndirectory and it cannot be the same as the parent or any of it's other\nsubprojects.",
            "stability": "experimental",
            "summary": "The root directory of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 72
          },
          "name": "outdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The parent project, if this project is part of a bigger project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 59
          },
          "name": "parent",
          "optional": true,
          "type": {
            "fqn": "projen.Project"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 146
          },
          "name": "projectTree",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"npx projen\"",
            "remarks": "Inserted verbatim into task steps, workflows and IDE configuration, and run\nby each of their shells - locally, in CI and in dev containers. Keep it a\nplain unquoted command, since shell syntax in it executes in all of them.\n\nCan be used to customize in special environments.",
            "stability": "experimental",
            "summary": "The shell command to use in order to run the projen CLI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 105
          },
          "name": "projenCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 86
          },
          "name": "projenrcJson",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for .projenrc.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 92
          },
          "name": "projenrcJsonOptions",
          "optional": true,
          "type": {
            "fqn": "projen.ProjenrcJsonOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Use renovatebot to handle dependency upgrades."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 112
          },
          "name": "renovatebot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for renovatebot."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/project.ts",
            "line": 119
          },
          "name": "renovatebotOptions",
          "optional": true,
          "type": {
            "fqn": "projen.RenovatebotOptions"
          }
        }
      ],
      "symbolId": "src/project:ProjectOptions"
    },
    "projen.ProjectTree": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "The tree file is helpful for:\n- Understanding how your project is structured\n- Debugging component relationships\n- Verifying which versions synthesized the project",
        "stability": "experimental",
        "summary": "Generates a `.projen/tree.json` file that provides a snapshot of your project's component hierarchy. This file includes metadata about each component such as file paths, types, and the projen version used."
      },
      "fqn": "projen.ProjectTree",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/project-tree.ts",
          "line": 21
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/project-tree.ts",
        "line": 18
      },
      "name": "ProjectTree",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/project-tree.ts",
            "line": 19
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/project-tree:ProjectTree"
    },
    "projen.ProjectType": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.ProjectType",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/inventory.ts",
        "line": 23
      },
      "name": "ProjectType",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 30
          },
          "name": "docsurl",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 26
          },
          "name": "fqn",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 24
          },
          "name": "moduleName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 28
          },
          "name": "options",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.ProjectOption"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 25
          },
          "name": "pjid",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 27
          },
          "name": "typename",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/inventory.ts",
            "line": 29
          },
          "name": "docs",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/inventory:ProjectType"
    },
    "projen.Projects": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Programmatic API for projen."
      },
      "fqn": "projen.Projects",
      "kind": "class",
      "locationInModule": {
        "filename": "src/projects.ts",
        "line": 57
      },
      "methods": [
        {
          "docs": {
            "remarks": "This function creates the project type in-process (with in VM) and calls\n`.synth()` on it (if `options.synth` is not `false`).\n\nAt the moment, it also generates a `.projenrc.js` file with the same code\nthat was just executed. In the future, this will also be done by the project\ntype, so we can easily support multiple languages of projenrc.\n\nAn environment variable (PROJEN_CREATE_PROJECT=true) is set within the VM\nso that custom project types can detect whether the current synthesis is the\nresult of a new project creation (and take additional steps accordingly)",
            "stability": "experimental",
            "summary": "Creates a new project with defaults."
          },
          "locationInModule": {
            "filename": "src/projects.ts",
            "line": 72
          },
          "name": "createProject",
          "parameters": [
            {
              "name": "options",
              "type": {
                "fqn": "projen.CreateProjectOptions"
              }
            }
          ],
          "static": true
        }
      ],
      "name": "Projects",
      "symbolId": "src/projects:Projects"
    },
    "projen.ProjenrcFile": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "A component representing the projen runtime configuration."
      },
      "fqn": "projen.ProjenrcFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/component.ts",
          "line": 33
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "id",
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/projenrc.ts",
        "line": 7
      },
      "methods": [
        {
          "docs": {
            "returns": "A Projenrc",
            "stability": "experimental",
            "summary": "Returns the `Projenrc` instance associated with a project or `undefined` if there is no Projenrc."
          },
          "locationInModule": {
            "filename": "src/projenrc.ts",
            "line": 14
          },
          "name": "of",
          "parameters": [
            {
              "docs": {
                "summary": "The project."
              },
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.ProjenrcFile"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/projenrc.ts",
            "line": 25
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "ProjenrcFile",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projenrc.ts",
            "line": 23
          },
          "name": "filePath",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/projenrc:ProjenrcFile"
    },
    "projen.ProjenrcJson": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "stability": "experimental",
        "summary": "Sets up a project to use JSON for projenrc."
      },
      "fqn": "projen.ProjenrcJson",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/projenrc-json.ts",
          "line": 20
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.ProjenrcJsonOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/projenrc-json.ts",
        "line": 17
      },
      "methods": [
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/projenrc-json.ts",
            "line": 30
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "ProjenrcJson",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projenrc-json.ts",
            "line": 18
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/projenrc-json:ProjenrcJson"
    },
    "projen.ProjenrcJsonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.ProjenrcJsonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/projenrc-json.ts",
        "line": 6
      },
      "name": "ProjenrcJsonOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".projenrc.json\"",
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/projenrc-json.ts",
            "line": 11
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/projenrc-json:ProjenrcJsonOptions"
    },
    "projen.PropertiesFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "example": "new PropertiesFile(project, 'sonar-project.properties', {\n  obj: {\n    sonar: {\n      projectKey: 'my-project',\n      sources: 'src',\n    },\n  },\n});\n\n// Produces:\n// sonar.projectKey=my-project\n// sonar.sources=src",
        "remarks": "Properties files consist of key=value pairs, one per line,\nwith `#` used for comments. This file format is commonly\nused by tools like SonarQube, Gradle, and other JVM-based\necosystem tools.\n\nThe object passed as `obj` can be a nested structure. Nested keys are\nflattened into dot-separated property keys on synthesis. For example,\n`{ sonar: { sources: \"src\" } }` produces `sonar.sources=src`.\n\nThis means `addOverride` uses dot notation as a path separator,\nconsistent with ObjectFile/JsonPatch semantics.",
        "stability": "experimental",
        "summary": "Represents a Java `.properties` file."
      },
      "fqn": "projen.PropertiesFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/properties-file.ts",
          "line": 53
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.PropertiesFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/properties-file.ts",
        "line": 50
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/properties-file.ts",
            "line": 62
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "PropertiesFile",
      "symbolId": "src/properties-file:PropertiesFile"
    },
    "projen.PropertiesFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `PropertiesFile`."
      },
      "fqn": "projen.PropertiesFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/properties-file.ts",
        "line": 11
      },
      "name": "PropertiesFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no additional comment",
            "remarks": "Each string in the array becomes a separate comment line.",
            "stability": "experimental",
            "summary": "A comment to include at the top of the file (after the projen marker, if enabled)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/properties-file.ts",
            "line": 18
          },
          "name": "comment",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/properties-file:PropertiesFileOptions"
    },
    "projen.ReleasableCommits": {
      "assembly": "projen",
      "docs": {
        "remarks": "This setting only controls whether a release is triggered, yes or no. The\npaths used here are independent of the code that controls what commits are inspected\nto determine the version number.",
        "stability": "experimental",
        "summary": "Find commits that should be considered releasable to decide if a release is required."
      },
      "fqn": "projen.ReleasableCommits",
      "kind": "class",
      "locationInModule": {
        "filename": "src/version.ts",
        "line": 359
      },
      "methods": [
        {
          "docs": {
            "remarks": "This will only not release if the most recent commit is tagged with the latest matching tag.",
            "stability": "experimental",
            "summary": "Release every commit."
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 368
          },
          "name": "everyCommit",
          "parameters": [
            {
              "docs": {
                "remarks": "This path is relative to the current working dir of the `bump` task, i.e. to only consider commits of a subproject use `\".\"`.",
                "summary": "Consider only commits that are enough to explain how the files that match the specified paths came to be."
              },
              "name": "path",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.ReleasableCommits"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "\"git log --oneline $LATEST_TAG..HEAD -- .\"",
            "remarks": "A new release will be initiated, if the number of returned commits is greater than zero.\nMust return a newline separate list of commits that should considered releasable.\n`$LATEST_TAG` is available as an environment variable (set to the actual latest tag for the given prefix).",
            "stability": "experimental",
            "summary": "Use an arbitrary shell command to find releasable commits since the latest tag."
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 415
          },
          "name": "exec",
          "parameters": [
            {
              "name": "cmd",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.ReleasableCommits"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Shorthand for `ReleasableCommits.onlyOfType(['feat', 'fix'])`.",
            "stability": "experimental",
            "summary": "Release only features and fixes."
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 402
          },
          "name": "featuresAndFixes",
          "parameters": [
            {
              "docs": {
                "remarks": "This path is relative to the current working dir of the `bump` task, i.e. to only consider commits of a subproject use `\".\"`.",
                "summary": "Consider only commits that are enough to explain how the files that match the specified paths came to be."
              },
              "name": "path",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.ReleasableCommits"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This will only release commit that match one of the provided types.\nCommits are required to follow the conventional commit spec and will be ignored otherwise.",
            "stability": "experimental",
            "summary": "Limit commits by their conventional commit type."
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 383
          },
          "name": "ofType",
          "parameters": [
            {
              "docs": {
                "summary": "List of conventional commit types that should be released."
              },
              "name": "types",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            },
            {
              "docs": {
                "remarks": "This path is relative to the current working dir of the `bump` task, i.e. to only consider commits of a subproject use `\".\"`.",
                "summary": "Consider only commits that are enough to explain how the files that match the specified paths came to be."
              },
              "name": "path",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.ReleasableCommits"
            }
          },
          "static": true
        }
      ],
      "name": "ReleasableCommits",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 419
          },
          "name": "cmd",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/version:ReleasableCommits"
    },
    "projen.Renovatebot": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Ignores the versions controlled by Projen.",
        "stability": "experimental",
        "summary": "Defines renovatebot configuration for projen project."
      },
      "fqn": "projen.Renovatebot",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/renovatebot.ts",
          "line": 166
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.RenovatebotOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/renovatebot.ts",
        "line": 144
      },
      "name": "Renovatebot",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The file holding the renovatebot configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 148
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/renovatebot:Renovatebot"
    },
    "projen.RenovatebotMinimumReleaseAgeBehaviour": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseagebehaviour",
        "stability": "experimental",
        "summary": "Behaviour when a release timestamp is missing for `minimumReleaseAge`."
      },
      "fqn": "projen.RenovatebotMinimumReleaseAgeBehaviour",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/renovatebot.ts",
        "line": 127
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "A release without a timestamp is not treated as stable."
          },
          "name": "TIMESTAMP_REQUIRED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A release without a timestamp is treated as stable."
          },
          "name": "TIMESTAMP_OPTIONAL"
        }
      ],
      "name": "RenovatebotMinimumReleaseAgeBehaviour",
      "symbolId": "src/renovatebot:RenovatebotMinimumReleaseAgeBehaviour"
    },
    "projen.RenovatebotOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Renovatebot."
      },
      "fqn": "projen.RenovatebotOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/renovatebot.ts",
        "line": 11
      },
      "name": "RenovatebotOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "The ignore option supports just package name.",
            "stability": "experimental",
            "summary": "You can use the `ignore` option to customize which dependencies are updated."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 31
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This is required since projen updates may cause changes in committed files\nand anti-tamper checks will fail.\n\nProjen upgrades are covered through the `ProjenUpgrade` class.",
            "stability": "experimental",
            "summary": "Ignores updates to `projen`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 43
          },
          "name": "ignoreProjen",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "List of labels to apply to the created PR's."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 48
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 52
          },
          "name": "marker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no minimum release age",
            "remarks": "This is a supply chain security feature to avoid updating to newly published,\npotentially malicious versions.",
            "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseage",
            "stability": "experimental",
            "summary": "Minimum release age for packages before Renovate will propose an update."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 63
          },
          "name": "minimumReleaseAge",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RenovatebotMinimumReleaseAgeBehaviour.TIMESTAMP_REQUIRED",
            "see": "https://docs.renovatebot.com/configuration-options/#minimumreleaseagebehaviour",
            "stability": "experimental",
            "summary": "Controls whether a release timestamp is required when using `minimumReleaseAge`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 71
          },
          "name": "minimumReleaseAgeBehaviour",
          "optional": true,
          "type": {
            "fqn": "projen.RenovatebotMinimumReleaseAgeBehaviour"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 50
          },
          "name": "overrideConfig",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[\"at any time\"]",
            "remarks": "Can be given in CRON or LATER format, and use multiple schedules\n(e.g. different for weekdays and weekends). Multiple rules are\nhandles as OR.\n\nSome normal scheduling values defined in enum `RenovatebotScheduleInterval`.",
            "see": "https://docs.renovatebot.com/configuration-options/#schedule",
            "stability": "experimental",
            "summary": "How often to check for new versions and raise pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/renovatebot.ts",
            "line": 24
          },
          "name": "scheduleInterval",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/renovatebot:RenovatebotOptions"
    },
    "projen.RenovatebotScheduleInterval": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.renovatebot.com/presets-schedule/",
        "stability": "experimental",
        "summary": "How often to check for new versions and raise pull requests for version updates."
      },
      "fqn": "projen.RenovatebotScheduleInterval",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/renovatebot.ts",
        "line": 80
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Run at any time."
          },
          "name": "ANY_TIME"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Weekly schedule on early monday mornings."
          },
          "name": "EARLY_MONDAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Schedule daily."
          },
          "name": "DAILY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Schedule monthly."
          },
          "name": "MONTHLY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Schedule quarterly."
          },
          "name": "QUARTERLY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Schedule for weekends."
          },
          "name": "WEEKENDS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Schedule for weekdays."
          },
          "name": "WEEKDAYS"
        }
      ],
      "name": "RenovatebotScheduleInterval",
      "symbolId": "src/renovatebot:RenovatebotScheduleInterval"
    },
    "projen.ResolveOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Resolve options."
      },
      "fqn": "projen.ResolveOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/file.ts",
        "line": 277
      },
      "name": "ResolveOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Context arguments."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 288
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Omits empty arrays and objects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/file.ts",
            "line": 282
          },
          "name": "omitEmpty",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/file:ResolveOptions"
    },
    "projen.Rule": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A Make rule."
      },
      "fqn": "projen.Rule",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/makefile.ts",
        "line": 8
      },
      "name": "Rule",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If the rule is phony then instead this represents the command's name(s).",
            "stability": "experimental",
            "summary": "Files to be created or updated by this rule."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 14
          },
          "name": "targets",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Marks whether the target is phony."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 37
          },
          "name": "phony",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Files that are used as inputs to create a target."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 21
          },
          "name": "prerequisites",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Each entry is a shell command, run by make in its own shell.",
            "stability": "experimental",
            "summary": "Commands that are run (using prerequisites as inputs) to create a target."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/makefile.ts",
            "line": 30
          },
          "name": "recipe",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/makefile:Rule"
    },
    "projen.RunScriptConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The resolved configuration for running a script."
      },
      "fqn": "projen.RunScriptConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/script-runner.ts",
        "line": 8
      },
      "name": "RunScriptConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Dependencies required to run the script."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/script-runner.ts",
            "line": 12
          },
          "name": "dependencies",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DependencyRequest"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The task steps to execute the script."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/script-runner.ts",
            "line": 17
          },
          "name": "steps",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.TaskStep"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/script-runner:RunScriptConfig"
    },
    "projen.RunsOnConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Exactly one of the two\nfields is set.",
        "stability": "experimental",
        "summary": "Resolved `runsOn`/`runsOnGroup` config for a job."
      },
      "fqn": "projen.RunsOnConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/runner-options.ts",
        "line": 30
      },
      "name": "RunsOnConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- not set if `runsOnGroup` is used",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 35
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set if `runsOn` is used",
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 41
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/runner-options:RunsOnConfig"
    },
    "projen.RunsOnOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for selecting the GitHub Runner that a job runs on."
      },
      "fqn": "projen.RunsOnOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/runner-options.ts",
        "line": 9
      },
      "name": "RunsOnOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 16
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner-options.ts",
            "line": 23
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/runner-options:RunsOnOptions"
    },
    "projen.SampleDir": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Use this to create sample code files",
        "stability": "experimental",
        "summary": "Renders the given files into the directory if the directory does not exist."
      },
      "fqn": "projen.SampleDir",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Create sample files in the given directory if the given directory does not exist."
        },
        "locationInModule": {
          "filename": "src/sample-file.ts",
          "line": 127
        },
        "parameters": [
          {
            "docs": {
              "summary": "Parent project to add files to."
            },
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "docs": {
              "remarks": "If directory already exists, nothing is added.",
              "summary": "directory to add files to."
            },
            "name": "dir",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "options for which files to create."
            },
            "name": "options",
            "type": {
              "fqn": "projen.SampleDirOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sample-file.ts",
        "line": 117
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes files to the project output directory."
          },
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 137
          },
          "name": "synthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "SampleDir",
      "symbolId": "src/sample-file:SampleDir"
    },
    "projen.SampleDirOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "SampleDir options."
      },
      "fqn": "projen.SampleDirOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sample-file.ts",
        "line": 92
      },
      "name": "SampleDirOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "These files get added after\nany files from `source` if that option is specified (replacing if names\noverlap).",
            "stability": "experimental",
            "summary": "The files to render into the directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 98
          },
          "name": "files",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If your project is typescript-based and has configured `testdir` to be a\nsubdirectory of `src`, sample files should outside of the `src` directory\notherwise they may not be copied. For example:\n```\nnew SampleDir(this, 'public', { source: path.join(__dirname, '..', 'sample-assets') });\n```",
            "stability": "experimental",
            "summary": "Absolute path to a directory to copy files from (does not need to be text files)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 111
          },
          "name": "sourceDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/sample-file:SampleDirOptions"
    },
    "projen.SampleFile": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Use this for creating example code files or other resources.",
        "stability": "experimental",
        "summary": "Produces a file with the given contents but only once, if the file doesn't already exist."
      },
      "fqn": "projen.SampleFile",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Creates a new SampleFile object."
        },
        "locationInModule": {
          "filename": "src/sample-file.ts",
          "line": 45
        },
        "parameters": [
          {
            "docs": {
              "summary": "- the project to tie this file to."
            },
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "docs": {
              "summary": "- the relative path in the project to put the file."
            },
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "- the options for the file."
            },
            "name": "options",
            "type": {
              "fqn": "projen.SampleFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sample-file.ts",
        "line": 35
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes files to the project output directory."
          },
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 58
          },
          "name": "synthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "SampleFile",
      "symbolId": "src/sample-file:SampleFile"
    },
    "projen.SampleFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the SampleFile object."
      },
      "fqn": "projen.SampleFileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sample-file.ts",
        "line": 11
      },
      "name": "SampleFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The contents of the file to write."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 15
          },
          "name": "contents",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If your project is Typescript-based and has configured `testdir` to be a\nsubdirectory of `src`, sample files should outside of the `src` directory,\notherwise they may not be copied. For example:\n```\nnew SampleFile(this, 'assets/icon.png', { sourcePath: path.join(__dirname, '..', 'sample-assets', 'icon.png') });\n```",
            "stability": "experimental",
            "summary": "Absolute path to a file to copy the contents from (does not need to be a text file)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sample-file.ts",
            "line": 28
          },
          "name": "sourcePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/sample-file:SampleFileOptions"
    },
    "projen.SampleReadme": {
      "assembly": "projen",
      "base": "projen.SampleFile",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a README.md sample file. You are expected to manage this file after creation."
      },
      "fqn": "projen.SampleReadme",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/readme.ts",
          "line": 30
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "projen.SampleReadmeProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/readme.ts",
        "line": 29
      },
      "name": "SampleReadme",
      "symbolId": "src/readme:SampleReadme"
    },
    "projen.SampleReadmeProps": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "SampleReadme Properties."
      },
      "fqn": "projen.SampleReadmeProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/readme.ts",
        "line": 7
      },
      "name": "SampleReadmeProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"# replace this\"",
            "stability": "experimental",
            "summary": "The contents."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/readme.ts",
            "line": 20
          },
          "name": "contents",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"README.md\"",
            "example": "\"readme.md\"",
            "stability": "experimental",
            "summary": "The name of the README.md file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/readme.ts",
            "line": 14
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/readme:SampleReadmeProps"
    },
    "projen.ScriptRunner": {
      "assembly": "projen",
      "base": "projen.FutureComponent",
      "docs": {
        "remarks": "A runner is a {@link FutureComponent}: it can be created standalone (e.g. in\n`.projenrc.ts`) and is attached to a project by whoever consumes it.",
        "stability": "experimental",
        "summary": "A script runner that executes the entrypoint file directly."
      },
      "fqn": "projen.ScriptRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/component.ts",
          "line": 209
        }
      },
      "interfaces": [
        "projen.IScriptRunner"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/script-runner.ts",
        "line": 37
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Produce the configuration to run the given entrypoint."
          },
          "locationInModule": {
            "filename": "src/script-runner.ts",
            "line": 38
          },
          "name": "configFor",
          "overrides": "projen.IScriptRunner",
          "parameters": [
            {
              "name": "entrypoint",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.RunScriptConfig"
            }
          }
        }
      ],
      "name": "ScriptRunner",
      "symbolId": "src/script-runner:ScriptRunner"
    },
    "projen.SnapshotOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the Snapshot synthesis."
      },
      "fqn": "projen.SnapshotOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/util/synth.ts",
        "line": 13
      },
      "name": "SnapshotOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true parse .json files into an object",
            "stability": "experimental",
            "summary": "Parse .json files as a JS object for improved inspection. This will fail if the contents are invalid JSON."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/util/synth.ts",
            "line": 20
          },
          "name": "parseJson",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/util/synth:SnapshotOptions"
    },
    "projen.SourceCode": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a source file."
      },
      "fqn": "projen.SourceCode",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/source-code.ts",
          "line": 38
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.SourceCodeOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/source-code.ts",
        "line": 33
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Decreases the indentation level and closes a code block."
          },
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 83
          },
          "name": "close",
          "parameters": [
            {
              "docs": {
                "summary": "The code after the block is closed (e.g. `}`)."
              },
              "name": "code",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Emit a line of code."
          },
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 59
          },
          "name": "line",
          "parameters": [
            {
              "docs": {
                "summary": "The contents, if not specified, just adds a newline."
              },
              "name": "code",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Opens a code block and increases the indentation level."
          },
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 70
          },
          "name": "open",
          "parameters": [
            {
              "docs": {
                "summary": "The code before the block starts (e.g. `export class {`)."
              },
              "name": "code",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "SourceCode",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 40
          },
          "name": "filePath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 51
          },
          "name": "marker",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/source-code:SourceCode"
    },
    "projen.SourceCodeOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `SourceCodeFile`."
      },
      "fqn": "projen.SourceCodeOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/source-code.ts",
        "line": 8
      },
      "name": "SourceCodeOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether the generated file should be marked as executable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 27
          },
          "name": "executable",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "2",
            "stability": "experimental",
            "summary": "Indentation size."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 13
          },
          "name": "indent",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether the generated file should be readonly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/source-code.ts",
            "line": 20
          },
          "name": "readonly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/source-code:SourceCodeOptions"
    },
    "projen.Task": {
      "assembly": "projen",
      "docs": {
        "remarks": "Modeled as a series of shell\ncommands and subtasks.",
        "stability": "experimental",
        "summary": "A task that can be performed on the project."
      },
      "fqn": "projen.Task",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/task.ts",
          "line": 82
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "projen.TaskOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/task.ts",
        "line": 66
      },
      "methods": [
        {
          "docs": {
            "remarks": "If a condition already exists, the new condition will be appended with ` && ` delimiter.",
            "see": "{@link Task.condition }",
            "stability": "experimental",
            "summary": "Add a command to execute which determines if the task should be skipped."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 184
          },
          "name": "addCondition",
          "parameters": [
            {
              "docs": {
                "summary": "The command to execute."
              },
              "name": "condition",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "This is a generic method that accepts any\ntask step (exec, spawn, say, builtin).",
            "stability": "experimental",
            "summary": "Adds steps to this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 215
          },
          "name": "addSteps",
          "parameters": [
            {
              "docs": {
                "summary": "The steps to add."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.TaskStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "Builtin tasks are programs bundled as part of projen itself and used as\nhelpers for various components.\n\nIn the future we should support built-in tasks from external modules.",
            "stability": "experimental",
            "summary": "Execute a builtin task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 259
          },
          "name": "builtin",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the builtin task to execute (e.g. `release/resolve-version`)."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds an environment variable to this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 361
          },
          "name": "env",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the variable."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "If the value is surrounded by `$()`, we will\nevaluate it within a subshell and use the result as the value of the\nenvironment variable.",
                "summary": "The value."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Executes a shell command."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 224
          },
          "name": "exec",
          "parameters": [
            {
              "docs": {
                "summary": "Shell command."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "example": "task.execArgs([\"echo\", \"hello world\"]);",
            "remarks": "A convenient alternative to `Task.exec`: arguments with spaces or\nspecial characters are passed through as-is, with no quoting needed. The\nelements are not run through a shell, so environment variables (`$FOO`) are\nnot expanded and other shell features are unavailable.",
            "stability": "experimental",
            "summary": "Executes a command provided as a list of the program followed by its arguments (an \"argv\")."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 242
          },
          "name": "execArgs",
          "parameters": [
            {
              "docs": {
                "summary": "The program followed by its arguments."
              },
              "name": "command",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            },
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Insert one or more steps at a given index."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 392
          },
          "name": "insertStep",
          "parameters": [
            {
              "docs": {
                "remarks": "May be negative to\ncount backwards from the end, or may be `== steps().length` to insert at the end.",
                "summary": "Steps will be inserted before this index."
              },
              "name": "index",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "The steps to insert."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.TaskStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Forbid additional changes to this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 118
          },
          "name": "lock"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a command at the beginning of the task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 295
          },
          "name": "prependExec",
          "parameters": [
            {
              "docs": {
                "summary": "The command to add."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Says something at the beginning of the task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 315
          },
          "name": "prependSay",
          "parameters": [
            {
              "docs": {
                "summary": "Your message."
              },
              "name": "message",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a spawn instruction at the beginning of the task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 305
          },
          "name": "prependSpawn",
          "parameters": [
            {
              "docs": {
                "summary": "The subtask to execute."
              },
              "name": "subtask",
              "type": {
                "fqn": "projen.Task"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds steps at the beginning of this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 287
          },
          "name": "prependSteps",
          "parameters": [
            {
              "docs": {
                "summary": "The steps to add."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.TaskStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 436
          },
          "name": "removeStep",
          "parameters": [
            {
              "docs": {
                "summary": "The index of the step to remove."
              },
              "name": "index",
              "type": {
                "primitive": "number"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Reset the task so it no longer has any commands."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 192
          },
          "name": "reset",
          "parameters": [
            {
              "docs": {
                "summary": "the first command to add to the task after it was cleared."
              },
              "name": "command",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Say something."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 268
          },
          "name": "say",
          "parameters": [
            {
              "docs": {
                "summary": "Your message."
              },
              "name": "message",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Spawns a sub-task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 276
          },
          "name": "spawn",
          "parameters": [
            {
              "docs": {
                "summary": "The subtask to execute."
              },
              "name": "subtask",
              "type": {
                "fqn": "projen.Task"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskStepOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 414
          },
          "name": "updateStep",
          "parameters": [
            {
              "docs": {
                "summary": "The index of the step to edit."
              },
              "name": "index",
              "type": {
                "primitive": "number"
              }
            },
            {
              "docs": {
                "summary": "The new step to replace the old one entirely, it is not merged with the old step."
              },
              "name": "step",
              "type": {
                "fqn": "projen.TaskStep"
              }
            }
          ]
        }
      ],
      "name": "Task",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns all environment variables in the task level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 369
          },
          "name": "envVars",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Task name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 70
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns an immutable copy of all the step specifications of the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 376
          },
          "name": "steps",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.TaskStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "If it\nreturns a zero exit code, the task will not be executed.",
            "stability": "experimental",
            "summary": "A command to execute which determines if the task should be skipped."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 170
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Sets the working directory for this task.",
            "stability": "experimental",
            "summary": "Returns the working directory for this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 125
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Sets the description of this task.",
            "stability": "experimental",
            "summary": "Returns the description of this task."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 155
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Sets the shell used to run this task's commands.",
            "see": "{@link TaskCommonOptions.shell }",
            "stability": "experimental",
            "summary": "The shell used to run this task's commands, or `undefined` when inheriting the built-in default shell."
          },
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 141
          },
          "name": "shell",
          "optional": true,
          "type": {
            "fqn": "projen.TaskShell"
          }
        }
      ],
      "symbolId": "src/task:Task"
    },
    "projen.TaskCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.TaskCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task-model.ts",
        "line": 36
      },
      "name": "TaskCommonOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If\nthe program exits with a zero exit code, steps will be executed. A non-zero\ncode means that task will be skipped.",
            "stability": "experimental",
            "summary": "A shell command which determines if the this task should be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 61
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- process.cwd()",
            "stability": "experimental",
            "summary": "The working directory for all steps in this task (unless overridden by the step)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 69
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the task name",
            "stability": "experimental",
            "summary": "The description of this build command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 41
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "remarks": "Values in this map will be evaluated in a shell, so you can do stuff like `$(echo \"foo\")`.",
            "stability": "experimental",
            "summary": "Defines environment variables for the execution of this task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 48
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Task execution will fail if one of these is not defined.",
            "stability": "experimental",
            "summary": "A set of environment variables that must be defined in order to execute this task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 54
          },
          "name": "requiredEnv",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- inherited from the task/project, otherwise the built-in projen shell",
            "stability": "experimental",
            "summary": "The shell used to run this task's commands, including its `condition` and `$(...)` environment evaluation. Use {@link TaskShell} to pick a built-in or an explicit invocation. Set at project, task or step level; the nearest declared level wins."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 79
          },
          "name": "shell",
          "optional": true,
          "type": {
            "fqn": "projen.TaskShell"
          }
        }
      ],
      "symbolId": "src/task-model:TaskCommonOptions"
    },
    "projen.TaskOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.TaskOptions",
      "interfaces": [
        "projen.TaskCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task.ts",
        "line": 10
      },
      "name": "TaskOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no arguments are passed to the step",
            "see": "{@link TaskStepOptions.args }",
            "stability": "experimental",
            "summary": "Should the provided `exec` shell command receive fixed args."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 59
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- add steps using `task.exec(command)` or `task.spawn(subtask)`",
            "remarks": "A single shell string, so only pass trusted input: an interpolated value is\ninterpreted by the shell too. Use `execArgs` for arguments you did not write\nliterally.\n\nMutually exclusive with `execArgs`.",
            "stability": "experimental",
            "summary": "Shell command to execute as the first command of the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 22
          },
          "name": "exec",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- add steps using `task.execArgs(args)`, `task.exec(command)` or `task.spawn(subtask)`",
            "remarks": "A convenient alternative to `exec`: arguments with spaces or special\ncharacters are passed through as-is, with no quoting needed. The elements\nare not run through a shell, so environment variables (`$FOO`) are not\nexpanded and other shell features are unavailable.",
            "see": "TaskStep.execArgs *\nMutually exclusive with `exec`.",
            "stability": "experimental",
            "summary": "Shell command to execute as the first command of the task, provided as a list of the program followed by its arguments (an \"argv\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 38
          },
          "name": "execArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "see": "{@link TaskStepOptions.receiveArgs }",
            "stability": "experimental",
            "summary": "Should the provided `exec` shell command receive args passed to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 51
          },
          "name": "receiveArgs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "List of task steps to run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task.ts",
            "line": 43
          },
          "name": "steps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.TaskStep"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/task:TaskOptions"
    },
    "projen.TaskShell": {
      "assembly": "projen",
      "docs": {
        "remarks": "Choose one of the built-in shells, or provide an explicit shell invocation:\n\n- {@link TaskShell.projen} (the default) - the built-in cross-platform shell.\n- {@link TaskShell.system} - the operating system's native shell.\n- {@link TaskShell.bash} / {@link TaskShell.sh} - common POSIX shells.\n- {@link TaskShell.command} - an arbitrary shell invocation given as an\n  explicit argument list, e.g. `TaskShell.command([\"npx\", \"-c\"])`.\n\nA `shell` can be set at the project (tasks), task and step level, and the\nnearest declared level wins (it is a scalar override, not merged).",
        "stability": "experimental",
        "summary": "The shell used to run a task's commands - including its `condition` and any `$(...)` environment-variable evaluation."
      },
      "fqn": "projen.TaskShell",
      "kind": "class",
      "locationInModule": {
        "filename": "src/task-shell.ts",
        "line": 16
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs commands through `bash -c`."
          },
          "locationInModule": {
            "filename": "src/task-shell.ts",
            "line": 43
          },
          "name": "bash",
          "returns": {
            "type": {
              "fqn": "projen.TaskShell"
            }
          },
          "static": true
        },
        {
          "docs": {
            "example": "TaskShell.command([\"npx\", \"-c\"]);",
            "remarks": "The task\ncommand is appended as the final argument, so the invocation must accept\nthe command as its last argument (e.g. `bash -c`, `sh -c`, `npx -c`,\n`yarn exec`).",
            "stability": "experimental",
            "summary": "An arbitrary shell invocation, given as an explicit argument list."
          },
          "locationInModule": {
            "filename": "src/task-shell.ts",
            "line": 67
          },
          "name": "command",
          "parameters": [
            {
              "docs": {
                "remarks": "Must not be\nempty.",
                "summary": "The shell program followed by its arguments."
              },
              "name": "command",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.TaskShell"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "It interprets POSIX-style\ntask syntax (`mkdir -p`, `&&`, `$VAR`, ...) identically on every platform,\nincluding Windows.",
            "stability": "experimental",
            "summary": "The built-in cross-platform shell (the default)."
          },
          "locationInModule": {
            "filename": "src/task-shell.ts",
            "line": 22
          },
          "name": "projen",
          "returns": {
            "type": {
              "fqn": "projen.TaskShell"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs commands through `sh -c`."
          },
          "locationInModule": {
            "filename": "src/task-shell.ts",
            "line": 50
          },
          "name": "sh",
          "returns": {
            "type": {
              "fqn": "projen.TaskShell"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Use this to opt out of the cross-platform shell and run commands through\nwhatever shell the host provides.\n\nSteps given as an argv (`execArgs`) are spawned without a shell, so on\nWindows they cannot run `.cmd`/`.bat` shims such as npm-installed CLIs.",
            "stability": "experimental",
            "summary": "The operating system's native shell (`/bin/sh` on POSIX, `cmd.exe` on Windows)."
          },
          "locationInModule": {
            "filename": "src/task-shell.ts",
            "line": 36
          },
          "name": "system",
          "returns": {
            "type": {
              "fqn": "projen.TaskShell"
            }
          },
          "static": true
        }
      ],
      "name": "TaskShell",
      "symbolId": "src/task-shell:TaskShell"
    },
    "projen.TaskSpec": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The `tasks.json` (manifest) form of a task. {@link TaskCommonOptions} is the\nform used to define one; they differ only in the rendered `shell` field.",
        "stability": "experimental",
        "summary": "Specification of a single task."
      },
      "fqn": "projen.TaskSpec",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task-model.ts",
        "line": 88
      },
      "name": "TaskSpec",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Task name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 92
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If\nthe program exits with a zero exit code, steps will be executed. A non-zero\ncode means that task will be skipped.",
            "stability": "experimental",
            "summary": "A shell command which determines if the this task should be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 118
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- process.cwd()",
            "stability": "experimental",
            "summary": "The working directory for all steps in this task (unless overridden by the step)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 126
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the task name",
            "stability": "experimental",
            "summary": "The description of this build command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 98
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "remarks": "Values in this map will be evaluated in a shell, so you can do stuff like `$(echo \"foo\")`.",
            "stability": "experimental",
            "summary": "Defines environment variables for the execution of this task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 105
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Task execution will fail if one of these is not defined.",
            "stability": "experimental",
            "summary": "A set of environment variables that must be defined in order to execute this task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 111
          },
          "name": "requiredEnv",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the built-in projen shell",
            "stability": "experimental",
            "summary": "The task shell in `tasks.json` form: a keyword (`\"projen\"` or `\"system\"`) or an invocation argument list."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 134
          },
          "name": "shell",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Task steps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 139
          },
          "name": "steps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.TaskStep"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/task-model:TaskSpec"
    },
    "projen.TaskStep": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The step could either be  the execution of a\nshell command or execution of a sub-task, by name.\n\nThe `tasks.json` (manifest) form of a step. {@link TaskStepOptions} is the\nform used to define steps (via `task.exec()` etc.); they differ only in the\nrendered `shell` field.",
        "stability": "experimental",
        "summary": "A single step within a task."
      },
      "fqn": "projen.TaskStep",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task-model.ts",
        "line": 246
      },
      "name": "TaskStep",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no arguments are passed to the step",
            "see": "{@link TaskStepOptions.args }",
            "stability": "experimental",
            "summary": "A list of fixed arguments always passed to the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 282
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- do not execute a builtin task",
            "remarks": "Built-in tasks are node.js programs baked into the projen module and as\ncomponent runtime helpers.\n\nThe name is a path relative to the projen lib/ directory (without the .task.js extension).\nFor example, if your built in builtin task is under `src/release/resolve-version.task.ts`,\nthen this would be `release/resolve-version`.",
            "stability": "experimental",
            "summary": "The name of a built-in task to execute."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 366
          },
          "name": "builtin",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If\nthe program exits with a zero exit code, the step will be executed. A non-zero\ncode means the step will be skipped (subsequent task steps will still be evaluated/executed).",
            "stability": "experimental",
            "summary": "A shell command which determines if the this step should be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 266
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- determined by the task",
            "stability": "experimental",
            "summary": "The working directory for this step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 259
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment variables defined in step",
            "see": "{@link TaskStepOptions.env }",
            "stability": "experimental",
            "summary": "Defines environment variables for the execution of this step (`exec` and `builtin` only)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 290
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- don't execute a shell command",
            "remarks": "A single shell string, so only pass trusted input: an interpolated value is\ninterpreted by the shell too. Use `execArgs` for arguments you did not write\nliterally.",
            "stability": "experimental",
            "summary": "Shell command to execute."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 318
          },
          "name": "exec",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- don't execute a shell command",
            "example": "{ execArgs: [\"echo\", \"hello world\"] }",
            "remarks": "Often more convenient than `exec`: each element is passed to the\nprogram as-is, so arguments with spaces or special characters don't need\nquoting. Fixed (`args`) or received (`receiveArgs`) arguments are inserted\nwherever a `$@` element appears, or appended at the end if there is none.\n\nThe elements are not run through a shell, so environment variables (`$FOO`)\nare not expanded and other shell features are unavailable. Use `exec`\nif you need them.\n\nMutually exclusive with `exec`.",
            "stability": "experimental",
            "summary": "Shell command to execute, provided as a list of the program followed by its arguments (an \"argv\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 339
          },
          "name": "execArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no name",
            "stability": "experimental",
            "summary": "Step name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 252
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- stdout is not captured",
            "see": "{@link TaskStepOptions.outputEnv }",
            "stability": "experimental",
            "summary": "Capture this step's standard output and expose it to later steps as an environment variable with this name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 299
          },
          "name": "outputEnv",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "see": "{@link TaskStepOptions.receiveArgs }",
            "stability": "experimental",
            "summary": "Should this step receive args passed to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 274
          },
          "name": "receiveArgs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- don't say anything",
            "stability": "experimental",
            "summary": "Print a message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 352
          },
          "name": "say",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the task's (or project's) shell",
            "stability": "experimental",
            "summary": "The step shell in `tasks.json` form: a keyword (`\"projen\"` or `\"system\"`) or an invocation argument list."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 307
          },
          "name": "shell",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- don't spawn a subtask",
            "stability": "experimental",
            "summary": "Subtask to execute."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 346
          },
          "name": "spawn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/task-model:TaskStep"
    },
    "projen.TaskStepOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for task steps."
      },
      "fqn": "projen.TaskStepOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task-model.ts",
        "line": 145
      },
      "name": "TaskStepOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no arguments are passed to the step",
            "example": "task.spawn(\"deploy\", { args: [\"--force\"] });",
            "remarks": "Useful to re-use existing tasks without having to re-define the whole task.\\\nFixed args are always passed to the step, even if `receiveArgs` is `false`\nand are always passed before any args the task is called with.\n\nIf the step executes a shell commands, args are passed through at the end of the `exec` shell command.\\\nThe position of the args can be changed by including the marker `$@` inside the command string.\n\nIf the step spawns a subtask, args are passed to the subtask.\nThe subtask must define steps receiving args for this to have any effect.\n\nIf the step calls a builtin script, args are passed to the script.\nIt is up to the script to use or discard the arguments.",
            "stability": "experimental",
            "summary": "A list of fixed arguments always passed to the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 205
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If\nthe program exits with a zero exit code, the step will be executed. A non-zero\ncode means the step will be skipped (subsequent task steps will still be evaluated/executed).",
            "stability": "experimental",
            "summary": "A shell command which determines if the this step should be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 165
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- determined by the task",
            "stability": "experimental",
            "summary": "The working directory for this step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 158
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment variables defined in step",
            "example": "{ \"foo\": \"bar\", \"boo\": \"$(echo baz)\" }",
            "remarks": "Values in this map can be simple, literal values or shell expressions that will be evaluated at runtime e.g. `$(echo \"foo\")`.",
            "stability": "experimental",
            "summary": "Defines environment variables for the execution of this step (`exec` and `builtin` only)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 215
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no name",
            "stability": "experimental",
            "summary": "Step name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 151
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- stdout is not captured",
            "remarks": "For `spawn` steps the\nspawned subtask's combined stdout is captured.\n\nSet only when the step runs (a skipped step leaves it unset) and always\noverwrites. The step's output still streams live.",
            "stability": "experimental",
            "summary": "Capture this step's (trimmed) stdout into an environment variable of this name, visible to all later steps of the task run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 227
          },
          "name": "outputEnv",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "example": "task.exec(\"echo Hello $@ World!\", { receiveArgs: true });",
            "remarks": "If `true`, args are passed through at the end of the `exec` shell command.\\\nThe position of the args can be changed by including the marker `$@` inside the command string.\n\nIf the marker is explicitly double-quoted (\"$@\") arguments will be wrapped in double quotes, approximating\nthe whitespace preserving behavior of bash variable expansion.\n\nIf the step spawns a subtask, args are passed to the subtask.\nThe subtask must define steps receiving args for this to have any effect.",
            "stability": "experimental",
            "summary": "Should this step receive args passed to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 183
          },
          "name": "receiveArgs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the task's (or project's) shell",
            "see": "{@link TaskCommonOptions.shell }",
            "stability": "experimental",
            "summary": "The shell used to run this step, overriding the task/project shell."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 235
          },
          "name": "shell",
          "optional": true,
          "type": {
            "fqn": "projen.TaskShell"
          }
        }
      ],
      "symbolId": "src/task-model:TaskStepOptions"
    },
    "projen.Tasks": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Tasks extend the projen CLI by adding subcommands to it. Task definitions are\nsynthesized into `.projen/tasks.json`.",
        "stability": "experimental",
        "summary": "Defines and manages project tasks."
      },
      "fqn": "projen.Tasks",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/tasks.ts",
          "line": 25
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/tasks.ts",
        "line": 19
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds global environment."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 92
          },
          "name": "addEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "Environment variable name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Value."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a task to a project."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 49
          },
          "name": "addTask",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the task."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Task options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.TaskOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Task"
            }
          }
        },
        {
          "docs": {
            "returns": "The `Task` that was removed, otherwise `undefined`.",
            "stability": "experimental",
            "summary": "Removes a task from a project."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 67
          },
          "name": "removeTask",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the task to remove."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.Task"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 164
          },
          "name": "resolveTasksManifest",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.TasksManifest"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs the specified task."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 136
          },
          "name": "runTask",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the task to run."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Arguments to pass to the task."
              },
              "name": "args",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "primitive": "string"
                        },
                        {
                          "primitive": "number"
                        }
                      ]
                    }
                  },
                  "kind": "array"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes files to the project output directory."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 144
          },
          "name": "synthesize",
          "overrides": "projen.Component"
        },
        {
          "docs": {
            "remarks": "Returns `undefined` if the task cannot be found.",
            "stability": "experimental",
            "summary": "Finds a task by name."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 126
          },
          "name": "tryFind",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the task."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.Task"
            }
          }
        }
      ],
      "name": "Tasks",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "All tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 40
          },
          "name": "all",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Task"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns a copy of the currently global environment for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 99
          },
          "name": "env",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "remarks": "Individual tasks and steps can\noverride this.\nSets the default shell used to run all task commands.",
            "see": "{@link TaskCommonOptions.shell }",
            "stability": "experimental",
            "summary": "The default shell used to run all task commands, or `undefined` for the built-in cross-platform projen shell."
          },
          "locationInModule": {
            "filename": "src/tasks.ts",
            "line": 111
          },
          "name": "shell",
          "optional": true,
          "type": {
            "fqn": "projen.TaskShell"
          }
        }
      ],
      "symbolId": "src/tasks:Tasks"
    },
    "projen.TasksManifest": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Schema for `tasks.json`."
      },
      "fqn": "projen.TasksManifest",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/task-model.ts",
        "line": 6
      },
      "name": "TasksManifest",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Environment for all tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 26
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the manifest is treated as a legacy (unversioned) manifest",
            "remarks": "Used by the task runtime to detect manifests produced by a newer version\nof projen. Manifests generated by older versions of projen omit this field\nand are treated as \"legacy\" for backwards compatibility.",
            "stability": "experimental",
            "summary": "The version of the tasks manifest schema."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 16
          },
          "name": "manifestVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The default task shell, in `tasks.json` form: a keyword (`\"projen\"` or `\"system\"`) or an invocation argument list. See {@link TaskCommonOptions.shell}."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 33
          },
          "name": "shell",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "All tasks available for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/task-model.ts",
            "line": 21
          },
          "name": "tasks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.TaskSpec"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/task-model:TasksManifest"
    },
    "projen.TestFailureBehavior": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.TestFailureBehavior",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/json-patch.ts",
        "line": 19
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Skip the current patch operation and continue with the next operation."
          },
          "name": "SKIP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Fail the whole file synthesis."
          },
          "name": "FAIL_SYNTHESIS"
        }
      ],
      "name": "TestFailureBehavior",
      "symbolId": "src/json-patch:TestFailureBehavior"
    },
    "projen.Testing": {
      "assembly": "projen",
      "docs": {
        "example": "`expect(Testing.synth(someProject)).toMatchSnapshot()`",
        "stability": "experimental",
        "summary": "A Testing static class with a .synth helper for getting a snapshots of construct outputs. Useful for snapshot testing with Jest."
      },
      "fqn": "projen.Testing",
      "kind": "class",
      "locationInModule": {
        "filename": "src/testing.ts",
        "line": 11
      },
      "methods": [
        {
          "docs": {
            "returns": ": any }",
            "stability": "experimental",
            "summary": "Produces a simple JS object that represents the contents of the projects with field names being file paths."
          },
          "locationInModule": {
            "filename": "src/testing.ts",
            "line": 17
          },
          "name": "synth",
          "parameters": [
            {
              "docs": {
                "summary": "the project to produce a snapshot for."
              },
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.SnapshotOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "any"
                },
                "kind": "map"
              }
            }
          },
          "static": true
        }
      ],
      "name": "Testing",
      "symbolId": "src/testing:Testing"
    },
    "projen.TextFile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental",
        "summary": "A text file."
      },
      "fqn": "projen.TextFile",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Defines a text file."
        },
        "locationInModule": {
          "filename": "src/textfile.ts",
          "line": 30
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "docs": {
              "summary": "File path."
            },
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "Options."
            },
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.TextFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/textfile.ts",
        "line": 20
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a line to the text file."
          },
          "locationInModule": {
            "filename": "src/textfile.ts",
            "line": 44
          },
          "name": "addLine",
          "parameters": [
            {
              "docs": {
                "summary": "the line to add (can use tokens)."
              },
              "name": "line",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/textfile.ts",
            "line": 48
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "TextFile",
      "symbolId": "src/textfile:TextFile"
    },
    "projen.TextFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `TextFile`."
      },
      "fqn": "projen.TextFileOptions",
      "interfaces": [
        "projen.FileBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/textfile.ts",
        "line": 8
      },
      "name": "TextFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[] empty file",
            "remarks": "You can use `addLine()` to append lines.",
            "stability": "experimental",
            "summary": "The contents of the text file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/textfile.ts",
            "line": 14
          },
          "name": "lines",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/textfile:TextFileOptions"
    },
    "projen.TomlFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a TOML file."
      },
      "fqn": "projen.TomlFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/toml.ts",
          "line": 16
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.TomlFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/toml.ts",
        "line": 15
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/toml.ts",
            "line": 20
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "TomlFile",
      "symbolId": "src/toml:TomlFile"
    },
    "projen.TomlFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `TomlFile`."
      },
      "fqn": "projen.TomlFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/toml.ts",
        "line": 10
      },
      "name": "TomlFileOptions",
      "symbolId": "src/toml:TomlFileOptions"
    },
    "projen.Version": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.Version",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/version.ts",
          "line": 151
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.VersionOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/version.ts",
        "line": 112
      },
      "methods": [
        {
          "docs": {
            "remarks": "These options are used to modify the behavior of the version bumping script\nfor additional branches, by setting environment variables.\n\nNo settings are inherited from the base `Version` object (but any parameters that\ncontrol versions do conflict with the use of a `nextVersionCommand`).",
            "stability": "experimental",
            "summary": "Return the environment variables to modify the bump command for release branches."
          },
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 275
          },
          "name": "envForBranch",
          "parameters": [
            {
              "name": "branchOptions",
              "type": {
                "fqn": "projen.VersionBranchOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "Version",
      "properties": [
        {
          "docs": {
            "remarks": "This is a `commit-and-tag-version` compatible package.",
            "stability": "experimental",
            "summary": "The package used to bump package versions, as a dependency string."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 147
          },
          "name": "bumpPackage",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 113
          },
          "name": "bumpTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the changelog file (under `artifactsDirectory`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 131
          },
          "name": "changelogFileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Spawned\nby `bump`; its shell can be overridden via `task.shell`.",
            "stability": "experimental",
            "summary": "The task that prints the releasable commits since the latest tag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 120
          },
          "name": "releasableCommitsTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the file that contains the release tag (under `artifactsDirectory`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 141
          },
          "name": "releaseTagFileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 114
          },
          "name": "unbumpTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the file that contains the version (under `artifactsDirectory`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 136
          },
          "name": "versionFileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Spawned\nby `bump`; its shell can be overridden via `task.shell`.",
            "stability": "experimental",
            "summary": "The task that runs the user's `nextVersionCommand`, if configured."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 126
          },
          "name": "nextVersionTask",
          "optional": true,
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/version:Version"
    },
    "projen.VersionBranchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options to pass to `modifyBranchEnvironment`."
      },
      "fqn": "projen.VersionBranchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/version.ts",
        "line": 314
      },
      "name": "VersionBranchOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The major versions released from this branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 318
          },
          "name": "majorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The minimum major version to release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 323
          },
          "name": "minMajorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The minor versions released from this branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 328
          },
          "name": "minorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- normal releases",
            "stability": "experimental",
            "summary": "Bump the version as a pre-release tag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 335
          },
          "name": "prerelease",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no prefix",
            "remarks": "Note: this prefix is used to detect the latest tagged version\nwhen bumping, so if you change this on a project with an existing version\nhistory, you may need to manually tag your latest release\nwith the new prefix.",
            "stability": "experimental",
            "summary": "Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 349
          },
          "name": "tagPrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/version:VersionBranchOptions"
    },
    "projen.VersionOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Version`."
      },
      "fqn": "projen.VersionOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/version.ts",
        "line": 47
      },
      "name": "VersionOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the directory into which `changelog.md` and `version.txt` files are emitted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 59
          },
          "name": "artifactsDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"package.json\"",
            "stability": "experimental",
            "summary": "A name of a .json file to set the `version` field in after a bump."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 53
          },
          "name": "versionInputFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"commit-and-tag-version@12\"",
            "remarks": "This can be any compatible package version, including the deprecated `standard-version@9`.",
            "stability": "experimental",
            "summary": "The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 86
          },
          "name": "bumpPackage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The next version will be determined based on the commit history and project settings.",
            "remarks": "If present, this shell command will be run before the bump is executed, and\nit determines what version to release. It will be executed in the following\nenvironment:\n\n- Working directory: the project directory.\n- `$VERSION`: the current version. Looks like `1.2.3`.\n- `$LATEST_TAG`: the most recent tag. Looks like `prefix-v1.2.3`, or may be unset.\n- `$SUGGESTED_BUMP`: the suggested bump action based on commits. One of `major|minor|patch|none`.\n\nThe command should print one of the following to `stdout`:\n\n- Nothing: the next version number will be determined based on commit history.\n- `x.y.z`: the next version number will be `x.y.z`.\n- `major|minor|patch`: the next version number will be the current version number\n  with the indicated component bumped.",
            "stability": "experimental",
            "summary": "A shell command to control the next version to release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 109
          },
          "name": "nextVersionCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ReleasableCommits.everyCommit()",
            "stability": "experimental",
            "summary": "Find commits that should be considered releasable Used to decide if a release is required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 77
          },
          "name": "releasableCommits",
          "optional": true,
          "type": {
            "fqn": "projen.ReleasableCommits"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The tag prefix corresponding to this version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 69
          },
          "name": "tagPrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Custom configuration for versionrc file used by standard-release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/version.ts",
            "line": 64
          },
          "name": "versionrcOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/version:VersionOptions"
    },
    "projen.XmlFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "remarks": "Objects passed in will be synthesized using the npm \"xml\" library.",
        "see": "https://www.npmjs.com/package/xml",
        "stability": "experimental",
        "summary": "Represents an XML file."
      },
      "fqn": "projen.XmlFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/xmlfile.ts",
          "line": 19
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.XmlFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/xmlfile.ts",
        "line": 18
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/xmlfile.ts",
            "line": 27
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "XmlFile",
      "symbolId": "src/xmlfile:XmlFile"
    },
    "projen.XmlFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `XmlFile`."
      },
      "fqn": "projen.XmlFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/xmlfile.ts",
        "line": 10
      },
      "name": "XmlFileOptions",
      "symbolId": "src/xmlfile:XmlFileOptions"
    },
    "projen.YamlFile": {
      "assembly": "projen",
      "base": "projen.ObjectFile",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a YAML file."
      },
      "fqn": "projen.YamlFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/yaml.ts",
          "line": 28
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.YamlFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/yaml.ts",
        "line": 22
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/yaml.ts",
            "line": 33
          },
          "name": "synthesizeContent",
          "overrides": "projen.ObjectFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "YamlFile",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maximum line width (set to 0 to disable folding)."
          },
          "locationInModule": {
            "filename": "src/yaml.ts",
            "line": 26
          },
          "name": "lineWidth",
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/yaml:YamlFile"
    },
    "projen.YamlFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JsonFile`."
      },
      "fqn": "projen.YamlFileOptions",
      "interfaces": [
        "projen.ObjectFileOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/yaml.ts",
        "line": 10
      },
      "name": "YamlFileOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- 0",
            "stability": "experimental",
            "summary": "Maximum line width (set to 0 to disable folding)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/yaml.ts",
            "line": 16
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/yaml:YamlFileOptions"
    },
    "projen.awscdk.ApprovalLevel": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Which approval is required when deploying CDK apps."
      },
      "fqn": "projen.awscdk.ApprovalLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 258
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Approval is never required."
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Requires approval on any IAM or security-group-related change."
          },
          "name": "ANY_CHANGE"
        },
        {
          "docs": {
            "remarks": "removals don't require approval",
            "stability": "experimental",
            "summary": "Requires approval when IAM statements or traffic rules are added;"
          },
          "name": "BROADENING"
        }
      ],
      "name": "ApprovalLevel",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/cdk-config:ApprovalLevel"
    },
    "projen.awscdk.AutoDiscover": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Discovers and creates integration tests and lambdas from code in the project's source and test trees."
      },
      "fqn": "projen.awscdk.AutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 262
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 261
      },
      "name": "AutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:AutoDiscover"
    },
    "projen.awscdk.AutoDiscoverCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common options for auto discovering project subcomponents."
      },
      "fqn": "projen.awscdk.AutoDiscoverCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 23
      },
      "name": "AutoDiscoverCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "AWS CDK dependency manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 32
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the tsconfig file to use for integration tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 27
          },
          "name": "tsconfigPath",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:AutoDiscoverCommonOptions"
    },
    "projen.awscdk.AutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AutoDiscover`."
      },
      "fqn": "projen.awscdk.AutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.LambdaAutoDiscoverOptions",
        "projen.awscdk.LambdaExtensionAutoDiscoverOptions",
        "projen.awscdk.IntegrationTestAutoDiscoverOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 214
      },
      "name": "AutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Auto-discover edge lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 231
          },
          "name": "edgeLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Auto-discover integration tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 254
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Auto-discover lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 224
          },
          "name": "lambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Auto-discover lambda extensions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 247
          },
          "name": "lambdaExtensionAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "UUID is deterministically derived from the project name and entrypoint path.",
            "stability": "experimental",
            "summary": "Auto-discover singleton lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 240
          },
          "name": "singletonLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:AutoDiscoverOptions"
    },
    "projen.awscdk.AwsCdkConstructLibrary": {
      "assembly": "projen",
      "base": "projen.cdk.ConstructLibrary",
      "docs": {
        "custom": {
          "pjid": "awscdk-construct"
        },
        "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within the AWS CDK with a friendly workflow and automatic publishing to\nthe construct catalog.",
        "stability": "experimental",
        "summary": "AWS CDK construct library project."
      },
      "fqn": "projen.awscdk.AwsCdkConstructLibrary",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-construct.ts",
          "line": 88
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkConstructLibraryOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-construct.ts",
        "line": 85
      },
      "name": "AwsCdkConstructLibrary",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 86
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The target CDK version for this library."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 121
          },
          "name": "cdkVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-construct:AwsCdkConstructLibrary"
    },
    "projen.awscdk.AwsCdkConstructLibraryOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AwsCdkConstructLibrary`."
      },
      "fqn": "projen.awscdk.AwsCdkConstructLibraryOptions",
      "interfaces": [
        "projen.cdk.ConstructLibraryOptions",
        "projen.awscdk.AwsCdkDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-construct.ts",
        "line": 13
      },
      "name": "AwsCdkConstructLibraryOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 32
          },
          "name": "edgeLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable experimental support for the AWS CDK integ-runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 66
          },
          "name": "experimentalIntegRunner",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically discovers and creates integration tests for each `.integ.ts` file under your test directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 58
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 23
          },
          "name": "lambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 50
          },
          "name": "lambdaExtensionAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Common options for all AWS Lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 73
          },
          "name": "lambdaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaFunctionCommonOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `awscdk.SingletonFunction` for each `.singleton-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-construct.ts",
            "line": 41
          },
          "name": "singletonLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-construct:AwsCdkConstructLibraryOptions"
    },
    "projen.awscdk.AwsCdkDeps": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on the AWS CDK."
      },
      "fqn": "projen.awscdk.AwsCdkDeps",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-deps.ts",
          "line": 99
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps.ts",
        "line": 72
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 188
          },
          "name": "packageNames",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.awscdk.AwsCdkPackageNames"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 124
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "AwsCdkDeps",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "remarks": "Will return `^2` if the version was unspecified by the user.",
            "stability": "experimental",
            "summary": "The dependency requirement for the CDK CLI (e.g. '^2.3.4')."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 83
          },
          "name": "cdkCliVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The major version of the AWS CDK (e.g. 1, 2, ...)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 93
          },
          "name": "cdkMajorVersion",
          "type": {
            "primitive": "number"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The minimum version of the AWS CDK (e.g. `2.0.0`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 88
          },
          "name": "cdkMinimumVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency requirement for AWS CDK (e.g. `^2.0.0`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 76
          },
          "name": "cdkVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-deps:AwsCdkDeps"
    },
    "projen.awscdk.AwsCdkDepsCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AwsCdkDeps`."
      },
      "fqn": "projen.awscdk.AwsCdkDepsCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps.ts",
        "line": 9
      },
      "name": "AwsCdkDepsCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"2.189.1\"",
            "stability": "experimental",
            "summary": "Minimum version of the AWS CDK to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 15
          },
          "name": "cdkVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"^2\"",
            "remarks": "Can be either a specific version, or an NPM version range.\n\nBy default, the latest 2.x version will be installed; you can use this\noption to restrict it to a specific version or version range.",
            "stability": "experimental",
            "summary": "Version range of the AWS CDK CLI to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 27
          },
          "name": "cdkCliVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use this to prevent mixed versions for your CDK dependencies and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for CDK."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 43
          },
          "name": "cdkVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- for CDK 1.x the default is \"3.2.27\", for CDK 2.x the default is\n\"10.5.1\".",
            "stability": "experimental",
            "summary": "Minimum version of the `constructs` library to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 35
          },
          "name": "constructsVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-deps:AwsCdkDepsCommonOptions"
    },
    "projen.awscdk.AwsCdkDepsJava": {
      "assembly": "projen",
      "base": "projen.awscdk.AwsCdkDeps",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on the AWS CDK for Java projects."
      },
      "fqn": "projen.awscdk.AwsCdkDepsJava",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-deps.ts",
          "line": 99
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps-java.ts",
        "line": 7
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps-java.ts",
            "line": 8
          },
          "name": "packageNames",
          "overrides": "projen.awscdk.AwsCdkDeps",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.awscdk.AwsCdkPackageNames"
            }
          }
        }
      ],
      "name": "AwsCdkDepsJava",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/awscdk-deps-java:AwsCdkDepsJava"
    },
    "projen.awscdk.AwsCdkDepsJs": {
      "assembly": "projen",
      "base": "projen.awscdk.AwsCdkDeps",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on the AWS CDK for Node.js projects."
      },
      "fqn": "projen.awscdk.AwsCdkDepsJs",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-deps.ts",
          "line": 99
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps-js.ts",
        "line": 7
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps-js.ts",
            "line": 8
          },
          "name": "packageNames",
          "overrides": "projen.awscdk.AwsCdkDeps",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.awscdk.AwsCdkPackageNames"
            }
          }
        }
      ],
      "name": "AwsCdkDepsJs",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/awscdk-deps-js:AwsCdkDepsJs"
    },
    "projen.awscdk.AwsCdkDepsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.awscdk.AwsCdkDepsOptions",
      "interfaces": [
        "projen.awscdk.AwsCdkDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps.ts",
        "line": 46
      },
      "name": "AwsCdkDepsOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "For libraries, use peer dependencies and for apps use runtime dependencies.",
            "stability": "experimental",
            "summary": "The type of dependency to use for runtime AWS CDK and `constructs` modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 52
          },
          "name": "dependencyType",
          "type": {
            "fqn": "projen.DependencyType"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-deps:AwsCdkDepsOptions"
    },
    "projen.awscdk.AwsCdkDepsPy": {
      "assembly": "projen",
      "base": "projen.awscdk.AwsCdkDeps",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on the AWS CDK for Python projects."
      },
      "fqn": "projen.awscdk.AwsCdkDepsPy",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-deps.ts",
          "line": 99
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps-py.ts",
        "line": 7
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps-py.ts",
            "line": 8
          },
          "name": "packageNames",
          "overrides": "projen.awscdk.AwsCdkDeps",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.awscdk.AwsCdkPackageNames"
            }
          }
        }
      ],
      "name": "AwsCdkDepsPy",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/awscdk-deps-py:AwsCdkDepsPy"
    },
    "projen.awscdk.AwsCdkJavaApp": {
      "assembly": "projen",
      "base": "projen.java.JavaProject",
      "docs": {
        "custom": {
          "pjid": "awscdk-app-java"
        },
        "stability": "experimental",
        "summary": "AWS CDK app in Java."
      },
      "fqn": "projen.awscdk.AwsCdkJavaApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-app-java.ts",
          "line": 58
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkJavaAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-java.ts",
        "line": 27
      },
      "name": "AwsCdkJavaApp",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `cdk.json` file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 31
          },
          "name": "cdkConfig",
          "type": {
            "fqn": "projen.awscdk.CdkConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "CDK dependency management helper class."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 36
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "CDK tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 46
          },
          "name": "cdkTasks",
          "type": {
            "fqn": "projen.awscdk.CdkTasks"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The full name of the main class of the java app (package.Class)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 41
          },
          "name": "mainClass",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the Java class with the static `main()` method."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 56
          },
          "name": "mainClassName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the Java package that includes the main class."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 51
          },
          "name": "mainPackage",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-java:AwsCdkJavaApp"
    },
    "projen.awscdk.AwsCdkJavaAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.awscdk.AwsCdkJavaAppOptions",
      "interfaces": [
        "projen.java.JavaProjectOptions",
        "projen.awscdk.CdkConfigCommonOptions",
        "projen.awscdk.AwsCdkDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-java.ts",
        "line": 11
      },
      "name": "AwsCdkJavaAppOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"org.acme.MyApp\"",
            "remarks": "This method\nshould call `app.synth()` on the CDK app.",
            "stability": "experimental",
            "summary": "The name of the Java class with the static `main()` method."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-java.ts",
            "line": 19
          },
          "name": "mainClass",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-java:AwsCdkJavaAppOptions"
    },
    "projen.awscdk.AwsCdkPackageNames": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Language-specific AWS CDK package names."
      },
      "fqn": "projen.awscdk.AwsCdkPackageNames",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-deps.ts",
        "line": 58
      },
      "name": "AwsCdkPackageNames",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Fully qualified name of the constructs library package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 66
          },
          "name": "constructs",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Fully qualified name of the core framework package for CDKv2."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-deps.ts",
            "line": 62
          },
          "name": "coreV2",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-deps:AwsCdkPackageNames"
    },
    "projen.awscdk.AwsCdkPythonApp": {
      "assembly": "projen",
      "base": "projen.python.PythonProject",
      "docs": {
        "custom": {
          "pjid": "awscdk-app-py"
        },
        "stability": "experimental",
        "summary": "AWS CDK app in Python."
      },
      "fqn": "projen.awscdk.AwsCdkPythonApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-app-py.ts",
          "line": 66
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkPythonAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-py.ts",
        "line": 36
      },
      "name": "AwsCdkPythonApp",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK app entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 52
          },
          "name": "appEntrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "cdk.json configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 45
          },
          "name": "cdkConfig",
          "type": {
            "fqn": "projen.awscdk.CdkConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 47
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Common CDK tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 40
          },
          "name": "cdkTasks",
          "type": {
            "fqn": "projen.awscdk.CdkTasks"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK version this app is using."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 62
          },
          "name": "cdkVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which the python sample tests reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 57
          },
          "name": "sampleTestdir",
          "overrides": "projen.python.PythonProject",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-py:AwsCdkPythonApp"
    },
    "projen.awscdk.AwsCdkPythonAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AwsCdkPythonApp`."
      },
      "fqn": "projen.awscdk.AwsCdkPythonAppOptions",
      "interfaces": [
        "projen.python.PythonProjectOptions",
        "projen.awscdk.CdkConfigCommonOptions",
        "projen.awscdk.AwsCdkDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-py.ts",
        "line": 17
      },
      "name": "AwsCdkPythonAppOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"app.py\"",
            "stability": "experimental",
            "summary": "The CDK app's entrypoint (relative to the source directory, which is \"src\" by default)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-py.ts",
            "line": 28
          },
          "name": "appEntrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-py:AwsCdkPythonAppOptions"
    },
    "projen.awscdk.AwsCdkTypeScriptApp": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptAppProject",
      "docs": {
        "custom": {
          "pjid": "awscdk-app-ts"
        },
        "stability": "experimental",
        "summary": "AWS CDK app in TypeScript."
      },
      "fqn": "projen.awscdk.AwsCdkTypeScriptApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/awscdk-app-ts.ts",
          "line": 131
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.AwsCdkTypeScriptAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-ts.ts",
        "line": 106
      },
      "name": "AwsCdkTypeScriptApp",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK app entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 117
          },
          "name": "appEntrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "cdk.json configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 127
          },
          "name": "cdkConfig",
          "type": {
            "fqn": "projen.awscdk.CdkConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 129
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Common CDK tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 122
          },
          "name": "cdkTasks",
          "type": {
            "fqn": "projen.awscdk.CdkTasks"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK version this app is using."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 110
          },
          "name": "cdkVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-ts:AwsCdkTypeScriptApp"
    },
    "projen.awscdk.AwsCdkTypeScriptAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.awscdk.AwsCdkTypeScriptAppOptions",
      "interfaces": [
        "projen.typescript.TypeScriptProjectOptions",
        "projen.awscdk.CdkConfigCommonOptions",
        "projen.awscdk.AwsCdkDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/awscdk-app-ts.ts",
        "line": 24
      },
      "name": "AwsCdkTypeScriptAppOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command line to execute in order to synthesize the CDK application (language specific)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 40
          },
          "name": "app",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"main.ts\"",
            "stability": "experimental",
            "summary": "The CDK app's entrypoint (relative to the source directory, which is \"src\" by default)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 35
          },
          "name": "appEntrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 57
          },
          "name": "edgeLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable experimental support for the AWS CDK integ-runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 91
          },
          "name": "experimentalIntegRunner",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically discovers and creates integration tests for each `.integ.ts` file in under your test directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 83
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 48
          },
          "name": "lambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 75
          },
          "name": "lambdaExtensionAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Common options for all AWS Lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 98
          },
          "name": "lambdaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaFunctionCommonOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `awscdk.SingletonFunction` for each `.singleton-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/awscdk-app-ts.ts",
            "line": 66
          },
          "name": "singletonLambdaAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/awscdk/awscdk-app-ts:AwsCdkTypeScriptAppOptions"
    },
    "projen.awscdk.CdkConfig": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Represents cdk.json file."
      },
      "fqn": "projen.awscdk.CdkConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/cdk-config.ts",
          "line": 184
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.CdkConfigOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 158
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add excludes to `cdk.json`."
          },
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 229
          },
          "name": "addExcludes",
          "parameters": [
            {
              "docs": {
                "summary": "The excludes to add."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add includes to `cdk.json`."
          },
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 221
          },
          "name": "addIncludes",
          "parameters": [
            {
              "docs": {
                "summary": "The includes to add."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "CdkConfig",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Name of the cdk.out directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 167
          },
          "name": "cdkout",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The context to write to cdk.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 250
          },
          "name": "context",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of glob patterns to be excluded by CDK."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 243
          },
          "name": "exclude",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of glob patterns to be included by CDK."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 236
          },
          "name": "include",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Represents the JSON file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 162
          },
          "name": "json",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:CdkConfig"
    },
    "projen.awscdk.CdkConfigCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common options for `cdk.json`."
      },
      "fqn": "projen.awscdk.CdkConfigCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 82
      },
      "name": "CdkConfigCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no build command",
            "remarks": "This command will be called when\nrunning `cdk synth` or when `cdk watch` identifies a change in your source\ncode before redeployment.\n\nThe CDK CLI runs it through a shell on every synthesis, on the machine of\nanyone who checks out the project, so shell syntax in it is interpreted and\nthe command should be one you would run yourself.",
            "stability": "experimental",
            "summary": "A command to execute before synthesis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 127
          },
          "name": "buildCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"cdk.out\"",
            "stability": "experimental",
            "summary": "cdk.out directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 114
          },
          "name": "cdkout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional context",
            "stability": "experimental",
            "summary": "Additional context to include in `cdk.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 88
          },
          "name": "context",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no feature flags are enabled by default",
            "remarks": "Make sure to double-check any changes to feature flags in `cdk.json` before deploying.\nUnexpected changes may cause breaking changes in your CDK app.\nYou can overwrite any feature flag by passing it into the context field.",
            "stability": "experimental",
            "summary": "Feature flags that should be enabled in `cdk.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 99
          },
          "name": "featureFlags",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.ICdkFeatureFlags"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ApprovalLevel.BROADENING",
            "stability": "experimental",
            "summary": "To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 107
          },
          "name": "requireApproval",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.ApprovalLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Glob patterns to exclude from `cdk watch`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 141
          },
          "name": "watchExcludes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Glob patterns to include in `cdk watch`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 134
          },
          "name": "watchIncludes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:CdkConfigCommonOptions"
    },
    "projen.awscdk.CdkConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `CdkJson`."
      },
      "fqn": "projen.awscdk.CdkConfigOptions",
      "interfaces": [
        "projen.awscdk.CdkConfigCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 147
      },
      "name": "CdkConfigOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command line to execute in order to synthesize the CDK application (language specific)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 152
          },
          "name": "app",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:CdkConfigOptions"
    },
    "projen.awscdk.CdkFeatureFlags": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "CDK feature flags configuration."
      },
      "fqn": "projen.awscdk.CdkFeatureFlags",
      "interfaces": [
        "projen.awscdk.ICdkFeatureFlags"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 66
      },
      "name": "CdkFeatureFlags",
      "namespace": "awscdk",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "CDK V2 feature flags configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 70
          },
          "name": "V2",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.CdkFeatureFlagsV2"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 72
          },
          "name": "flags",
          "overrides": "projen.awscdk.ICdkFeatureFlags",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:CdkFeatureFlags"
    },
    "projen.awscdk.CdkFeatureFlagsV2": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "CDK V2 feature flags configuration."
      },
      "fqn": "projen.awscdk.CdkFeatureFlagsV2",
      "interfaces": [
        "projen.awscdk.ICdkFeatureFlags"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 11
      },
      "methods": [
        {
          "docs": {
            "remarks": "Falls back to all known feature flags if not found.",
            "stability": "experimental",
            "summary": "Attempt to load the feature flags from the `aws-cdk-lib/recommended-feature-flags.json` in a locally available npm package. This file is typically only present in AWS CDK TypeScript projects, but can yield more accurate results."
          },
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 33
          },
          "name": "fromLocalAwsCdkLib",
          "returns": {
            "type": {
              "fqn": "projen.awscdk.CdkFeatureFlagsV2"
            }
          },
          "static": true
        }
      ],
      "name": "CdkFeatureFlagsV2",
      "namespace": "awscdk",
      "properties": [
        {
          "const": true,
          "docs": {
            "remarks": "These might not include feature flags, if your version of projen isn't up-to-date.\n\nMake sure to double-check any changes to feature flags in `cdk.json` before deploying.\nUnexpected changes may cause breaking changes in your CDK app.\nYou can overwrite any feature flag by passing it into the context field.",
            "stability": "experimental",
            "summary": "Enable all CDK V2 feature flags known to projen."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 25
          },
          "name": "ALL",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.CdkFeatureFlagsV2"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Disable all feature flags."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 15
          },
          "name": "NONE",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.CdkFeatureFlagsV2"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 48
          },
          "name": "flags",
          "overrides": "projen.awscdk.ICdkFeatureFlags",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:CdkFeatureFlagsV2"
    },
    "projen.awscdk.CdkTasks": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Adds standard AWS CDK tasks to your project."
      },
      "fqn": "projen.awscdk.CdkTasks",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/cdk-tasks.ts",
          "line": 39
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/cdk-tasks.ts",
        "line": 8
      },
      "name": "CdkTasks",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Deploys your app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 22
          },
          "name": "deploy",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Destroys all the stacks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 27
          },
          "name": "destroy",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Diff against production."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 32
          },
          "name": "diff",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes your app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 12
          },
          "name": "synth",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes your app and suppresses stdout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 17
          },
          "name": "synthSilent",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Watch task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-tasks.ts",
            "line": 37
          },
          "name": "watch",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-tasks:CdkTasks"
    },
    "projen.awscdk.EdgeLambdaAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.AutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Creates edge lambdas from entry points discovered in the project's source tree."
      },
      "fqn": "projen.awscdk.EdgeLambdaAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 158
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.EdgeLambdaAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 157
      },
      "name": "EdgeLambdaAutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:EdgeLambdaAutoDiscover"
    },
    "projen.awscdk.EdgeLambdaAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `EdgeLambdaAutoDiscover`."
      },
      "fqn": "projen.awscdk.EdgeLambdaAutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.AutoDiscoverCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 142
      },
      "name": "EdgeLambdaAutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project source tree (relative to project output directory)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 146
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for AWS Lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 151
          },
          "name": "lambdaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaFunctionCommonOptions"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:EdgeLambdaAutoDiscoverOptions"
    },
    "projen.awscdk.ICdkFeatureFlags": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "subclassable": true
      },
      "fqn": "projen.awscdk.ICdkFeatureFlags",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/cdk-config.ts",
        "line": 59
      },
      "name": "ICdkFeatureFlags",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/cdk-config.ts",
            "line": 60
          },
          "name": "flags",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/cdk-config:ICdkFeatureFlags"
    },
    "projen.awscdk.IntegrationTest": {
      "assembly": "projen",
      "base": "projen.cdk.IntegrationTestBase",
      "docs": {
        "stability": "experimental",
        "summary": "Cloud integration tests."
      },
      "fqn": "projen.awscdk.IntegrationTest",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/integration-test.ts",
          "line": 57
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.IntegrationTestOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/integration-test.ts",
        "line": 46
      },
      "name": "IntegrationTest",
      "namespace": "awscdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Destroy the integration test resources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 50
          },
          "name": "destroyTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The watch task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 55
          },
          "name": "watchTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/awscdk/integration-test:IntegrationTest"
    },
    "projen.awscdk.IntegrationTestAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.IntegrationTestAutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Creates integration tests from entry points discovered in the test tree."
      },
      "fqn": "projen.awscdk.IntegrationTestAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 50
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.IntegrationTestAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 49
      },
      "name": "IntegrationTestAutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:IntegrationTestAutoDiscover"
    },
    "projen.awscdk.IntegrationTestAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `IntegrationTestAutoDiscover`."
      },
      "fqn": "projen.awscdk.IntegrationTestAutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.AutoDiscoverCommonOptions",
        "projen.cdk.IntegrationTestAutoDiscoverBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 38
      },
      "name": "IntegrationTestAutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for integration tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 43
          },
          "name": "integrationTestOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.IntegrationTestCommonOptions"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:IntegrationTestAutoDiscoverOptions"
    },
    "projen.awscdk.IntegrationTestCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.awscdk.IntegrationTestCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/integration-test.ts",
        "line": 9
      },
      "name": "IntegrationTestCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "If disabled, leaves the\napp deployed in the dev account.",
            "stability": "experimental",
            "summary": "Destroy the test app after a successful deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 15
          },
          "name": "destroyAfterDeploy",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enables path metadata, adding `aws:cdk:path`, with the defining construct's path, to the CloudFormation metadata for each synthesized resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 22
          },
          "name": "pathMetadata",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/awscdk/integration-test:IntegrationTestCommonOptions"
    },
    "projen.awscdk.IntegrationTestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `IntegrationTest`."
      },
      "fqn": "projen.awscdk.IntegrationTestOptions",
      "interfaces": [
        "projen.awscdk.IntegrationTestCommonOptions",
        "projen.cdk.IntegrationTestBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/integration-test.ts",
        "line": 28
      },
      "name": "IntegrationTestOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "AWS CDK dependency manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 40
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[\"**\"]",
            "stability": "experimental",
            "summary": "A list of stacks within the integration test to deploy/destroy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/integration-test.ts",
            "line": 35
          },
          "name": "stacks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/integration-test:IntegrationTestOptions"
    },
    "projen.awscdk.LambdaAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.AutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Creates lambdas from entry points discovered in the project's source tree."
      },
      "fqn": "projen.awscdk.LambdaAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 83
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.LambdaAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 82
      },
      "name": "LambdaAutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:LambdaAutoDiscover"
    },
    "projen.awscdk.LambdaAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `LambdaAutoDiscover`."
      },
      "fqn": "projen.awscdk.LambdaAutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.AutoDiscoverCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 67
      },
      "name": "LambdaAutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project source tree (relative to project output directory)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 71
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for AWS Lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 76
          },
          "name": "lambdaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaFunctionCommonOptions"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:LambdaAutoDiscoverOptions"
    },
    "projen.awscdk.LambdaExtension": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Create a Lambda Extension."
      },
      "fqn": "projen.awscdk.LambdaExtension",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/lambda-extension.ts",
          "line": 83
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.LambdaExtensionOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/lambda-extension.ts",
        "line": 82
      },
      "name": "LambdaExtension",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/lambda-extension:LambdaExtension"
    },
    "projen.awscdk.LambdaExtensionAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.AutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Creates Lambda Extensions from entrypoints discovered in the project's source tree."
      },
      "fqn": "projen.awscdk.LambdaExtensionAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 195
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.LambdaExtensionAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 194
      },
      "name": "LambdaExtensionAutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:LambdaExtensionAutoDiscover"
    },
    "projen.awscdk.LambdaExtensionAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `LambdaExtensionAutoDiscover`."
      },
      "fqn": "projen.awscdk.LambdaExtensionAutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.AutoDiscoverCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 178
      },
      "name": "LambdaExtensionAutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project source tree (relative to project output directory)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 182
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for lambda extensions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 187
          },
          "name": "lambdaExtensionOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaExtensionCommonOptions"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:LambdaExtensionAutoDiscoverOptions"
    },
    "projen.awscdk.LambdaExtensionCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common options for creating lambda extensions."
      },
      "fqn": "projen.awscdk.LambdaExtensionCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/lambda-extension.ts",
        "line": 18
      },
      "name": "LambdaExtensionCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "remarks": "If not specified the default bundling options specified for the project\n`Bundler` instance will be used.",
            "stability": "experimental",
            "summary": "Bundling options for this AWS Lambda extension."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 32
          },
          "name": "bundlingOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BundlingOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The extension's compatible runtimes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 22
          },
          "name": "compatibleRuntimes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.awscdk.LambdaRuntime"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-extension:LambdaExtensionCommonOptions"
    },
    "projen.awscdk.LambdaExtensionOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for creating lambda extensions."
      },
      "fqn": "projen.awscdk.LambdaExtensionOptions",
      "interfaces": [
        "projen.awscdk.LambdaExtensionCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/lambda-extension.ts",
        "line": 38
      },
      "name": "LambdaExtensionOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "AWS CDK dependency manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 59
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"src/subdir/foo.lambda-extension.ts\"",
            "remarks": "This is relative to the root directory of the project.",
            "stability": "experimental",
            "summary": "A path from the project root directory to a TypeScript file which contains the AWS Lambda extension entrypoint (stand-alone script)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 54
          },
          "name": "entrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The name of the entrypoint file, with the `-layer-version.ts`\nsuffix instead of `.lambda-extension.ts`.",
            "remarks": "This file should also be\nunder the source tree.",
            "stability": "experimental",
            "summary": "The name of the generated TypeScript source file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 68
          },
          "name": "constructFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- A pascal cased version of the name of the entrypoint file, with\nthe extension `LayerVersion` (e.g. `AppConfigLayerVersion`).",
            "stability": "experimental",
            "summary": "The name of the generated `lambda.LayerVersion` subclass."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 76
          },
          "name": "constructName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Derived from the entrypoint filename.",
            "stability": "experimental",
            "summary": "Name of the extension."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-extension.ts",
            "line": 44
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-extension:LambdaExtensionOptions"
    },
    "projen.awscdk.LambdaFunction": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "example": "new LambdaFunction(myProject, {\n  srcdir: myProject.srcdir,\n  entrypoint: 'src/foo.lambda.ts',\n});",
        "remarks": "To use this, create an AWS Lambda handler file under your source tree with\nthe `.lambda.ts` extension and add a `LambdaFunction` component to your\ntypescript project pointing to this entrypoint.\n\nThis will add a task to your \"compile\" step which will use `esbuild` to\nbundle the handler code into the build directory. It will also generate a\nfile `src/foo-function.ts` with a custom AWS construct called `FooFunction`\nwhich extends `@aws-cdk/aws-lambda.Function` which is bound to the bundled\nhandle through an asset.",
        "stability": "experimental",
        "summary": "Generates a pre-bundled AWS Lambda function construct from handler code."
      },
      "fqn": "projen.awscdk.LambdaFunction",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Defines a pre-bundled AWS Lambda function construct from handler code."
        },
        "locationInModule": {
          "filename": "src/awscdk/lambda-function.ts",
          "line": 151
        },
        "parameters": [
          {
            "docs": {
              "summary": "The project to use."
            },
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "docs": {
              "summary": "Options."
            },
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.LambdaFunctionOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/lambda-function.ts",
        "line": 144
      },
      "name": "LambdaFunction",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/lambda-function:LambdaFunction"
    },
    "projen.awscdk.LambdaFunctionCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Applies to all functions in\nauto-discovery.",
        "stability": "experimental",
        "summary": "Common options for `LambdaFunction`."
      },
      "fqn": "projen.awscdk.LambdaFunctionCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/lambda-function.ts",
        "line": 22
      },
      "name": "LambdaFunctionCommonOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This sets the `AWS_NODEJS_CONNECTION_REUSE_ENABLED` environment variable\nto `1`.\n\nNot applicable when `edgeLambda` is set to `true` because environment\nvariables are not supported in Lambda@Edge.",
            "see": "https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/node-reusing-connections.html",
            "stability": "experimental",
            "summary": "Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 55
          },
          "name": "awsSdkConnectionReuse",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "remarks": "If not specified the default bundling options specified for the project\n`Bundler` instance will be used.",
            "stability": "experimental",
            "summary": "Bundling options for this AWS Lambda function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 39
          },
          "name": "bundlingOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BundlingOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to create a `cloudfront.experimental.EdgeFunction` instead of a `lambda.Function`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 63
          },
          "name": "edgeLambda",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LambdaRuntime.NODEJS_REGIONAL_LATEST - Uses the latest Node.js runtime\navailable in the deployment region, determined at CDK synthesis time.",
            "stability": "experimental",
            "summary": "The node.js version to target."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 29
          },
          "name": "runtime",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Not compatible with `edgeLambda`.",
            "stability": "experimental",
            "summary": "Whether to create a `lambda.SingletonFunction` instead of a `lambda.Function`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 73
          },
          "name": "singleton",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no UUID is hardcoded and consumers must provide one",
            "remarks": "When specified, the generated singleton construct hardcodes this UUID.\n\nOnly valid when `singleton` is set to `true`.",
            "stability": "experimental",
            "summary": "UUID to use for singleton lambda uniqueness."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 84
          },
          "name": "singletonUuid",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-function:LambdaFunctionCommonOptions"
    },
    "projen.awscdk.LambdaFunctionOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Function`."
      },
      "fqn": "projen.awscdk.LambdaFunctionOptions",
      "interfaces": [
        "projen.awscdk.LambdaFunctionCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/lambda-function.ts",
        "line": 90
      },
      "name": "LambdaFunctionOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "AWS CDK dependency manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 121
          },
          "name": "cdkDeps",
          "type": {
            "fqn": "projen.awscdk.AwsCdkDeps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"src/subdir/foo.lambda.ts\"",
            "remarks": "This is relative to the root directory of the project.",
            "stability": "experimental",
            "summary": "A path from the project root directory to a TypeScript file which contains the AWS Lambda handler entrypoint (exports a `handler` function)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 99
          },
          "name": "entrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The name of the entrypoint file, with the `-function.ts` suffix\ninstead of `.lambda.ts`.",
            "remarks": "This file should also be\nunder the source tree.",
            "stability": "experimental",
            "summary": "The name of the generated TypeScript source file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 108
          },
          "name": "constructFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- A pascal cased version of the name of the entrypoint file, with\nthe extension `Function` (e.g. `ResizeImageFunction`).",
            "stability": "experimental",
            "summary": "The name of the generated `lambda.Function` subclass."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 116
          },
          "name": "constructName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-function:LambdaFunctionOptions"
    },
    "projen.awscdk.LambdaRuntime": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The runtime for the AWS Lambda function."
      },
      "fqn": "projen.awscdk.LambdaRuntime",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/lambda-function.ts",
          "line": 446
        },
        "parameters": [
          {
            "docs": {
              "summary": "The Node.js runtime to use."
            },
            "name": "functionRuntime",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "The esbuild setting to use."
            },
            "name": "esbuildTarget",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "Options for this runtime."
            },
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.awscdk.LambdaRuntimeOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/lambda-function.ts",
        "line": 372
      },
      "name": "LambdaRuntime",
      "namespace": "awscdk",
      "properties": [
        {
          "const": true,
          "docs": {
            "deprecated": "Node.js 14 runtime has been deprecated on Dec 4, 2023",
            "stability": "deprecated",
            "summary": "Node.js 14.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 377
          },
          "name": "NODEJS_14_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "deprecated": "Node.js 16 runtime has been deprecated on Jun 12, 2024",
            "stability": "deprecated",
            "summary": "Node.js 16.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 387
          },
          "name": "NODEJS_16_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "deprecated": ": Node.js 18 runtime has been deprecated on Sep 1, 2025",
            "stability": "deprecated",
            "summary": "Node.js 18.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 398
          },
          "name": "NODEJS_18_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Node.js 20.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 406
          },
          "name": "NODEJS_20_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Node.js 22.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 414
          },
          "name": "NODEJS_22_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Node.js 24.x."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 422
          },
          "name": "NODEJS_24_X",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "const": true,
          "docs": {
            "default": "Uses determineLatestNodeRuntime() from aws-cdk-lib",
            "remarks": "This generates code that uses `determineLatestNodeRuntime()` at CDK synthesis time,\nwhich dynamically selects the latest Node.js runtime available based on regional\navailability. This eliminates the need to manually update runtime versions and\navoids EOL warnings.",
            "stability": "experimental",
            "summary": "Use the latest Node.js runtime available in the deployment region."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 437
          },
          "name": "NODEJS_REGIONAL_LATEST",
          "static": true,
          "type": {
            "fqn": "projen.awscdk.LambdaRuntime"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 444
          },
          "name": "defaultExternals",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 442
          },
          "name": "esbuildPlatform",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The esbuild setting to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 455
          },
          "name": "esbuildTarget",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The Node.js runtime to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 450
          },
          "name": "functionRuntime",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-function:LambdaRuntime"
    },
    "projen.awscdk.LambdaRuntimeOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the AWS Lambda function runtime."
      },
      "fqn": "projen.awscdk.LambdaRuntimeOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/lambda-function.ts",
        "line": 360
      },
      "name": "LambdaRuntimeOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "['@aws-sdk/*']",
            "stability": "experimental",
            "summary": "Packages that are considered externals by default when bundling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/lambda-function.ts",
            "line": 366
          },
          "name": "defaultExternals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/awscdk/lambda-function:LambdaRuntimeOptions"
    },
    "projen.awscdk.SingletonLambdaAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.AutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Creates singleton lambdas from entry points discovered in the project's source tree."
      },
      "fqn": "projen.awscdk.SingletonLambdaAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/awscdk/auto-discover.ts",
          "line": 118
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.awscdk.SingletonLambdaAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 117
      },
      "name": "SingletonLambdaAutoDiscover",
      "namespace": "awscdk",
      "symbolId": "src/awscdk/auto-discover:SingletonLambdaAutoDiscover"
    },
    "projen.awscdk.SingletonLambdaAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `SingletonLambdaAutoDiscover`."
      },
      "fqn": "projen.awscdk.SingletonLambdaAutoDiscoverOptions",
      "interfaces": [
        "projen.awscdk.AutoDiscoverCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/awscdk/auto-discover.ts",
        "line": 102
      },
      "name": "SingletonLambdaAutoDiscoverOptions",
      "namespace": "awscdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project source tree (relative to project output directory)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 106
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for AWS Lambda functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/awscdk/auto-discover.ts",
            "line": 111
          },
          "name": "lambdaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.awscdk.LambdaFunctionCommonOptions"
          }
        }
      ],
      "symbolId": "src/awscdk/auto-discover:SingletonLambdaAutoDiscoverOptions"
    },
    "projen.build.AddPostBuildJobCommandsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `BuildWorkflow.addPostBuildJobCommands`."
      },
      "fqn": "projen.build.AddPostBuildJobCommandsOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/build/build-workflow.ts",
        "line": 535
      },
      "name": "AddPostBuildJobCommandsOptions",
      "namespace": "build",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Check out the repository at the pull request branch before commands are run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 547
          },
          "name": "checkoutRepo",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Currently only supported for `NodeProject`.",
            "stability": "experimental",
            "summary": "Install project dependencies before running commands. `checkoutRepo` must also be set to true."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 557
          },
          "name": "installDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 565
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 572
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Tools that should be installed before the commands are run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 539
          },
          "name": "tools",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Tools"
          }
        }
      ],
      "symbolId": "src/build/build-workflow:AddPostBuildJobCommandsOptions"
    },
    "projen.build.AddPostBuildJobTaskOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `BuildWorkflow.addPostBuildJobTask`."
      },
      "fqn": "projen.build.AddPostBuildJobTaskOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/build/build-workflow.ts",
        "line": 510
      },
      "name": "AddPostBuildJobTaskOptions",
      "namespace": "build",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 522
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 529
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Tools that should be installed before the task is run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 514
          },
          "name": "tools",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Tools"
          }
        }
      ],
      "symbolId": "src/build/build-workflow:AddPostBuildJobTaskOptions"
    },
    "projen.build.BuildWorkflow": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.build.BuildWorkflow",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/build/build-workflow.ts",
          "line": 179
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.build.BuildWorkflowOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/build/build-workflow.ts",
        "line": 159
      },
      "methods": [
        {
          "docs": {
            "remarks": "Jobs are executed _only_ if the build did NOT self mutate. If the build\nself-mutate, the branch will either be updated or the build will fail (in\nforks), so there is no point in executing the post-build job.",
            "stability": "experimental",
            "summary": "Adds another job to the build workflow which is executed after the build job succeeded."
          },
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 284
          },
          "name": "addPostBuildJob",
          "parameters": [
            {
              "docs": {
                "summary": "The id of the new job."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The job specification."
              },
              "name": "job",
              "type": {
                "fqn": "projen.github.workflows.Job"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Jobs are executed _only_ if the build did NOT self mutate. If the build\nself-mutate, the branch will either be updated or the build will fail (in\nforks), so there is no point in executing the post-build job.",
            "stability": "experimental",
            "summary": "Run a sequence of commands as a job within the build workflow which is executed after the build job succeeded."
          },
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 368
          },
          "name": "addPostBuildJobCommands",
          "parameters": [
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "commands",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            },
            {
              "docs": {
                "summary": "Specify tools and other options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.build.AddPostBuildJobCommandsOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "The job will have access to build artifacts and will install project\ndependencies in order to be able to run any commands used in the tasks.\n\nJobs are executed _only_ if the build did NOT self mutate. If the build\nself-mutate, the branch will either be updated or the build will fail (in\nforks), so there is no point in executing the post-build job.",
            "stability": "experimental",
            "summary": "Run a task as a job within the build workflow which is executed after the build job succeeded."
          },
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 342
          },
          "name": "addPostBuildJobTask",
          "parameters": [
            {
              "name": "task",
              "type": {
                "fqn": "projen.Task"
              }
            },
            {
              "docs": {
                "summary": "Specify tools and other options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.build.AddPostBuildJobTaskOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds steps that are executed after the build."
          },
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 269
          },
          "name": "addPostBuildSteps",
          "parameters": [
            {
              "docs": {
                "summary": "The job steps."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "BuildWorkflow",
      "namespace": "build",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns a list of job IDs that are part of the build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 261
          },
          "name": "buildJobIds",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Name of generated github workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 163
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The underlying GitHub Actions workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 168
          },
          "name": "workflow",
          "type": {
            "fqn": "projen.github.GithubWorkflow"
          }
        }
      ],
      "symbolId": "src/build/build-workflow:BuildWorkflow"
    },
    "projen.build.BuildWorkflowCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.build.BuildWorkflowCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/build/build-workflow.ts",
        "line": 46
      },
      "name": "BuildWorkflowCommonOptions",
      "namespace": "build",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Build environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 77
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"build\"",
            "stability": "experimental",
            "summary": "Name of the buildfile (e.g. \"build\" becomes \"build.yml\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 52
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`{ contents: JobPermission.WRITE }`",
            "stability": "experimental",
            "summary": "Permissions granted to the build job To limit job permissions for `contents`, the desired permissions have to be explicitly set, e.g.: `{ contents: JobPermission.NONE }`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 71
          },
          "name": "permissions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Steps to execute before the build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 58
          },
          "name": "preBuildSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"{ pullRequest: {}, workflowDispatch: {} }\"",
            "stability": "experimental",
            "summary": "Build workflow triggers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 64
          },
          "name": "workflowTriggers",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Triggers"
          }
        }
      ],
      "symbolId": "src/build/build-workflow:BuildWorkflowCommonOptions"
    },
    "projen.build.BuildWorkflowOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.build.BuildWorkflowOptions",
      "interfaces": [
        "projen.build.BuildWorkflowCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/build/build-workflow.ts",
        "line": 80
      },
      "name": "BuildWorkflowOptions",
      "namespace": "build",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The task to execute in order to build the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 84
          },
          "name": "buildTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"dist\"",
            "stability": "experimental",
            "summary": "A name of a directory that includes build artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 90
          },
          "name": "artifactsDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels for just the build job",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "- runsOn",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 149
          },
          "name": "buildRunsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the default workflow container",
            "stability": "experimental",
            "summary": "The container image to use for builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 96
          },
          "name": "containerImage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user",
            "stability": "experimental",
            "summary": "Git identity to use for the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 133
          },
          "name": "gitIdentity",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This means that any files synthesized by projen or e.g. test snapshots will\nalways be up-to-date before a PR is merged.\n\nImplies that PR builds do not have anti-tamper checks.\n\nThis is enabled by default only if `githubTokenSecret` is set. Otherwise it\nis disabled, which implies that file changes that happen during build will\nnot be pushed back to the branch.",
            "stability": "experimental",
            "summary": "Automatically update files modified during builds to pull-request branches."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 111
          },
          "name": "mutableBuild",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- value of `mutableBuild`",
            "remarks": "This will update the\npackage lockfile during installs, which is useful when build steps modify\ndependencies. Set to `false` to use frozen lockfile installs even when\n`mutableBuild` is enabled.",
            "stability": "experimental",
            "summary": "Perform a mutable (non-frozen) install during builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 121
          },
          "name": "mutableInstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Steps to execute after build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 127
          },
          "name": "postBuildSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 141
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/build/build-workflow.ts",
            "line": 156
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/build/build-workflow:BuildWorkflowOptions"
    },
    "projen.cdk.AutoDiscoverBase": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Base class for auto-discovering and creating project subcomponents."
      },
      "fqn": "projen.cdk.AutoDiscoverBase",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/auto-discover-base.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk.AutoDiscoverBaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/auto-discover-base.ts",
        "line": 29
      },
      "name": "AutoDiscoverBase",
      "namespace": "cdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Auto-discovered entry points with paths relative to the project directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/auto-discover-base.ts",
            "line": 34
          },
          "name": "entrypoints",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/cdk/auto-discover-base:AutoDiscoverBase"
    },
    "projen.cdk.AutoDiscoverBaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AutoDiscoverBase`."
      },
      "fqn": "projen.cdk.AutoDiscoverBaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/auto-discover-base.ts",
        "line": 10
      },
      "name": "AutoDiscoverBaseOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "\".integ.ts\"",
            "stability": "experimental",
            "summary": "Locate files with the given extension."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/auto-discover-base.ts",
            "line": 16
          },
          "name": "extension",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"test\"",
            "stability": "experimental",
            "summary": "Locate entrypoints in the given project directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/auto-discover-base.ts",
            "line": 23
          },
          "name": "projectdir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/auto-discover-base:AutoDiscoverBaseOptions"
    },
    "projen.cdk.Catalog": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.Catalog",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/construct-lib.ts",
        "line": 25
      },
      "name": "Catalog",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Should we announce new versions?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/construct-lib.ts",
            "line": 35
          },
          "name": "announce",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "mention": "in announcement tweet."
            },
            "stability": "experimental",
            "summary": "Twitter account to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/construct-lib.ts",
            "line": 29
          },
          "name": "twitter",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/construct-lib:Catalog"
    },
    "projen.cdk.ConstructLibrary": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.cdk.JsiiProject",
      "docs": {
        "stability": "experimental",
        "summary": "A multi-language library for CDK constructs."
      },
      "fqn": "projen.cdk.ConstructLibrary",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/construct-lib.ts",
          "line": 42
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk.ConstructLibraryOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/construct-lib.ts",
        "line": 41
      },
      "name": "ConstructLibrary",
      "namespace": "cdk",
      "symbolId": "src/cdk/construct-lib:ConstructLibrary"
    },
    "projen.cdk.ConstructLibraryOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.ConstructLibraryOptions",
      "interfaces": [
        "projen.cdk.JsiiProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/construct-lib.ts",
        "line": 4
      },
      "name": "ConstructLibraryOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- new version will be announced",
            "remarks": "https://awscdk.io/packages/[@SCOPE/]PACKAGE@VERSION\n\nThe catalog will also post a tweet to https://twitter.com/awscdkio with the\npackage name, description and the above link. You can disable these tweets\nthrough `{ announce: false }`.\n\nYou can also add a Twitter handle through `{ twitter: 'xx' }` which will be\nmentioned in the tweet.",
            "see": "https://github.com/construct-catalog/catalog",
            "stability": "experimental",
            "summary": "Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/construct-lib.ts",
            "line": 22
          },
          "name": "catalog",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.Catalog"
          }
        }
      ],
      "symbolId": "src/cdk/construct-lib:ConstructLibraryOptions"
    },
    "projen.cdk.IntegrationTestAutoDiscoverBase": {
      "assembly": "projen",
      "base": "projen.cdk.AutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Base class for locating integration tests in the project's test tree."
      },
      "fqn": "projen.cdk.IntegrationTestAutoDiscoverBase",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/auto-discover-base.ts",
          "line": 61
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk.IntegrationTestAutoDiscoverBaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/auto-discover-base.ts",
        "line": 60
      },
      "name": "IntegrationTestAutoDiscoverBase",
      "namespace": "cdk",
      "symbolId": "src/cdk/auto-discover-base:IntegrationTestAutoDiscoverBase"
    },
    "projen.cdk.IntegrationTestAutoDiscoverBaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `IntegrationTestAutoDiscoverBase`."
      },
      "fqn": "projen.cdk.IntegrationTestAutoDiscoverBaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/auto-discover-base.ts",
        "line": 50
      },
      "name": "IntegrationTestAutoDiscoverBaseOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Test source tree."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/auto-discover-base.ts",
            "line": 54
          },
          "name": "testdir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/auto-discover-base:IntegrationTestAutoDiscoverBaseOptions"
    },
    "projen.cdk.IntegrationTestBase": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.IntegrationTestBase",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/integration-test-base.ts",
          "line": 65
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk.IntegrationTestBaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/integration-test-base.ts",
        "line": 34
      },
      "name": "IntegrationTestBase",
      "namespace": "cdk",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes the integration test and compares against a local copy (runs during build)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 43
          },
          "name": "assertTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Deploy the integration test and update the snapshot upon success."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 38
          },
          "name": "deployTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Integration test name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 63
          },
          "name": "name",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Snapshot output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 58
          },
          "name": "snapshotDir",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Just update snapshot (without deployment)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 48
          },
          "name": "snapshotTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Temporary directory for each integration test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 53
          },
          "name": "tmpDir",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/integration-test-base:IntegrationTestBase"
    },
    "projen.cdk.IntegrationTestBaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for IntegrationTest."
      },
      "fqn": "projen.cdk.IntegrationTestBaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/integration-test-base.ts",
        "line": 11
      },
      "name": "IntegrationTestBaseOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "\"test/subdir/foo.integ.ts\"",
            "remarks": "This is relative to the root directory of the project.",
            "stability": "experimental",
            "summary": "A path from the project root directory to a TypeScript file which contains the integration test app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 26
          },
          "name": "entrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The path of the tsconfig.json file to use when running integration test cdk apps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 31
          },
          "name": "tsconfigPath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Derived from the entrypoint filename.",
            "stability": "experimental",
            "summary": "Name of the integration test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/integration-test-base.ts",
            "line": 16
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/integration-test-base:IntegrationTestBaseOptions"
    },
    "projen.cdk.JsiiBuild": {
      "assembly": "projen",
      "docs": {
        "example": "const project = new TypeScriptProject({ disableTsconfig: true, ... });\nproject.with(new JsiiBuild({\n  jsiiVersion: '~5.9.0',\n  publishToMaven: { ... },\n}));",
        "remarks": "This implements the constructs `IMixin` interface and is applied using the\n`.with()` method on any construct.",
        "stability": "experimental",
        "summary": "A mixin that adds jsii compilation, multi-language packaging, and publishing capabilities to any TypeScript project."
      },
      "fqn": "projen.cdk.JsiiBuild",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/jsii-build.ts",
          "line": 240
        },
        "parameters": [
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.cdk.JsiiBuildOptions"
            }
          },
          {
            "name": "extraJobOptions",
            "optional": true,
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "any"
                },
                "kind": "map"
              }
            }
          }
        ]
      },
      "interfaces": [
        "constructs.IMixin"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/jsii-build.ts",
        "line": 236
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Applies jsii configuration to the target TypeScriptProject."
          },
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 258
          },
          "name": "applyTo",
          "overrides": "constructs.IMixin",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "constructs.IConstruct"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns true if the construct is a TypeScriptProject."
          },
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 251
          },
          "name": "supports",
          "overrides": "constructs.IMixin",
          "parameters": [
            {
              "name": "construct",
              "type": {
                "fqn": "constructs.IConstruct"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        }
      ],
      "name": "JsiiBuild",
      "namespace": "cdk",
      "symbolId": "src/cdk/jsii-build:JsiiBuild"
    },
    "projen.cdk.JsiiBuildOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JsiiBuild`."
      },
      "fqn": "projen.cdk.JsiiBuildOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-build.ts",
        "line": 62
      },
      "name": "JsiiBuildOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "Options for publishing npm package to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 172
          },
          "name": "codeArtifactOptions",
          "optional": true,
          "type": {
            "fqn": "projen.release.CodeArtifactOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "- You can manually run compatibility tests using `yarn compat` if this feature is disabled.\n- You can ignore compatibility failures by adding lines to a \".compatignore\" file.",
            "stability": "experimental",
            "summary": "Automatically run API compatibility test against the latest version published to npm after compilation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 95
          },
          "name": "compat",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".compatignore\"",
            "stability": "experimental",
            "summary": "Name of the ignore file for API compatibility tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 102
          },
          "name": "compatIgnore",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Emit a compressed version of the assembly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 123
          },
          "name": "compressAssembly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Generate a MarkDown file describing the jsii API."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 151
          },
          "name": "docgen",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"API.md\"",
            "stability": "experimental",
            "summary": "File path for generated docs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 117
          },
          "name": "docgenFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Files matching any of those patterns will be excluded from the TypeScript compiler input.\n\nBy default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input.\nThis can be problematic for example when the package's build or test procedure generates .ts files\nthat cannot be compiled with jsii's compiler settings.",
            "stability": "experimental",
            "summary": "Accepts a list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 111
          },
          "name": "excludeTypescript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"~5.9.0\"",
            "remarks": "Set to \"*\" if you want to manually manage the version of jsii in your\nproject by managing updates to `package.json` on your own.\n\nNOTE: The jsii compiler releases since 5.0.0 are not semantically versioned\nand should remain on the same minor, so we recommend using a `~` dependency\n(e.g. `~5.0.0`).",
            "stability": "experimental",
            "summary": "Version of the jsii compiler to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 137
          },
          "name": "jsiiVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to use trusted publishing for npm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 165
          },
          "name": "npmTrustedPublishing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish Go bindings to a git repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 79
          },
          "name": "publishToGo",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiGoTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to maven."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 67
          },
          "name": "publishToMaven",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiJavaTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to NuGet."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 85
          },
          "name": "publishToNuget",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiDotNetTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to pypi."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 73
          },
          "name": "publishToPypi",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiPythonTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether to publish to npm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 158
          },
          "name": "releaseToNpm",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"stable\"",
            "stability": "experimental",
            "summary": "The stability of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 144
          },
          "name": "stability",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the project's tsconfig (i.e. `project.tsconfig`)",
            "remarks": "Provide a dedicated config (e.g. one named `tsconfig.jsii.json`) to keep\njsii compilation separate from the project's editor-facing `tsconfig.json`.\njsii requires a comment-free, strict-valid config, so `JsiiBuild` disables\ncomments on whichever config it is given.",
            "stability": "experimental",
            "summary": "The TypescriptConfig that jsii compiles against."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 219
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ValidateTsconfig.STRICT",
            "remarks": "Only relevant when the project synthesizes its own tsconfig\n(i.e. `disableTsconfig` is not set on the TypeScriptProject).",
            "see": "https://aws.github.io/jsii/user-guides/lib-author/configuration/#validatetsconfig",
            "stability": "experimental",
            "summary": "Level of tsconfig validation jsii should perform on the user-provided tsconfig."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 207
          },
          "name": "validateTsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.ValidateTsconfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Additional steps to run before packaging in workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 196
          },
          "name": "workflowBootstrapSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.Step"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"lts/*\"",
            "stability": "experimental",
            "summary": "The node version to use in packaging workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 189
          },
          "name": "workflowNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".\" - root of the repository",
            "remarks": "This is used in monorepo setups where the package is not at the root.\nPackaging steps will extract build artifacts into this subdirectory.",
            "stability": "experimental",
            "summary": "Relative path of the package within the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-build.ts",
            "line": 182
          },
          "name": "workspaceDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-build:JsiiBuildOptions"
    },
    "projen.cdk.JsiiDocgen": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Creates a markdown file based on the jsii manifest: - Adds a `docgen` script to package.json - Runs `jsii-docgen` after compilation - Enforces that markdown file is checked in."
      },
      "fqn": "projen.cdk.JsiiDocgen",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/jsii-docgen.ts",
          "line": 30
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.cdk.JsiiDocgenOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/jsii-docgen.ts",
        "line": 29
      },
      "name": "JsiiDocgen",
      "namespace": "cdk",
      "symbolId": "src/cdk/jsii-docgen:JsiiDocgen"
    },
    "projen.cdk.JsiiDocgenOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JsiiDocgen`."
      },
      "fqn": "projen.cdk.JsiiDocgenOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-docgen.ts",
        "line": 8
      },
      "name": "JsiiDocgenOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"API.md\"",
            "stability": "experimental",
            "summary": "File path for generated docs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-docgen.ts",
            "line": 13
          },
          "name": "filePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'*'",
            "stability": "experimental",
            "summary": "A semver version string to install a specific version of jsii-docgen."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-docgen.ts",
            "line": 20
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-docgen:JsiiDocgenOptions"
    },
    "projen.cdk.JsiiDotNetTarget": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.JsiiDotNetTarget",
      "interfaces": [
        "projen.release.NugetPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 148
      },
      "name": "JsiiDotNetTarget",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 149
          },
          "name": "dotNetNamespace",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 150
          },
          "name": "packageId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 151
          },
          "name": "iconUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-project:JsiiDotNetTarget"
    },
    "projen.cdk.JsiiGoTarget": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Go target configuration."
      },
      "fqn": "projen.cdk.JsiiGoTarget",
      "interfaces": [
        "projen.release.GoPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 157
      },
      "name": "JsiiGoTarget",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "github.com/owner/repo",
            "remarks": "The module itself will always be published under a subdirectory named according\nto the `packageName` of the module (e.g. github.com/foo/bar/pkg).",
            "stability": "experimental",
            "summary": "The name of the target repository in which this module will be published (e.g. github.com/owner/repo)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 166
          },
          "name": "moduleName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "projen": "/foo-bar will be projenfoobar)."
            },
            "default": "- derived from the JavaScript module name",
            "remarks": "If not specified, package name will be derived from the JavaScript module name\nby removing non-alphanumeric characters (e.g.",
            "stability": "experimental",
            "summary": "The name of the Go package name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 176
          },
          "name": "packageName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- none",
            "stability": "experimental",
            "summary": "A suffix appended at the end of the module version (e.g `\"-devprefix\"`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 183
          },
          "name": "versionSuffix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-project:JsiiGoTarget"
    },
    "projen.cdk.JsiiJavaTarget": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.JsiiJavaTarget",
      "interfaces": [
        "projen.release.MavenPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 137
      },
      "name": "JsiiJavaTarget",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 138
          },
          "name": "javaPackage",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 140
          },
          "name": "mavenArtifactId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 139
          },
          "name": "mavenGroupId",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-project:JsiiJavaTarget"
    },
    "projen.cdk.JsiiProject": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptProject",
      "docs": {
        "custom": {
          "pjid": "jsii"
        },
        "stability": "experimental",
        "summary": "Multi-language jsii library project."
      },
      "fqn": "projen.cdk.JsiiProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk/jsii-project.ts",
          "line": 192
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk.JsiiProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 191
      },
      "name": "JsiiProject",
      "namespace": "cdk",
      "symbolId": "src/cdk/jsii-project:JsiiProject"
    },
    "projen.cdk.JsiiProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.JsiiProjectOptions",
      "interfaces": [
        "projen.typescript.TypeScriptProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 18
      },
      "name": "JsiiProjectOptions",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "$GIT_USER_NAME",
            "stability": "experimental",
            "summary": "The name of the library author."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 34
          },
          "name": "author",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "$GIT_USER_EMAIL",
            "stability": "experimental",
            "summary": "Email or URL of the library author."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 40
          },
          "name": "authorAddress",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "$GIT_REMOTE",
            "stability": "experimental",
            "summary": "Git repository URL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 28
          },
          "name": "repositoryUrl",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "- You can manually run compatibility tests using `yarn compat` if this feature is disabled.\n- You can ignore compatibility failures by adding lines to a \".compatignore\" file.",
            "stability": "experimental",
            "summary": "Automatically run API compatibility test against the latest version published to npm after compilation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 74
          },
          "name": "compat",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".compatignore\"",
            "stability": "experimental",
            "summary": "Name of the ignore file for API compatibility tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 81
          },
          "name": "compatIgnore",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Emit a compressed version of the assembly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 102
          },
          "name": "compressAssembly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"API.md\"",
            "stability": "experimental",
            "summary": "File path for generated docs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 96
          },
          "name": "docgenFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Files matching any of those patterns will be excluded from the TypeScript compiler input.\n\nBy default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input.\nThis can be problematic for example when the package's build or test procedure generates .ts files\nthat cannot be compiled with jsii's compiler settings.",
            "stability": "experimental",
            "summary": "Accepts a list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 90
          },
          "name": "excludeTypescript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "pjnew": "\"~6.0.0\""
            },
            "default": "\"~5.9.0\"",
            "remarks": "Set to \"*\" if you want to manually manage the version of jsii in your\nproject by managing updates to `package.json` on your own.\n\nNOTE: The jsii compiler releases since 5.0.0 are not semantically versioned\nand should remain on the same minor, so we recommend using a `~` dependency\n(e.g. `~5.0.0`).",
            "stability": "experimental",
            "summary": "Version of the jsii compiler to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 117
          },
          "name": "jsiiVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish Go bindings to a git repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 58
          },
          "name": "publishToGo",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiGoTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to maven."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 46
          },
          "name": "publishToMaven",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiJavaTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to NuGet."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 64
          },
          "name": "publishToNuget",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiDotNetTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no publishing",
            "stability": "experimental",
            "summary": "Publish to pypi."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 52
          },
          "name": "publishToPypi",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.JsiiPythonTarget"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".\"",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 22
          },
          "name": "rootdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ValidateTsconfig.STRICT",
            "remarks": "Only relevant when the project synthesizes its own tsconfig\n(i.e. `disableTsconfig` is not set on the TypeScriptProject).",
            "see": "https://aws.github.io/jsii/user-guides/lib-author/configuration/#validatetsconfig",
            "stability": "experimental",
            "summary": "Level of tsconfig validation jsii should perform on the user-provided tsconfig."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 128
          },
          "name": "validateTsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.cdk.ValidateTsconfig"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-project:JsiiProjectOptions"
    },
    "projen.cdk.JsiiPythonTarget": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.JsiiPythonTarget",
      "interfaces": [
        "projen.release.PyPiPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 143
      },
      "name": "JsiiPythonTarget",
      "namespace": "cdk",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 144
          },
          "name": "distName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk/jsii-project.ts",
            "line": 145
          },
          "name": "module",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk/jsii-project:JsiiPythonTarget"
    },
    "projen.cdk.Stability": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk.Stability",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/cdk/jsii-project.ts",
        "line": 131
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "EXPERIMENTAL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STABLE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEPRECATED"
        }
      ],
      "name": "Stability",
      "namespace": "cdk",
      "symbolId": "src/cdk/jsii-project:Stability"
    },
    "projen.cdk.ValidateTsconfig": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Level of tsconfig validation jsii should perform."
      },
      "fqn": "projen.cdk.ValidateTsconfig",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/cdk/jsii-build.ts",
        "line": 37
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Validates against a strict rule set designed for widespread support and backwards-compatibility."
          },
          "name": "STRICT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Enforces a tsconfig as if it were generated by jsii."
          },
          "name": "GENERATED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only reject options known to be incompatible with jsii."
          },
          "name": "MINIMAL"
        },
        {
          "docs": {
            "remarks": "Use at your own risk.",
            "stability": "experimental",
            "summary": "Disables all config validation."
          },
          "name": "OFF"
        }
      ],
      "name": "ValidateTsconfig",
      "namespace": "cdk",
      "symbolId": "src/cdk/jsii-build:ValidateTsconfig"
    },
    "projen.cdk8s.AutoDiscover": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Automatically discovers and creates `IntegrationTest`s from entry points found in the test tree."
      },
      "fqn": "projen.cdk8s.AutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/auto-discover.ts",
          "line": 24
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.AutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/auto-discover.ts",
        "line": 23
      },
      "name": "AutoDiscover",
      "namespace": "cdk8s",
      "symbolId": "src/cdk8s/auto-discover:AutoDiscover"
    },
    "projen.cdk8s.AutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `AutoDiscover`."
      },
      "fqn": "projen.cdk8s.AutoDiscoverOptions",
      "interfaces": [
        "projen.cdk8s.IntegrationTestAutoDiscoverOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/auto-discover.ts",
        "line": 10
      },
      "name": "AutoDiscoverOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically discover integration tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/auto-discover.ts",
            "line": 16
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/cdk8s/auto-discover:AutoDiscoverOptions"
    },
    "projen.cdk8s.Cdk8sDeps": {
      "abstract": true,
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on the CDK8s."
      },
      "fqn": "projen.cdk8s.Cdk8sDeps",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/cdk8s-deps.ts",
          "line": 154
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.Cdk8sDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-deps.ts",
        "line": 134
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 198
          },
          "name": "packageNames",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.cdk8s.Cdk8sPackageNames"
            }
          }
        }
      ],
      "name": "Cdk8sDeps",
      "namespace": "cdk8s",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The major version of the CDK8s (e.g. 1, 2, ...)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 148
          },
          "name": "cdk8sMajorVersion",
          "type": {
            "primitive": "number"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The minimum version of the CDK8s (e.g. `2.0.0`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 143
          },
          "name": "cdk8sMinimumVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency requirement for CDK8s."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 138
          },
          "name": "cdk8sVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-deps:Cdk8sDeps"
    },
    "projen.cdk8s.Cdk8sDepsCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Cdk8sDeps`."
      },
      "fqn": "projen.cdk8s.Cdk8sDepsCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-deps.ts",
        "line": 9
      },
      "name": "Cdk8sDepsCommonOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"2.3.33\"",
            "stability": "experimental",
            "summary": "Minimum version of the cdk8s to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 15
          },
          "name": "cdk8sVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"2.0.28\"",
            "stability": "experimental",
            "summary": "Minimum version of the cdk8s-cli to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 22
          },
          "name": "cdk8sCliVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your CDK8s package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for cdk8s-cli."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 49
          },
          "name": "cdk8sCliVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include cdk8s-plus."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 66
          },
          "name": "cdk8sPlus",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"2.0.0-rc.26\"",
            "stability": "experimental",
            "summary": "Minimum version of the cdk8s-plus-XX to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 82
          },
          "name": "cdk8sPlusVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your CDK8s package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for cdk8s-plus-17."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 92
          },
          "name": "cdk8sPlusVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your CDK8s package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for cdk8s."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 39
          },
          "name": "cdk8sVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"10.1.42\"",
            "stability": "experimental",
            "summary": "Minimum version of the `constructs` library to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 29
          },
          "name": "constructsVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your consructs package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for constructs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 59
          },
          "name": "constructsVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "22",
            "stability": "experimental",
            "summary": "The cdk8s-plus library depends of Kubernetes minor version For example, cdk8s-plus-22 targets kubernetes version 1.22.0 cdk8s-plus-21 targets kubernetes version 1.21.0."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 75
          },
          "name": "k8sMinorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-deps:Cdk8sDepsCommonOptions"
    },
    "projen.cdk8s.Cdk8sDepsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.Cdk8sDepsOptions",
      "interfaces": [
        "projen.cdk8s.Cdk8sDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-deps.ts",
        "line": 95
      },
      "name": "Cdk8sDepsOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add cdk8s-cli only to Node projects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 108
          },
          "name": "cdk8sCliDependency",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "For libraries, use peer dependencies and for apps use runtime dependencies.",
            "stability": "experimental",
            "summary": "The type of dependency to use for runtime CDK8s and `constructs` modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 101
          },
          "name": "dependencyType",
          "type": {
            "fqn": "projen.DependencyType"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-deps:Cdk8sDepsOptions"
    },
    "projen.cdk8s.Cdk8sDepsPy": {
      "assembly": "projen",
      "base": "projen.cdk8s.Cdk8sDeps",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.Cdk8sDepsPy",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/cdk8s-deps.ts",
          "line": 154
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.Cdk8sDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-deps-py.ts",
        "line": 4
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Return a configuration object with information about package naming in various languages."
          },
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps-py.ts",
            "line": 5
          },
          "name": "packageNames",
          "overrides": "projen.cdk8s.Cdk8sDeps",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.cdk8s.Cdk8sPackageNames"
            }
          }
        }
      ],
      "name": "Cdk8sDepsPy",
      "namespace": "cdk8s",
      "symbolId": "src/cdk8s/cdk8s-deps-py:Cdk8sDepsPy"
    },
    "projen.cdk8s.Cdk8sPackageNames": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.Cdk8sPackageNames",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-deps.ts",
        "line": 111
      },
      "name": "Cdk8sPackageNames",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Fully qualified name of the core framework package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 115
          },
          "name": "cdk8s",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Fully qualified name of the cdk9s-plus-XX library package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 128
          },
          "name": "cdk8sPlus",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Fully qualified name of the constructs library package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 124
          },
          "name": "constructs",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Used only on Node projects",
            "stability": "experimental",
            "summary": "Fully qualified name of the client package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-deps.ts",
            "line": 120
          },
          "name": "cdk8sClient",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-deps:Cdk8sPackageNames"
    },
    "projen.cdk8s.Cdk8sPythonApp": {
      "assembly": "projen",
      "base": "projen.python.PythonProject",
      "docs": {
        "custom": {
          "pjid": "cdk8s-app-py"
        },
        "stability": "experimental",
        "summary": "CDK8s app in Python."
      },
      "fqn": "projen.cdk8s.Cdk8sPythonApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/cdk8s-app-py.ts",
          "line": 48
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.Cdk8sPythonOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-app-py.ts",
        "line": 40
      },
      "name": "Cdk8sPythonApp",
      "namespace": "cdk8s",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK8s app entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-py.ts",
            "line": 44
          },
          "name": "appEntrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-py.ts",
            "line": 46
          },
          "name": "cdk8sDeps",
          "type": {
            "fqn": "projen.cdk8s.Cdk8sDeps"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-app-py:Cdk8sPythonApp"
    },
    "projen.cdk8s.Cdk8sPythonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Cdk8sPythonApp`."
      },
      "fqn": "projen.cdk8s.Cdk8sPythonOptions",
      "interfaces": [
        "projen.python.PythonProjectOptions",
        "projen.cdk8s.Cdk8sDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-app-py.ts",
        "line": 10
      },
      "name": "Cdk8sPythonOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"app.py\"",
            "stability": "experimental",
            "summary": "The CDK8s app's entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-py.ts",
            "line": 31
          },
          "name": "appEntrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional specs imported",
            "stability": "experimental",
            "summary": "Import additional specs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-py.ts",
            "line": 24
          },
          "name": "cdk8sImports",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Use the cdk8s default",
            "stability": "experimental",
            "summary": "Import a specific Kubernetes spec version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-py.ts",
            "line": 17
          },
          "name": "k8sSpecVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-app-py:Cdk8sPythonOptions"
    },
    "projen.cdk8s.Cdk8sTypeScriptApp": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptAppProject",
      "docs": {
        "custom": {
          "pjid": "cdk8s-app-ts"
        },
        "stability": "experimental",
        "summary": "CDK8s app in TypeScript."
      },
      "fqn": "projen.cdk8s.Cdk8sTypeScriptApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/cdk8s-app-ts.ts",
          "line": 61
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.Cdk8sTypeScriptAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-app-ts.ts",
        "line": 53
      },
      "name": "Cdk8sTypeScriptApp",
      "namespace": "cdk8s",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK8s app entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 57
          },
          "name": "appEntrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 59
          },
          "name": "cdk8sDeps",
          "type": {
            "fqn": "projen.cdk8s.Cdk8sDeps"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-app-ts:Cdk8sTypeScriptApp"
    },
    "projen.cdk8s.Cdk8sTypeScriptAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.Cdk8sTypeScriptAppOptions",
      "interfaces": [
        "projen.typescript.TypeScriptProjectOptions",
        "projen.cdk8s.Cdk8sDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-app-ts.ts",
        "line": 12
      },
      "name": "Cdk8sTypeScriptAppOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"main.ts\"",
            "stability": "experimental",
            "summary": "The CDK8s app's entrypoint (relative to the source directory, which is \"src\" by default)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 34
          },
          "name": "appEntrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional specs imported",
            "stability": "experimental",
            "summary": "Import additional specs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 26
          },
          "name": "cdk8sImports",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `cdk8s.IntegrationTest` for each `.integ.ts` app in your test directory. If this is disabled, you can manually add an `cdk8s.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 43
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Use the cdk8s default",
            "stability": "experimental",
            "summary": "Import a specific Kubernetes spec version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-app-ts.ts",
            "line": 19
          },
          "name": "k8sSpecVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-app-ts:Cdk8sTypeScriptAppOptions"
    },
    "projen.cdk8s.ConstructLibraryCdk8s": {
      "assembly": "projen",
      "base": "projen.cdk.ConstructLibrary",
      "docs": {
        "custom": {
          "pjid": "cdk8s-construct"
        },
        "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within the CDK for Kubernetes (CDK8s), with a friendly workflow and\nautomatic publishing to the construct catalog.",
        "stability": "experimental",
        "summary": "CDK8s construct library project."
      },
      "fqn": "projen.cdk8s.ConstructLibraryCdk8s",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/cdk8s-construct.ts",
          "line": 83
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.ConstructLibraryCdk8sOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-construct.ts",
        "line": 72
      },
      "name": "ConstructLibraryCdk8s",
      "namespace": "cdk8s",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDK8s version this app is using."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 76
          },
          "name": "cdk8sVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The constructs version this app is using."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 81
          },
          "name": "constructsVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-construct:ConstructLibraryCdk8s"
    },
    "projen.cdk8s.ConstructLibraryCdk8sOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.ConstructLibraryCdk8sOptions",
      "interfaces": [
        "projen.cdk.ConstructLibraryOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/cdk8s-construct.ts",
        "line": 6
      },
      "name": "ConstructLibraryCdk8sOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"1.4.10\"",
            "stability": "experimental",
            "summary": "Minimum target version this library is tested against."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 13
          },
          "name": "cdk8sVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your CDK8s package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for cdk8s-plus-17."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 51
          },
          "name": "cdk8sPlusVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your CDK8s package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for CDK8s."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 31
          },
          "name": "cdk8sVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"3.3.196\"",
            "stability": "experimental",
            "summary": "constructs verion."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 21
          },
          "name": "constructsVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You can use this to prevent yarn to mix versions for your consructs package and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for constructs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 41
          },
          "name": "constructsVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically adds an `cdk8s.IntegrationTest` for each `.integ.ts` app in your test directory. If this is disabled, you can manually add an `cdk8s.AutoDiscover` component to your project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/cdk8s-construct.ts",
            "line": 60
          },
          "name": "integrationTestAutoDiscover",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/cdk8s/cdk8s-construct:ConstructLibraryCdk8sOptions"
    },
    "projen.cdk8s.IntegrationTest": {
      "assembly": "projen",
      "base": "projen.cdk.IntegrationTestBase",
      "docs": {
        "stability": "experimental",
        "summary": "CDK8S integration test."
      },
      "fqn": "projen.cdk8s.IntegrationTest",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/integration-test.ts",
          "line": 16
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.IntegrationTestOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/integration-test.ts",
        "line": 15
      },
      "name": "IntegrationTest",
      "namespace": "cdk8s",
      "symbolId": "src/cdk8s/integration-test:IntegrationTest"
    },
    "projen.cdk8s.IntegrationTestAutoDiscover": {
      "assembly": "projen",
      "base": "projen.cdk.IntegrationTestAutoDiscoverBase",
      "docs": {
        "stability": "experimental",
        "summary": "Discovers and creates integration tests from files in the test root."
      },
      "fqn": "projen.cdk8s.IntegrationTestAutoDiscover",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdk8s/auto-discover.ts",
          "line": 44
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdk8s.IntegrationTestAutoDiscoverOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdk8s/auto-discover.ts",
        "line": 43
      },
      "name": "IntegrationTestAutoDiscover",
      "namespace": "cdk8s",
      "symbolId": "src/cdk8s/auto-discover:IntegrationTestAutoDiscover"
    },
    "projen.cdk8s.IntegrationTestAutoDiscoverOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdk8s.IntegrationTestAutoDiscoverOptions",
      "interfaces": [
        "projen.cdk.IntegrationTestAutoDiscoverBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/auto-discover.ts",
        "line": 33
      },
      "name": "IntegrationTestAutoDiscoverOptions",
      "namespace": "cdk8s",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the tsconfig file to use for integration tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdk8s/auto-discover.ts",
            "line": 37
          },
          "name": "tsconfigPath",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdk8s/auto-discover:IntegrationTestAutoDiscoverOptions"
    },
    "projen.cdk8s.IntegrationTestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for IntegrationTest."
      },
      "fqn": "projen.cdk8s.IntegrationTestOptions",
      "interfaces": [
        "projen.cdk.IntegrationTestBaseOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdk8s/integration-test.ts",
        "line": 10
      },
      "name": "IntegrationTestOptions",
      "namespace": "cdk8s",
      "symbolId": "src/cdk8s/integration-test:IntegrationTestOptions"
    },
    "projen.cdktf.ConstructLibraryCdktf": {
      "assembly": "projen",
      "base": "projen.cdk.ConstructLibrary",
      "docs": {
        "custom": {
          "pjid": "cdktf-construct"
        },
        "deprecated": "CDKTF has been archived by HashiCorp. Use ConstructLibraryCdktn from the cdktn module instead.\nCDKTN is a community-driven fork that continues active development. Learn more at https://cdktn.io/",
        "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within the CDK for Terraform (CDKTF), with a friendly workflow and\nautomatic publishing to the construct catalog.",
        "stability": "deprecated",
        "summary": "CDKTF construct library project."
      },
      "fqn": "projen.cdktf.ConstructLibraryCdktf",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/cdktf/cdktf-construct.ts",
          "line": 32
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdktf.ConstructLibraryCdktfOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktf/cdktf-construct.ts",
        "line": 31
      },
      "name": "ConstructLibraryCdktf",
      "namespace": "cdktf",
      "symbolId": "src/cdktf/cdktf-construct:ConstructLibraryCdktf"
    },
    "projen.cdktf.ConstructLibraryCdktfOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdktf.ConstructLibraryCdktfOptions",
      "interfaces": [
        "projen.cdk.ConstructLibraryOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktf/cdktf-construct.ts",
        "line": 5
      },
      "name": "ConstructLibraryCdktfOptions",
      "namespace": "cdktf",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"^0.13.0\"",
            "stability": "experimental",
            "summary": "Minimum target version this library is tested against."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktf/cdktf-construct.ts",
            "line": 11
          },
          "name": "cdktfVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"^10.3.0\"",
            "stability": "experimental",
            "summary": "Construct version to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktf/cdktf-construct.ts",
            "line": 17
          },
          "name": "constructsVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktf/cdktf-construct:ConstructLibraryCdktfOptions"
    },
    "projen.cdktn.CdktnConfig": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "CDKTN (CDK Terrain) continues to use the `cdktf.json` filename for\nbackwards compatibility with its CDKTF origins.",
        "stability": "experimental",
        "summary": "Represents cdktf.json file."
      },
      "fqn": "projen.cdktn.CdktnConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdktn/cdktn-config.ts",
          "line": 99
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdktn.CdktnConfigOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-config.ts",
        "line": 78
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add Terraform modules to `cdktf.json`."
          },
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 139
          },
          "name": "addTerraformModules",
          "parameters": [
            {
              "docs": {
                "summary": "The modules to add."
              },
              "name": "modules",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add Terraform providers to `cdktf.json`."
          },
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 131
          },
          "name": "addTerraformProviders",
          "parameters": [
            {
              "docs": {
                "summary": "The providers to add."
              },
              "name": "providers",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "CdktnConfig",
      "namespace": "cdktn",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Name of the cdktn.out directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 87
          },
          "name": "cdktnOut",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Represents the JSON file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 82
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-config:CdktnConfig"
    },
    "projen.cdktn.CdktnConfigCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common options for `cdktf.json`."
      },
      "fqn": "projen.cdktn.CdktnConfigCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-config.ts",
        "line": 10
      },
      "name": "CdktnConfigCommonOptions",
      "namespace": "cdktn",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"cdktf.out\"",
            "stability": "experimental",
            "summary": "CDKTN output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 37
          },
          "name": "cdktnOut",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional context",
            "stability": "experimental",
            "summary": "Additional context to include in `cdktf.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 30
          },
          "name": "context",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Automatically generated",
            "stability": "experimental",
            "summary": "CDK project identifier."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 44
          },
          "name": "projectId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether report crashing to a remote server."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 51
          },
          "name": "sendCrashReports",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Terraform modules to build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 23
          },
          "name": "terraformModules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Terraform providers to build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 16
          },
          "name": "terraformProviders",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-config:CdktnConfigCommonOptions"
    },
    "projen.cdktn.CdktnConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `CdktnConfig`."
      },
      "fqn": "projen.cdktn.CdktnConfigOptions",
      "interfaces": [
        "projen.cdktn.CdktnConfigCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-config.ts",
        "line": 57
      },
      "name": "CdktnConfigOptions",
      "namespace": "cdktn",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command line to execute in order to synthesize the CDKTN application (language specific)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 62
          },
          "name": "app",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"typescript\"",
            "stability": "experimental",
            "summary": "The programming language used in the CDKTN app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-config.ts",
            "line": 69
          },
          "name": "language",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-config:CdktnConfigOptions"
    },
    "projen.cdktn.CdktnDeps": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies on CDK Terrain (CDKTN)."
      },
      "fqn": "projen.cdktn.CdktnDeps",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdktn/cdktn-deps.ts",
          "line": 75
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdktn.CdktnDepsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-deps.ts",
        "line": 57
      },
      "name": "CdktnDeps",
      "namespace": "cdktn",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency requirement for the CDKTN CLI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 66
          },
          "name": "cdktnCliVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The minimum version of CDKTN (e.g. `0.24.0`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 71
          },
          "name": "cdktnMinimumVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The dependency requirement for CDKTN (e.g. `^0.24.0`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 61
          },
          "name": "cdktnVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-deps:CdktnDeps"
    },
    "projen.cdktn.CdktnDepsCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `CdktnDeps`."
      },
      "fqn": "projen.cdktn.CdktnDepsCommonOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-deps.ts",
        "line": 9
      },
      "name": "CdktnDepsCommonOptions",
      "namespace": "cdktn",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"^0.24.0\"",
            "stability": "experimental",
            "summary": "Minimum version of the CDKTN to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 15
          },
          "name": "cdktnVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no specific version",
            "remarks": "Can be either a specific version, or an NPM version range.\n\nBy default, the latest version will be installed; you can use this\noption to restrict it to a specific version or version range.",
            "stability": "experimental",
            "summary": "Version range of the CDKTN CLI to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 27
          },
          "name": "cdktnCliVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use this to prevent mixed versions for your CDKTN dependencies and to prevent auto-updates.\nIf you use experimental features this will let you define the moment you include breaking changes.",
            "stability": "experimental",
            "summary": "Use pinned version instead of caret version for CDKTN."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 42
          },
          "name": "cdktnVersionPinning",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"^10.7.2\"",
            "stability": "experimental",
            "summary": "Minimum version of the `constructs` library to depend on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 34
          },
          "name": "constructsVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-deps:CdktnDepsCommonOptions"
    },
    "projen.cdktn.CdktnDepsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdktn.CdktnDepsOptions",
      "interfaces": [
        "projen.cdktn.CdktnDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-deps.ts",
        "line": 45
      },
      "name": "CdktnDepsOptions",
      "namespace": "cdktn",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "For libraries, use peer dependencies and for apps use runtime dependencies.",
            "stability": "experimental",
            "summary": "The type of dependency to use for the runtime `cdktn` module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-deps.ts",
            "line": 51
          },
          "name": "dependencyType",
          "type": {
            "fqn": "projen.DependencyType"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-deps:CdktnDepsOptions"
    },
    "projen.cdktn.CdktnTasks": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Adds standard CDKTN tasks to your project."
      },
      "fqn": "projen.cdktn.CdktnTasks",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdktn/cdktn-tasks.ts",
          "line": 49
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-tasks.ts",
        "line": 8
      },
      "name": "CdktnTasks",
      "namespace": "cdktn",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Deploys your app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 32
          },
          "name": "deploy",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Destroys all the stacks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 37
          },
          "name": "destroy",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Diff against the currently deployed stacks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 42
          },
          "name": "diff",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Gets/updates Terraform providers and modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 12
          },
          "name": "get",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Plan your app deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 27
          },
          "name": "plan",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes your app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 17
          },
          "name": "synth",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes your app and suppresses stdout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 22
          },
          "name": "synthSilent",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Watch task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-tasks.ts",
            "line": 47
          },
          "name": "watch",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-tasks:CdktnTasks"
    },
    "projen.cdktn.CdktnTypeScriptApp": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptAppProject",
      "docs": {
        "custom": {
          "pjid": "cdktn-app-ts"
        },
        "remarks": "CDKTN (CDK Terrain) is a community-driven fork of CDK for Terraform (CDKTF).\nLearn more at https://cdktn.io/",
        "stability": "experimental",
        "summary": "CDKTN app in TypeScript."
      },
      "fqn": "projen.cdktn.CdktnTypeScriptApp",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdktn/cdktn-app-ts.ts",
          "line": 61
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdktn.CdktnTypeScriptAppOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-app-ts.ts",
        "line": 43
      },
      "name": "CdktnTypeScriptApp",
      "namespace": "cdktn",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The CDKTN app entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 47
          },
          "name": "appEntrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "cdktf.json configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 57
          },
          "name": "cdktnConfig",
          "type": {
            "fqn": "projen.cdktn.CdktnConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 59
          },
          "name": "cdktnDeps",
          "type": {
            "fqn": "projen.cdktn.CdktnDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Common CDKTN tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 52
          },
          "name": "cdktnTasks",
          "type": {
            "fqn": "projen.cdktn.CdktnTasks"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-app-ts:CdktnTypeScriptApp"
    },
    "projen.cdktn.CdktnTypeScriptAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.cdktn.CdktnTypeScriptAppOptions",
      "interfaces": [
        "projen.typescript.TypeScriptProjectOptions",
        "projen.cdktn.CdktnDepsCommonOptions",
        "projen.cdktn.CdktnConfigCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-app-ts.ts",
        "line": 15
      },
      "name": "CdktnTypeScriptAppOptions",
      "namespace": "cdktn",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command line to execute in order to synthesize the CDKTN application (language specific)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 32
          },
          "name": "app",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"main.ts\"",
            "stability": "experimental",
            "summary": "The CDKTN app's entrypoint (relative to the source directory, which is \"src\" by default)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-app-ts.ts",
            "line": 26
          },
          "name": "appEntrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-app-ts:CdktnTypeScriptAppOptions"
    },
    "projen.cdktn.ConstructLibraryCdktn": {
      "assembly": "projen",
      "base": "projen.cdk.ConstructLibrary",
      "docs": {
        "custom": {
          "pjid": "cdktn-construct"
        },
        "remarks": "A multi-language (jsii) construct library which vends constructs designed to\nuse within CDK Terrain (CDKTN), a community-driven fork of CDKTF.\nProvides a friendly workflow and automatic publishing to the construct catalog.\n\nLearn more at https://cdktn.io/",
        "stability": "experimental",
        "summary": "CDKTN construct library project."
      },
      "fqn": "projen.cdktn.ConstructLibraryCdktn",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/cdktn/cdktn-construct.ts",
          "line": 27
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.cdktn.ConstructLibraryCdktnOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-construct.ts",
        "line": 24
      },
      "name": "ConstructLibraryCdktn",
      "namespace": "cdktn",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-construct.ts",
            "line": 25
          },
          "name": "cdktnDeps",
          "type": {
            "fqn": "projen.cdktn.CdktnDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The target CDKTN version for this library."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/cdktn/cdktn-construct.ts",
            "line": 47
          },
          "name": "cdktnVersion",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/cdktn/cdktn-construct:ConstructLibraryCdktn"
    },
    "projen.cdktn.ConstructLibraryCdktnOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `ConstructLibraryCdktn`."
      },
      "fqn": "projen.cdktn.ConstructLibraryCdktnOptions",
      "interfaces": [
        "projen.cdk.ConstructLibraryOptions",
        "projen.cdktn.CdktnDepsCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/cdktn/cdktn-construct.ts",
        "line": 10
      },
      "name": "ConstructLibraryCdktnOptions",
      "namespace": "cdktn",
      "symbolId": "src/cdktn/cdktn-construct:ConstructLibraryCdktnOptions"
    },
    "projen.circleci.CircleCiProps": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/",
        "stability": "experimental",
        "summary": "Options for class {@link Circleci}."
      },
      "fqn": "projen.circleci.CircleCiProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/circleci.ts",
        "line": 12
      },
      "name": "CircleCiProps",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "see": "https://circleci.com/docs/2.0/configuration-reference/#jobs",
            "stability": "experimental",
            "summary": "List of Jobs to create unique steps per pipeline, e.g. ```json jobs: [{  identifier: \"compile\",  docker: { image: \"golang:alpine\" }  steps: [\"checkout\", run: {command: \"go build .\"}] }] ```."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 59
          },
          "name": "jobs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.Job"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Contains a map of CirclCi Orbs ```json orbs: {  node: \"circleci/node@5.0.1\"  slack: \"circleci/slack@4.8.3\" } ```."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 22
          },
          "name": "orbs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://circleci.com/docs/2.0/configuration-reference/#setup",
            "stability": "experimental",
            "summary": "The setup field enables you to conditionally trigger configurations from outside the primary .circleci parent directory, update pipeline parameters, or generate customized configurations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 66
          },
          "name": "setup",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "2.1",
            "see": "https://circleci.com/docs/2.0/configuration-reference/#version",
            "stability": "experimental",
            "summary": "pipeline version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 29
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://circleci.com/docs/2.0/configuration-reference/#workflows",
            "stability": "experimental",
            "summary": "List of Workflows of pipeline, e.g. ```json workflows: {   {     identifier: \"build\",       jobs: [{          identifier: \"node/install\",          context: [\"npm\"],       }]   } } ```."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 46
          },
          "name": "workflows",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.Workflow"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/circleci/circleci:CircleCiProps"
    },
    "projen.circleci.Circleci": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/",
        "stability": "experimental",
        "summary": "Circleci Class to manage `.circleci/config.yml`. Check projen's docs for more information."
      },
      "fqn": "projen.circleci.Circleci",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/circleci/circleci.ts",
          "line": 101
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.circleci.CircleCiProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/circleci/circleci.ts",
        "line": 75
      },
      "methods": [
        {
          "docs": {
            "remarks": "Will throw error if the orb already exists",
            "stability": "experimental",
            "summary": "Add a Circleci Orb to pipeline."
          },
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 180
          },
          "name": "addOrb",
          "parameters": [
            {
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "orb",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "add new workflow to existing pipeline."
          },
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 147
          },
          "name": "addWorkflow",
          "parameters": [
            {
              "name": "workflow",
              "type": {
                "fqn": "projen.circleci.Workflow"
              }
            }
          ]
        }
      ],
      "name": "Circleci",
      "namespace": "circleci",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The yaml file for the Circleci pipeline."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/circleci.ts",
            "line": 79
          },
          "name": "file",
          "type": {
            "fqn": "projen.YamlFile"
          }
        }
      ],
      "symbolId": "src/circleci/circleci:Circleci"
    },
    "projen.circleci.Docker": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#docker",
        "stability": "experimental",
        "summary": "Options for docker executor."
      },
      "fqn": "projen.circleci.Docker",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 203
      },
      "name": "Docker",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of a custom docker image to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 205
          },
          "name": "image",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Authentication for registries using standard docker login credentials."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 217
          },
          "name": "auth",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Authentication for AWS Elastic Container Registry (ECR)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 219
          },
          "name": "awsAuth",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command used as pid 1 (or args for entrypoint) when launching the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 211
          },
          "name": "command",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The command used as executable when launching the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 209
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A map of environment variable names and values."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 215
          },
          "name": "environment",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "By default, container services are accessible through localhost",
            "stability": "experimental",
            "summary": "The name the container is reachable by."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 207
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Which user to run commands as within the Docker container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 213
          },
          "name": "user",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Docker"
    },
    "projen.circleci.Filter": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Branches can have the keys only and ignore which either map to a single string naming a branch.\nYou may also use regular expressions to match against branches by enclosing them with /’s, or map to a list of such strings.\nRegular expressions must match the entire string.\n\nAny branches that match only will run the job.\nAny branches that match ignore will not run the job.\nIf neither only nor ignore are specified then all branches will run the job.\nIf both only and ignore are specified the only is considered before ignore.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#filters",
        "stability": "experimental",
        "summary": "The branches key controls whether the current branch should have a schedule trigger created for it, where current branch is the branch containing the config.yml file with the trigger stanza. That is, a push on the main branch will only schedule a workflow for the main branch."
      },
      "fqn": "projen.circleci.Filter",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 157
      },
      "name": "Filter",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 158
          },
          "name": "branches",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.FilterConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 159
          },
          "name": "tags",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.FilterConfig"
          }
        }
      ],
      "symbolId": "src/circleci/model:Filter"
    },
    "projen.circleci.FilterConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#filters",
        "stability": "experimental",
        "summary": "set an inclusive or exclusive filter."
      },
      "fqn": "projen.circleci.FilterConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 166
      },
      "name": "FilterConfig",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Either a single branch specifier, or a list of branch specifiers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 170
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Either a single branch specifier, or a list of branch specifiers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 168
          },
          "name": "only",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/circleci/model:FilterConfig"
    },
    "projen.circleci.Job": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Jobs are specified in the jobs map,\nsee Sample 2.0 config.yml for two examples of a job map.\nThe name of the job is the key in the map, and the value is a map describing the job.\nEach job consists of the job’s name as a key and a map as a value. A name should be case insensitive unique within a current jobs list.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#job_name",
        "stability": "experimental",
        "summary": "A Workflow is comprised of one or more uniquely named jobs."
      },
      "fqn": "projen.circleci.Job",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 77
      },
      "name": "Job",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "name of dynamic key *."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 10
          },
          "name": "identifier",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Enables jobs to go through a set of well-defined IP address ranges."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 196
          },
          "name": "circleciIpRanges",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 178
          },
          "name": "docker",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.Docker"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A map of environment variable names and values."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 192
          },
          "name": "environment",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 179
          },
          "name": "machine",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Machine"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 180
          },
          "name": "macos",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Macos"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Number of parallel instances of this job to run (default: 1)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 190
          },
          "name": "parallelism",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parameters for making a job explicitly configurable in a workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 184
          },
          "name": "parameters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.PipelineParameter"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "{@link ResourceClass}."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 194
          },
          "name": "resourceClass",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Can be overridden by shell in each step",
            "stability": "experimental",
            "summary": "Shell to use for execution command in all steps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 182
          },
          "name": "shell",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "no type support here, for syntax {@see https://circleci.com/docs/2.0/configuration-reference/#steps}."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 186
          },
          "name": "steps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Will be interpreted as an absolute path. Default: `~/project`",
            "stability": "experimental",
            "summary": "In which directory to run the steps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 188
          },
          "name": "workingDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Job"
    },
    "projen.circleci.JobType": {
      "assembly": "projen",
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#type",
        "stability": "experimental",
        "summary": "A job may have a type of approval indicating it must be manually approved before downstream jobs may proceed."
      },
      "fqn": "projen.circleci.JobType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 32
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "APPROVAL"
        }
      ],
      "name": "JobType",
      "namespace": "circleci",
      "symbolId": "src/circleci/model:JobType"
    },
    "projen.circleci.JobWhen": {
      "assembly": "projen",
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#steps",
        "stability": "experimental",
        "summary": "Specify when to enable or disable the step."
      },
      "fqn": "projen.circleci.JobWhen",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 54
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ON_SUCCESS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ON_FAIL"
        }
      ],
      "name": "JobWhen",
      "namespace": "circleci",
      "symbolId": "src/circleci/model:JobWhen"
    },
    "projen.circleci.Machine": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.circleci.Machine",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 222
      },
      "name": "Machine",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "see": "https://circleci.com/docs/2.0/configuration-reference/#available-machine-images",
            "stability": "experimental",
            "summary": "The VM image to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 227
          },
          "name": "image",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://circleci.com/docs/2.0/configuration-reference/#available-machine-images",
            "stability": "experimental",
            "summary": "enable docker layer caching."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 231
          },
          "name": "dockerLayerCaching",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Machine"
    },
    "projen.circleci.Macos": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "To run a job in a macOS virtual machine,\nyou must add the macos key to the top-level configuration for the job and specify\nthe version of Xcode you would like to use.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#macos",
        "stability": "experimental",
        "summary": "CircleCI supports running jobs on macOS, to allow you to build, test, and deploy apps for macOS, iOS, tvOS and watchOS."
      },
      "fqn": "projen.circleci.Macos",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 241
      },
      "name": "Macos",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The version of Xcode that is installed on the virtual machine."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 243
          },
          "name": "xcode",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Macos"
    },
    "projen.circleci.Matrix": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#matrix-requires-version-21",
        "stability": "experimental",
        "summary": "The matrix stanza allows you to run a parameterized job multiple times with different arguments."
      },
      "fqn": "projen.circleci.Matrix",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 116
      },
      "name": "Matrix",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Defaults to the name of the job being executed",
            "stability": "experimental",
            "summary": "An alias for the matrix, usable from another job’s requires stanza."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 120
          },
          "name": "alias",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A map of parameter names to every value the job should be called with."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 118
          },
          "name": "parameters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "collection": {
                        "elementtype": {
                          "primitive": "string"
                        },
                        "kind": "array"
                      }
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "primitive": "number"
                        },
                        "kind": "array"
                      }
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/circleci/model:Matrix"
    },
    "projen.circleci.PipelineParameter": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/reusing-config#using-the-parameters-declaration",
        "stability": "experimental",
        "summary": "Parameters are declared by name under a job, command, or executor."
      },
      "fqn": "projen.circleci.PipelineParameter",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 103
      },
      "name": "PipelineParameter",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The parameter type, required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 107
          },
          "name": "type",
          "type": {
            "fqn": "projen.circleci.PipelineParameterType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If not present, the parameter is implied to be required.",
            "stability": "experimental",
            "summary": "The default value for the parameter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 109
          },
          "name": "default",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "number"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Used to generate documentation for your orb."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 105
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:PipelineParameter"
    },
    "projen.circleci.PipelineParameterType": {
      "assembly": "projen",
      "docs": {
        "see": "https://circleci.com/docs/2.0/reusing-config#parameter-syntax",
        "stability": "experimental",
        "summary": "Pipeline parameter types."
      },
      "fqn": "projen.circleci.PipelineParameterType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 64
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STRING"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "BOOLEAN"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INTEGER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ENUM"
        }
      ],
      "name": "PipelineParameterType",
      "namespace": "circleci",
      "symbolId": "src/circleci/model:PipelineParameterType"
    },
    "projen.circleci.ResourceClass": {
      "assembly": "projen",
      "docs": {
        "remarks": "Different resource classes are available for different executors, as described in the tables below.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#resourceclass",
        "stability": "experimental",
        "summary": "The resource_class feature allows configuring CPU and RAM resources for each job."
      },
      "fqn": "projen.circleci.ResourceClass",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 41
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "SMALL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "MEDIUM"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "MEDIUM_PLUS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "LARGE_X"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "LARGE_2X"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "LARGE_2X_PLUS"
        }
      ],
      "name": "ResourceClass",
      "namespace": "circleci",
      "symbolId": "src/circleci/model:ResourceClass"
    },
    "projen.circleci.Run": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Run commands are executed using non-login shells by default,\nso you must explicitly source any dotfiles as part of the command.\n\nNot used because type incompatible types in steps array",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#run",
        "stability": "experimental",
        "summary": "Used for invoking all command-line programs, taking either a map of configuration values, or, when called in its short-form, a string that will be used as both the command and name."
      },
      "fqn": "projen.circleci.Run",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 264
      },
      "name": "Run",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Command to run via the shell."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 266
          },
          "name": "command",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Whether this step should run in the background (default: false)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 274
          },
          "name": "background",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional environmental variables, locally scoped to command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 272
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Title of the step to be shown in the CircleCI UI (default: full command)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 268
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Elapsed time the command can run without output such as “20m”, “1.25h”, “5s”. The default is 10 minutes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 278
          },
          "name": "noOutputTimeout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Shell to use for execution command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 270
          },
          "name": "shell",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Specify when to enable or disable the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 280
          },
          "name": "when",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Will be interpreted relative to the working_directory of the job). (default: .)",
            "stability": "experimental",
            "summary": "In which directory to run this step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 276
          },
          "name": "workingDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Run"
    },
    "projen.circleci.Schedule": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#schedule",
        "stability": "experimental",
        "summary": "A workflow may have a schedule indicating it runs at a certain time."
      },
      "fqn": "projen.circleci.Schedule",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 136
      },
      "name": "Schedule",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 139
          },
          "name": "filters",
          "type": {
            "fqn": "projen.circleci.Filter"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The cron key is defined using POSIX crontab syntax."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 138
          },
          "name": "cron",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/circleci/model:Schedule"
    },
    "projen.circleci.StepRun": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://circleci.com/docs/2.0/configuration-reference/#steps",
        "stability": "experimental",
        "summary": "Execution steps for Job."
      },
      "fqn": "projen.circleci.StepRun",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 250
      },
      "name": "StepRun",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 251
          },
          "name": "run",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Run"
          }
        }
      ],
      "symbolId": "src/circleci/model:StepRun"
    },
    "projen.circleci.Triggers": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Default behavior is to trigger the workflow when pushing to a branch.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#triggers",
        "stability": "experimental",
        "summary": "Specifies which triggers will cause this workflow to be executed."
      },
      "fqn": "projen.circleci.Triggers",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 128
      },
      "name": "Triggers",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 129
          },
          "name": "schedule",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Schedule"
          }
        }
      ],
      "symbolId": "src/circleci/model:Triggers"
    },
    "projen.circleci.Workflow": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Each workflow consists of the workflow name as a key and a map as a value.\nA name should be unique within the current config.yml.\nThe top-level keys for the Workflows configuration are version and jobs.",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#workflows",
        "stability": "experimental",
        "summary": "Used for orchestrating all jobs."
      },
      "fqn": "projen.circleci.Workflow",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 19
      },
      "name": "Workflow",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "name of dynamic key *."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 10
          },
          "name": "identifier",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 20
          },
          "name": "jobs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.WorkflowJob"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 21
          },
          "name": "triggers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.circleci.Triggers"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Check Docu as reference",
            "see": "https://circleci.com/docs/2.0/configuration-reference/#logic-statement-examples",
            "stability": "experimental",
            "summary": "when is too dynamic to be casted to interfaces."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 25
          },
          "name": "when",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/circleci/model:Workflow"
    },
    "projen.circleci.WorkflowJob": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "A Job can be created with {@link Job} or it can be provided by the orb",
        "see": "https://circleci.com/docs/2.0/configuration-reference/#jobs-in-workflow",
        "stability": "experimental",
        "summary": "A Job is part of Workflow."
      },
      "fqn": "projen.circleci.WorkflowJob",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/circleci/model.ts",
        "line": 83
      },
      "name": "WorkflowJob",
      "namespace": "circleci",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "name of dynamic key *."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 10
          },
          "name": "identifier",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The initial default name is org-global. Each context name must be unique.",
            "stability": "experimental",
            "summary": "The name of the context(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 89
          },
          "name": "context",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Job Filters can have the key branches or tags."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 93
          },
          "name": "filters",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Filter"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 94
          },
          "name": "matrix",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.Matrix"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Useful when calling a job multiple times",
            "stability": "experimental",
            "summary": "A replacement for the job name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 87
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parameters passed to job when referencing a job from orb."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 96
          },
          "name": "orbParameters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of jobs that must succeed for the job to start."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 85
          },
          "name": "requires",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A job may have a type of approval indicating it must be manually approved before downstream jobs may proceed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/circleci/model.ts",
            "line": 91
          },
          "name": "type",
          "optional": true,
          "type": {
            "fqn": "projen.circleci.JobType"
          }
        }
      ],
      "symbolId": "src/circleci/model:WorkflowJob"
    },
    "projen.github.AutoApprove": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Auto approve pull requests that meet a criteria."
      },
      "fqn": "projen.github.AutoApprove",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/auto-approve.ts",
          "line": 46
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.AutoApproveOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/auto-approve.ts",
        "line": 43
      },
      "name": "AutoApprove",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-approve.ts",
            "line": 44
          },
          "name": "label",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/auto-approve:AutoApprove"
    },
    "projen.github.AutoApproveOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for 'AutoApprove'."
      },
      "fqn": "projen.github.AutoApproveOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/auto-approve.ts",
        "line": 10
      },
      "name": "AutoApproveOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "['github-bot']",
            "stability": "experimental",
            "summary": "Only pull requests authored by these Github usernames will be auto-approved."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-approve.ts",
            "line": 15
          },
          "name": "allowedUsernames",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'auto-approve'",
            "stability": "experimental",
            "summary": "Only pull requests with this label will be auto-approved."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-approve.ts",
            "line": 21
          },
          "name": "label",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"GITHUB_TOKEN\"",
            "remarks": "This token is used to approve pull requests.\n\nGithub forbids an identity to approve its own pull request.\nIf your project produces automated pull requests using the Github default token -\n{@link https://docs.github.com/en/actions/reference/authentication-in-a-workflow `GITHUB_TOKEN` }\n- that you would like auto approved, such as when using the `depsUpgrade` property in\n`NodeProjectOptions`, then you must use a different token here.",
            "stability": "experimental",
            "summary": "A GitHub secret name which contains a GitHub Access Token with write permissions for the `pull_request` scope."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-approve.ts",
            "line": 37
          },
          "name": "secret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/auto-approve:AutoApproveOptions"
    },
    "projen.github.AutoMerge": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "> [!NOTE]\n> GitHub now natively provides the same features, so you don't need Mergify\n> anymore. See `GitHubOptions.mergeQueue` and `MergeQueueOptions.autoQueue`.\n\nIf `buildJob` is specified, the specified GitHub workflow job ID is required\nto succeed in order for the PR to be merged.\n\n`approvedReviews` specified the number of code review approvals required for\nthe PR to be merged.",
        "see": "https://mergify.com/",
        "stability": "experimental",
        "summary": "Automatically merge Pull Requests using Mergify."
      },
      "fqn": "projen.github.AutoMerge",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/auto-merge.ts",
          "line": 48
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.AutoMergeOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/auto-merge.ts",
        "line": 45
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds conditions to the auto merge rule."
          },
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 103
          },
          "name": "addConditions",
          "parameters": [
            {
              "docs": {
                "summary": "The conditions to add (mergify syntax)."
              },
              "name": "conditions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds conditions that will be rendered only during synthesis."
          },
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 111
          },
          "name": "addConditionsLater",
          "parameters": [
            {
              "docs": {
                "summary": "The later."
              },
              "name": "later",
              "type": {
                "fqn": "projen.github.IAddConditionsLater"
              }
            }
          ]
        }
      ],
      "name": "AutoMerge",
      "namespace": "github",
      "symbolId": "src/github/auto-merge:AutoMerge"
    },
    "projen.github.AutoMergeOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.AutoMergeOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/auto-merge.ts",
        "line": 4
      },
      "name": "AutoMergeOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "1",
            "stability": "experimental",
            "summary": "Number of approved code reviews."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 9
          },
          "name": "approvedReviews",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['do-not-merge']",
            "stability": "experimental",
            "summary": "List of labels that will prevent auto-merging."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 15
          },
          "name": "blockingLabels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'default'",
            "stability": "experimental",
            "summary": "Name of the mergify queue."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 27
          },
          "name": "queueName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'Automatic merge on approval and successful build'",
            "stability": "experimental",
            "summary": "Name of the mergify rule."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 21
          },
          "name": "ruleName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/auto-merge:AutoMergeOptions"
    },
    "projen.github.AutoQueue": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Automatically add pull requests to the merge queue PRs will be merged once they pass required checks."
      },
      "fqn": "projen.github.AutoQueue",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/auto-queue.ts",
          "line": 92
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.AutoQueueOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/auto-queue.ts",
        "line": 91
      },
      "name": "AutoQueue",
      "namespace": "github",
      "symbolId": "src/github/auto-queue:AutoQueue"
    },
    "projen.github.AutoQueueOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for 'AutoQueue'."
      },
      "fqn": "projen.github.AutoQueueOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/auto-queue.ts",
        "line": 22
      },
      "name": "AutoQueueOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- pull requests from all users are eligible for auto-queuing",
            "stability": "experimental",
            "summary": "Only pull requests authored by these Github usernames will have auto-queue enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-queue.ts",
            "line": 27
          },
          "name": "allowedUsernames",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all pull requests are eligible for auto-queueing",
            "stability": "experimental",
            "summary": "Only pull requests with one of this labels will have auto-queue enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-queue.ts",
            "line": 33
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "MergeMethod.SQUASH",
            "stability": "experimental",
            "summary": "The method used to add the PR to the merge queue Any branch protection rules must allow this merge method."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-queue.ts",
            "line": 52
          },
          "name": "mergeMethod",
          "optional": true,
          "type": {
            "fqn": "projen.github.MergeMethod"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- uses credentials from the GitHub component",
            "remarks": "The workflow cannot use a default github token. Queuing a PR\nwith the default token will not trigger any merge queue workflows,\nwhich results in the PR just not getting merged at all.",
            "see": "https://projen.io/docs/integrations/github/",
            "stability": "experimental",
            "summary": "Choose a method for authenticating with GitHub to enable auto-queue on pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-queue.ts",
            "line": 45
          },
          "name": "projenCredentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This set of branches should be a subset of `MergeQueueOptions.targetBranches`.\n\nBe sure not to enable `autoQueue` for branches that don't have branch rules\nwith merge requirements set up, otherwise new PRs will be merged\nimmediately after creating without a chance for review.\n\n## Automatically merging a set of Stacked PRs\n\nIf you set this to `['main']` you can automatically merge a set of Stacked PRs\nin the right order. It works like this:\n\n- Create PR #1 from branch `a`, targeting `main`.\n- Create PR #2 from branch `b`, targeting branch `a`.\n- Create PR #3 from branch `c`, targeting branch `b`.\n\nInitially, PR #1 will be set to auto-merge, PRs #2 and #3 will not.\n\nOnce PR #1 passes all of its requirements it will merge. That will delete\nbranch `a` and change  the target branch of PR #2 change to `main`. At that\npoint, auto-queueing will switch on for PR #2 and it gets merged, etc.\n\n> [!IMPORTANT]\n> This component will never disable AutoMerge, only enable it. So if a PR is\n> initially targeted at one of the branches in this list, and then\n> subsequently retargeted to another branch, *AutoMerge is not\n> automatically turned off*.",
            "stability": "experimental",
            "summary": "The branch names that we should auto-queue for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/auto-queue.ts",
            "line": 84
          },
          "name": "targetBranches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/auto-queue:AutoQueueOptions"
    },
    "projen.github.CheckoutOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.CheckoutOptions",
      "interfaces": [
        "projen.github.workflows.JobStepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 195
      },
      "name": "CheckoutOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for `checkout`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 199
          },
          "name": "with",
          "optional": true,
          "type": {
            "fqn": "projen.github.CheckoutWith"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:CheckoutOptions"
    },
    "projen.github.CheckoutSubmodules": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Whether to checkout Git submodules in CI workflows."
      },
      "fqn": "projen.github.CheckoutSubmodules",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 9
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Don't checkout submodules."
          },
          "name": "DISABLED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checkout only top-level submodules."
          },
          "name": "ENABLED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checkout submodules recursively."
          },
          "name": "RECURSIVE"
        }
      ],
      "name": "CheckoutSubmodules",
      "namespace": "github",
      "symbolId": "src/github/workflow-steps:CheckoutSubmodules"
    },
    "projen.github.CheckoutWith": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `checkout`."
      },
      "fqn": "projen.github.CheckoutWith",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 205
      },
      "name": "CheckoutWith",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "1",
            "remarks": "0 indicates all history for all branches and tags.",
            "stability": "experimental",
            "summary": "Number of commits to fetch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 211
          },
          "name": "fetchDepth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether LFS is enabled for the GitHub repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 217
          },
          "name": "lfs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- $GITHUB_WORKSPACE",
            "stability": "experimental",
            "summary": "Relative path under $GITHUB_WORKSPACE to place the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 251
          },
          "name": "path",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the default branch is implicitly used",
            "stability": "experimental",
            "summary": "Branch or tag name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 230
          },
          "name": "ref",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the default repository is implicitly used",
            "stability": "experimental",
            "summary": "The repository (owner/repo) to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 236
          },
          "name": "repository",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CheckoutSubmodules.DISABLED",
            "stability": "experimental",
            "summary": "Whether to checkout Git submodules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 224
          },
          "name": "submodules",
          "optional": true,
          "type": {
            "fqn": "projen.github.CheckoutSubmodules"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the default GITHUB_TOKEN is implicitly used",
            "remarks": "If the intent is to push changes back to the branch, then you must use a\nPAT with `repo` (and possibly `workflows`) permissions.",
            "stability": "experimental",
            "summary": "A GitHub token to use when checking out the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 245
          },
          "name": "token",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:CheckoutWith"
    },
    "projen.github.CheckoutWithPatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `checkoutWithPatch`."
      },
      "fqn": "projen.github.CheckoutWithPatchOptions",
      "interfaces": [
        "projen.github.CheckoutWith"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-actions.ts",
        "line": 159
      },
      "name": "CheckoutWithPatchOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".repo.patch\"",
            "stability": "experimental",
            "summary": "The name of the artifact the patch is stored as."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 164
          },
          "name": "patchFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-actions:CheckoutWithPatchOptions"
    },
    "projen.github.ConcurrencyOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `concurrency`."
      },
      "fqn": "projen.github.ConcurrencyOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows.ts",
        "line": 17
      },
      "name": "ConcurrencyOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "When a workflow is triggered while another one (in the same group) is running, should GitHub cancel the running workflow?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 35
          },
          "name": "cancelInProgress",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ${{ github.workflow }}",
            "remarks": "For example, if you specify `${{ github.workflow }}-${{ github.ref }}`, workflow runs triggered\non the same branch cannot run concurrently, but workflows runs triggered on different branches can.",
            "see": "https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/using-concurrency#example-concurrency-groups",
            "stability": "experimental",
            "summary": "Concurrency group controls which workflow runs will share the same concurrency limit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 27
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows:ConcurrencyOptions"
    },
    "projen.github.ContributorStatementOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for requiring a contributor statement on Pull Requests."
      },
      "fqn": "projen.github.ContributorStatementOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/pull-request-lint.ts",
        "line": 74
      },
      "name": "ContributorStatementOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no labels are excluded",
            "stability": "experimental",
            "summary": "Pull requests with one of these labels are exempted from a contributor statement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 84
          },
          "name": "exemptLabels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no users are exempted",
            "stability": "experimental",
            "summary": "Pull requests from these GitHub users are exempted from a contributor statement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 79
          },
          "name": "exemptUsers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/pull-request-lint:ContributorStatementOptions"
    },
    "projen.github.CreatePullRequestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.CreatePullRequestOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-actions.ts",
        "line": 200
      },
      "name": "CreatePullRequestOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Providence information are automatically added.",
            "stability": "experimental",
            "summary": "Description added to the pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 237
          },
          "name": "pullRequestDescription",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If PR titles are validated in this repo, the title should comply with the respective rules.",
            "stability": "experimental",
            "summary": "The full title used to create the pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 230
          },
          "name": "pullRequestTitle",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the workflow that will create the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 223
          },
          "name": "workflowName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all paths",
            "stability": "experimental",
            "summary": "Paths to add to the commit, mapping to the action's `add-paths` input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 258
          },
          "name": "addPaths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no assignees",
            "stability": "experimental",
            "summary": "Assignees to add on the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 293
          },
          "name": "assignees",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The branch checked out in the workflow.",
            "stability": "experimental",
            "summary": "Sets the pull request base branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 244
          },
          "name": "baseBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`github-actions/${options.workflowName}`",
            "stability": "experimental",
            "summary": "The pull request branch name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 251
          },
          "name": "branchName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Provided credentials must have permissions to create a pull request on the repository.",
            "stability": "experimental",
            "summary": "The job credentials used to create the pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 218
          },
          "name": "credentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to delete the pull request branch when the pull request is closed, mapping to the action's `delete-branch` input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 266
          },
          "name": "deleteBranch",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user",
            "stability": "experimental",
            "summary": "The git identity used to create the commit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 272
          },
          "name": "gitIdentity",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no labels.",
            "stability": "experimental",
            "summary": "Labels to apply on the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 286
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Add Signed-off-by line by the committer at the end of the commit log message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 279
          },
          "name": "signoff",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"create_pr\"",
            "stability": "experimental",
            "summary": "The step ID which produces the output which indicates if a patch was created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 205
          },
          "name": "stepId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"Create Pull Request\"",
            "stability": "experimental",
            "summary": "The name of the step displayed on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 211
          },
          "name": "stepName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-actions:CreatePullRequestOptions"
    },
    "projen.github.Dependabot": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Since module versions are managed in projen, the versioning strategy will be\nconfigured to \"lockfile-only\" which means that only updates that can be done\non the lockfile itself will be proposed.",
        "stability": "experimental",
        "summary": "Defines dependabot configuration for node projects."
      },
      "fqn": "projen.github.Dependabot",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/dependabot.ts",
          "line": 484
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.DependabotOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 469
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Allows a dependency from automatic updates."
          },
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 563
          },
          "name": "addAllow",
          "parameters": [
            {
              "docs": {
                "summary": "Use to allow updates for dependencies with matching names, optionally using `*` to match zero or more characters."
              },
              "name": "dependencyName",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Ignores a dependency from automatic updates."
          },
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 578
          },
          "name": "addIgnore",
          "parameters": [
            {
              "docs": {
                "summary": "Use to ignore updates for dependencies with matching names, optionally using `*` to match zero or more characters."
              },
              "name": "dependencyName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "If\nyou want to define a range, use the standard pattern for the package\nmanager (for example: `^1.0.0` for npm, or `~> 2.0` for Bundler).",
                "summary": "Use to ignore specific versions or ranges of versions."
              },
              "name": "versions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "Dependabot",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "see": "https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates",
            "stability": "experimental",
            "summary": "The raw dependabot configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 474
          },
          "name": "config",
          "type": {
            "primitive": "any"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether or not projen is also upgraded in this config,."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 479
          },
          "name": "ignoresProjen",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/dependabot:Dependabot"
    },
    "projen.github.DependabotAllow": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The allow option supports the following options.",
        "stability": "experimental",
        "summary": "You can use the `allow` option to customize which dependencies are updated."
      },
      "fqn": "projen.github.DependabotAllow",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 284
      },
      "name": "DependabotAllow",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "For Java dependencies, the format of the dependency-name attribute is:\n`groupId:artifactId`, for example: `org.kohsuke:github-api`.",
            "stability": "experimental",
            "summary": "Use to allow updates for dependencies with matching names, optionally using `*` to match zero or more characters."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 292
          },
          "name": "dependencyName",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotAllow"
    },
    "projen.github.DependabotCooldown": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown-",
        "stability": "experimental",
        "summary": "Defines a cooldown period for dependency version updates."
      },
      "fqn": "projen.github.DependabotCooldown",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 118
      },
      "name": "DependabotCooldown",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no default cooldown",
            "stability": "experimental",
            "summary": "Default cooldown period (in days) for all dependencies without specific semver rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 123
          },
          "name": "defaultDays",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no exclusions",
            "remarks": "Supports wildcards.\nTakes precedence over `include`.",
            "stability": "experimental",
            "summary": "List of dependencies excluded from cooldown."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 154
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all dependencies",
            "remarks": "Supports wildcards.",
            "stability": "experimental",
            "summary": "List of dependencies to apply cooldown to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 147
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- uses defaultDays",
            "stability": "experimental",
            "summary": "Cooldown period (in days) for major version updates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 129
          },
          "name": "semverMajorDays",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- uses defaultDays",
            "stability": "experimental",
            "summary": "Cooldown period (in days) for minor version updates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 135
          },
          "name": "semverMinorDays",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- uses defaultDays",
            "stability": "experimental",
            "summary": "Cooldown period (in days) for patch version updates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 141
          },
          "name": "semverPatchDays",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotCooldown"
    },
    "projen.github.DependabotGroup": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#groups--",
        "stability": "experimental",
        "summary": "Defines a single group for dependency updates."
      },
      "fqn": "projen.github.DependabotGroup",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 321
      },
      "name": "DependabotGroup",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Define a list of strings (with or without wildcards) that will match package names to form this dependency group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 339
          },
          "name": "patterns",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- version updates",
            "stability": "experimental",
            "summary": "Specify which type of update the group applies to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 326
          },
          "name": "appliesTo",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependabotGroupAppliesTo"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all types of dependencies",
            "see": "https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#dependency-type-groups",
            "stability": "experimental",
            "summary": "Limit the group to a type of dependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 333
          },
          "name": "dependencyType",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependabotGroupDependencyType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Optionally you can use this to exclude certain dependencies from the group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 345
          },
          "name": "excludePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all semantic versioning levels",
            "remarks": "If specified, must contain at least one element and elements must be unique.",
            "see": "https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#update-types-groups",
            "stability": "experimental",
            "summary": "Limit the group to one or more semantic versioning levels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 355
          },
          "name": "updateTypes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.DependabotGroupUpdateType"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotGroup"
    },
    "projen.github.DependabotGroupAppliesTo": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The type of update a group applies to."
      },
      "fqn": "projen.github.DependabotGroupAppliesTo",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 361
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Apply only to version updates."
          },
          "name": "VERSION_UPDATES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Apply only to security updates."
          },
          "name": "SECURITY_UPDATES"
        }
      ],
      "name": "DependabotGroupAppliesTo",
      "namespace": "github",
      "symbolId": "src/github/dependabot:DependabotGroupAppliesTo"
    },
    "projen.github.DependabotGroupDependencyType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The type of dependency a group may be limited to."
      },
      "fqn": "projen.github.DependabotGroupDependencyType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 376
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Include only dependencies in the \"Development dependency group\"."
          },
          "name": "DEVELOPMENT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Include only dependencies in the \"Production dependency group\"."
          },
          "name": "PRODUCTION"
        }
      ],
      "name": "DependabotGroupDependencyType",
      "namespace": "github",
      "symbolId": "src/github/dependabot:DependabotGroupDependencyType"
    },
    "projen.github.DependabotGroupUpdateType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The semantic versioning levels a group may be limited to."
      },
      "fqn": "projen.github.DependabotGroupUpdateType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 391
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Include major releases."
          },
          "name": "MAJOR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Include minor releases."
          },
          "name": "MINOR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Include patch releases."
          },
          "name": "PATCH"
        }
      ],
      "name": "DependabotGroupUpdateType",
      "namespace": "github",
      "symbolId": "src/github/dependabot:DependabotGroupUpdateType"
    },
    "projen.github.DependabotIgnore": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The ignore option supports the following options.",
        "stability": "experimental",
        "summary": "You can use the `ignore` option to customize which dependencies are updated."
      },
      "fqn": "projen.github.DependabotIgnore",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 299
      },
      "name": "DependabotIgnore",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "For Java dependencies, the format of the dependency-name attribute is:\n`groupId:artifactId`, for example: `org.kohsuke:github-api`.",
            "stability": "experimental",
            "summary": "Use to ignore updates for dependencies with matching names, optionally using `*` to match zero or more characters."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 307
          },
          "name": "dependencyName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If you want to\ndefine a range, use the standard pattern for the package manager (for\nexample: `^1.0.0` for npm, or `~> 2.0` for Bundler).",
            "stability": "experimental",
            "summary": "Use to ignore specific versions or ranges of versions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 314
          },
          "name": "versions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotIgnore"
    },
    "projen.github.DependabotOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.DependabotOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 6
      },
      "name": "DependabotOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Use the allow option to customize which dependencies are updated. This\napplies to both version and security updates.",
            "stability": "experimental",
            "summary": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#allow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 31
          },
          "name": "allow",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.DependabotAllow"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Specify individual assignees or teams of assignees for all pull requests raised for a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 77
          },
          "name": "assignees",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no cooldown",
            "remarks": "During the cooldown, Dependabot will not propose updates for a dependency.\nThis only applies to version updates, not security updates.",
            "see": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown-",
            "stability": "experimental",
            "summary": "Defines a cooldown period for dependency version updates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 110
          },
          "name": "cooldown",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependabotCooldown"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "You can create groups to package dependency updates together into a single PR.",
            "stability": "experimental",
            "summary": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#groups."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 93
          },
          "name": "groups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.DependabotGroup"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "The ignore option supports the following options.",
            "stability": "experimental",
            "summary": "You can use the `ignore` option to customize which dependencies are updated."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 38
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.DependabotIgnore"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This is required since projen updates may cause changes in committed files\nand anti-tamper checks will fail.\n\nProjen upgrades are covered through the `ProjenUpgrade` class.",
            "stability": "experimental",
            "summary": "Ignores updates to `projen`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 50
          },
          "name": "ignoreProjen",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "List of labels to apply to the created PR's."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 55
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "5",
            "remarks": "Dependabot will not open any new requests until some of those open requests\nare merged or closed.",
            "stability": "experimental",
            "summary": "Sets the maximum of pull requests Dependabot opens for version updates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 70
          },
          "name": "openPullRequestsLimit",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- use public registries",
            "stability": "experimental",
            "summary": "Map of package registries to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 61
          },
          "name": "registries",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.DependabotRegistry"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Specify individual reviewers or teams of reviewers for all pull requests raised for a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 84
          },
          "name": "reviewers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ScheduleInterval.DAILY",
            "stability": "experimental",
            "summary": "How often to check for new versions and raise pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 12
          },
          "name": "scheduleInterval",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependabotScheduleInterval"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#target-branch You can configure the target branch for raising pull requests for version updates against."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 99
          },
          "name": "targetBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "VersioningStrategy.LOCKFILE_ONLY The default is to only update the\nlock file because package.json is controlled by projen and any outside\nupdates will fail the build.",
            "stability": "experimental",
            "summary": "The strategy to use when edits manifest and lock files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 21
          },
          "name": "versioningStrategy",
          "optional": true,
          "type": {
            "fqn": "projen.github.VersioningStrategy"
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotOptions"
    },
    "projen.github.DependabotRegistry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#configuration-options-for-private-registries",
        "stability": "experimental",
        "summary": "Use to add private registry support for dependabot."
      },
      "fqn": "projen.github.DependabotRegistry",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 161
      },
      "name": "DependabotRegistry",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Registry type e.g. 'npm-registry' or 'docker-registry'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 165
          },
          "name": "type",
          "type": {
            "fqn": "projen.github.DependabotRegistryType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Url for the registry e.g. 'https://npm.pkg.github.com' or 'registry.hub.docker.com'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 170
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "A reference to a Dependabot secret containing an access key for this registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 188
          },
          "name": "key",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#hex-organization",
            "stability": "experimental",
            "summary": "Used with the hex-organization registry type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 209
          },
          "name": "organization",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "A reference to a Dependabot secret containing the password for the specified user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 182
          },
          "name": "password",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "For registries with type: python-index, if the boolean value is true, pip esolves dependencies by using the specified URL rather than the base URL of the Python Package Index (by default https://pypi.org/simple)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 202
          },
          "name": "replacesBase",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Secret token for dependabot access e.g. '${{ secrets.DEPENDABOT_PACKAGE_TOKEN }}'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 194
          },
          "name": "token",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- do not authenticate",
            "stability": "experimental",
            "summary": "The username that Dependabot uses to access the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependabot.ts",
            "line": 176
          },
          "name": "username",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/dependabot:DependabotRegistry"
    },
    "projen.github.DependabotRegistryType": {
      "assembly": "projen",
      "docs": {
        "remarks": "Some types allow more than one way to connect",
        "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#configuration-options-for-private-registries",
        "stability": "experimental",
        "summary": "Each configuration type requires you to provide particular settings."
      },
      "fqn": "projen.github.DependabotRegistryType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 217
      },
      "members": [
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#composer-repository",
            "stability": "experimental",
            "summary": "The composer-repository type supports username and password."
          },
          "name": "COMPOSER_REGISTRY"
        },
        {
          "docs": {
            "remarks": "The docker-registry type can also be used to pull from Amazon ECR using static AWS credentials",
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#docker-registry",
            "stability": "experimental",
            "summary": "The docker-registry type supports username and password."
          },
          "name": "DOCKER_REGISTRY"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#git",
            "stability": "experimental",
            "summary": "The git type supports username and password."
          },
          "name": "GIT"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#hex-organization",
            "stability": "experimental",
            "summary": "The hex-organization type supports organization and key."
          },
          "name": "HEX_ORGANIZATION"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#maven-repository",
            "stability": "experimental",
            "summary": "The maven-repository type supports username and password, or token."
          },
          "name": "MAVEN_REPOSITORY"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#npm-registry",
            "stability": "experimental",
            "summary": "The npm-registry type supports username and password, or token."
          },
          "name": "NPM_REGISTRY"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#nuget-feed",
            "stability": "experimental",
            "summary": "The nuget-feed type supports username and password, or token."
          },
          "name": "NUGET_FEED"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#python-index",
            "stability": "experimental",
            "summary": "The python-index type supports username and password, or token."
          },
          "name": "PYTHON_INDEX"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#rubygems-server",
            "stability": "experimental",
            "summary": "The rubygems-server type supports username and password, or token."
          },
          "name": "RUBYGEMS_SERVER"
        },
        {
          "docs": {
            "see": "https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#terraform-registry",
            "stability": "experimental",
            "summary": "The terraform-registry type supports a token."
          },
          "name": "TERRAFORM_REGISTRY"
        }
      ],
      "name": "DependabotRegistryType",
      "namespace": "github",
      "symbolId": "src/github/dependabot:DependabotRegistryType"
    },
    "projen.github.DependabotScheduleInterval": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "How often to check for new versions and raise pull requests for version updates."
      },
      "fqn": "projen.github.DependabotScheduleInterval",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 412
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs on every weekday, Monday to Friday."
          },
          "name": "DAILY"
        },
        {
          "docs": {
            "remarks": "By default, this is on Monday.",
            "stability": "experimental",
            "summary": "Runs once each week."
          },
          "name": "WEEKLY"
        },
        {
          "docs": {
            "remarks": "This is on the first day of the month.",
            "stability": "experimental",
            "summary": "Runs once each month."
          },
          "name": "MONTHLY"
        }
      ],
      "name": "DependabotScheduleInterval",
      "namespace": "github",
      "symbolId": "src/github/dependabot:DependabotScheduleInterval"
    },
    "projen.github.DependencyReview": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "This action scans pull requests for dependency changes and raises an error\nif any vulnerabilities or invalid licenses are introduced.",
        "see": "https://github.com/actions/dependency-review-action",
        "stability": "experimental",
        "summary": "Adds a GitHub workflow that runs the dependency-review-action on pull requests."
      },
      "fqn": "projen.github.DependencyReview",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/dependency-review.ts",
          "line": 106
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.DependencyReviewOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/dependency-review.ts",
        "line": 105
      },
      "name": "DependencyReview",
      "namespace": "github",
      "symbolId": "src/github/dependency-review:DependencyReview"
    },
    "projen.github.DependencyReviewOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the DependencyReview component."
      },
      "fqn": "projen.github.DependencyReviewOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/dependency-review.ts",
        "line": 11
      },
      "name": "DependencyReviewOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no advisories are skipped",
            "stability": "experimental",
            "summary": "GitHub Advisory Database IDs that can be skipped during detection."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 59
          },
          "name": "allowGhsas",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no license allow-list",
            "stability": "experimental",
            "summary": "List of allowed SPDX license identifiers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 24
          },
          "name": "allowLicenses",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"always\"",
            "stability": "experimental",
            "summary": "Whether to post a comment summary on the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 73
          },
          "name": "commentSummaryInPr",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no external config",
            "stability": "experimental",
            "summary": "Path to an external configuration file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 52
          },
          "name": "configFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no packages are denied",
            "stability": "experimental",
            "summary": "Packages to block in a PR (in purl format)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 66
          },
          "name": "denyPackages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no scopes filter (action default is \"runtime\")",
            "stability": "experimental",
            "summary": "Scopes of dependencies to fail on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 45
          },
          "name": "failOnScopes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no minimum severity (action default is \"low\")",
            "stability": "experimental",
            "summary": "The severity level at which the action will fail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 17
          },
          "name": "failOnSeverity",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable or disable the license check."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 38
          },
          "name": "licenseCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Show OpenSSF Scorecard scores for dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 87
          },
          "name": "showOpenSSFScorecard",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable or disable the vulnerability check."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 31
          },
          "name": "vulnerabilityCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "When true, the action will only warn and not fail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 80
          },
          "name": "warnOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "3",
            "stability": "experimental",
            "summary": "Score threshold for OpenSSF Scorecard warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/dependency-review.ts",
            "line": 94
          },
          "name": "warnOnOpenSSFScorecardLevel",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/github/dependency-review:DependencyReviewOptions"
    },
    "projen.github.DownloadArtifactOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.DownloadArtifactOptions",
      "interfaces": [
        "projen.github.workflows.JobStepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 392
      },
      "name": "DownloadArtifactOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for `download-artifact`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 396
          },
          "name": "with",
          "type": {
            "fqn": "projen.github.DownloadArtifactWith"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:DownloadArtifactOptions"
    },
    "projen.github.DownloadArtifactWith": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.DownloadArtifactWith",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 332
      },
      "name": "DownloadArtifactWith",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Either inputs `artifact-ids` or `name` can be used, but not both.",
            "stability": "experimental",
            "summary": "IDs of the artifacts to download."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 344
          },
          "name": "artifactIds",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "When multiple artifacts are matched, this changes the behavior of the destination directories If true, the downloaded artifacts will be in the same directory specified by path If false, the downloaded artifacts will be extracted into individual named directories within the specified path."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 366
          },
          "name": "mergeMultiple",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- If unspecified, all artifacts for the run are downloaded",
            "stability": "experimental",
            "summary": "Name of the artifact to download."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 338
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- $GITHUB_WORKSPACE",
            "remarks": "Supports basic tilde expansion.",
            "stability": "experimental",
            "summary": "A file, directory or wildcard pattern that describes what to download."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 351
          },
          "name": "path",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A glob pattern to the artifacts that should be downloaded This is ignored if name is specified."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 357
          },
          "name": "pattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ${{ github.repository }}",
            "stability": "experimental",
            "summary": "The repository owner and the repository name joined together by \"/\" If github-token is specified, this is the repository that artifacts will be downloaded from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 381
          },
          "name": "repository",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ${{ github.run_id }}",
            "stability": "experimental",
            "summary": "The id of the workflow run where the desired download artifact was uploaded from If github-token is specified, this is the run that artifacts will be downloaded from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 389
          },
          "name": "runId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- If unspecified, the action will download artifacts from the current repo and the current workflow run",
            "stability": "experimental",
            "summary": "The GitHub token used to authenticate with the GitHub API to download artifacts from a different repository or from a different workflow run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 373
          },
          "name": "token",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:DownloadArtifactWith"
    },
    "projen.github.GitHub": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.GitHub",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/github.ts",
          "line": 198
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.GitHubOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/github.ts",
        "line": 156
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the `GitHub` component of a project or `undefined` if the project does not have a GitHub component."
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 161
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 270
          },
          "name": "addDependabot",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.DependabotOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.Dependabot"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 266
          },
          "name": "addPullRequestTemplate",
          "parameters": [
            {
              "name": "content",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.PullRequestTemplate"
            }
          },
          "variadic": true
        },
        {
          "docs": {
            "returns": "a GithubWorkflow instance",
            "stability": "experimental",
            "summary": "Adds a workflow to the project."
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 261
          },
          "name": "addWorkflow",
          "parameters": [
            {
              "docs": {
                "summary": "Name of the workflow."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.GithubWorkflow"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Resolves the `runsOn`/`runsOnGroup` config for a job, falling back to the project's global runner selection (`workflowRunsOn`/`workflowRunsOnGroup`) when `options` does not specify one."
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 303
          },
          "name": "runsOnConfig",
          "parameters": [
            {
              "docs": {
                "summary": "per-job runner selection that takes precedence over the project's global default."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.RunsOnOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.RunsOnConfig"
            }
          }
        },
        {
          "docs": {
            "remarks": "Returns `undefined` if the workflow cannot be found.",
            "stability": "experimental",
            "summary": "Finds a GitHub workflow by name."
          },
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 278
          },
          "name": "tryFindWorkflow",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the GitHub workflow."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.GithubWorkflow"
            }
          }
        }
      ],
      "name": "GitHub",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The GitHub Actions provider used to manage the versions of actions used in steps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 191
          },
          "name": "actions",
          "type": {
            "fqn": "projen.github.GitHubActionsProvider"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether checking out Git submodules is enabled for this GitHub project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 292
          },
          "name": "checkoutSubmodules",
          "type": {
            "fqn": "projen.github.CheckoutSubmodules"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether downloading from LFS is enabled for this GitHub project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 285
          },
          "name": "downloadLfs",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "GitHub API authentication method used by projen workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 186
          },
          "name": "projenCredentials",
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "All workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 248
          },
          "name": "workflows",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.GithubWorkflow"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Are workflows enabled?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 181
          },
          "name": "workflowsEnabled",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `MergeQueue` component configured on this repository This is `undefined` if merge queues are not enabled for this repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 176
          },
          "name": "mergeQueue",
          "optional": true,
          "type": {
            "fqn": "projen.github.MergeQueue"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `Mergify` component configured on this repository This is `undefined` if Mergify is not enabled for this repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 170
          },
          "name": "mergify",
          "optional": true,
          "type": {
            "fqn": "projen.github.Mergify"
          }
        }
      ],
      "symbolId": "src/github/github:GitHub"
    },
    "projen.github.GitHubActionsProvider": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Manage the versions used for GitHub Actions used in steps."
      },
      "fqn": "projen.github.GitHubActionsProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/actions-provider.ts",
        "line": 4
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Resolve an action name to the version that should be used, taking into account any overrides."
          },
          "locationInModule": {
            "filename": "src/github/actions-provider.ts",
            "line": 31
          },
          "name": "get",
          "parameters": [
            {
              "name": "action",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        },
        {
          "docs": {
            "example": "// Force any use of `actions/checkout` to use a pin a specific commit\nproject.github.actions.set(\"actions/checkout\", \"actions/checkout@aaaaaa\");\n\n// But pin usage of `v4` to a different commit\nproject.github.actions.set(\"actions/checkout@v6\", \"actions/checkout@ffffff\");",
            "remarks": "Specify the action name without a version to override all usages of the action.\nYou can also override a specific action version, by providing the version string.\nSpecific overrides take precedence over overrides without a version.\n\nIf an override for the same action name is set multiple times, the last override is used.",
            "stability": "experimental",
            "summary": "Define an override for a given action."
          },
          "locationInModule": {
            "filename": "src/github/actions-provider.ts",
            "line": 23
          },
          "name": "set",
          "parameters": [
            {
              "name": "action",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "override",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "GitHubActionsProvider",
      "namespace": "github",
      "symbolId": "src/github/actions-provider:GitHubActionsProvider"
    },
    "projen.github.GitHubOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.GitHubOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/github.ts",
        "line": 27
      },
      "name": "GitHubOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "CheckoutSubmodules.DISABLED",
            "stability": "experimental",
            "summary": "Whether to checkout Git submodules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 136
          },
          "name": "checkoutSubmodules",
          "optional": true,
          "type": {
            "fqn": "projen.github.CheckoutSubmodules"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Adds a separate workflow that runs `actions/dependency-review-action`\nto scan pull requests for newly introduced vulnerable or non-compliant\ndependencies.",
            "stability": "experimental",
            "summary": "Enable the dependency-review-action workflow on pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 120
          },
          "name": "dependencyReview",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "remarks": "Only used when `dependencyReview` is `true`.",
            "stability": "experimental",
            "summary": "Options for the dependency review workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 129
          },
          "name": "dependencyReviewOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependencyReviewOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true if the associated project has `lfsPatterns`, `false` otherwise",
            "stability": "experimental",
            "summary": "Download files in LFS in workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 109
          },
          "name": "downloadLfs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Requires additional configuration of the repositories branch protection rules.",
            "stability": "experimental",
            "summary": "Whether a merge queue should be used on this repository to merge pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 48
          },
          "name": "mergeQueue",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for MergeQueue."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 55
          },
          "name": "mergeQueueOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.MergeQueueOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether mergify should be enabled on this repository or not."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 33
          },
          "name": "mergify",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for Mergify."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 40
          },
          "name": "mergifyOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.MergifyOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- use a personal access token named PROJEN_GITHUB_TOKEN",
            "stability": "experimental",
            "summary": "Choose a method of providing GitHub API access for projen workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 102
          },
          "name": "projenCredentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "When opening a new PR add a backport label to it,\nand the PR will be backported to the target branches once the PR is merged.\n\nShould not be used together with mergify.",
            "stability": "experimental",
            "summary": "Add a workflow that allows backport of PRs to other branches using labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 73
          },
          "name": "pullRequestBackport",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see defaults in `PullRequestBackportOptions`",
            "stability": "experimental",
            "summary": "Options for configuring pull request backport."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 80
          },
          "name": "pullRequestBackportOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.PullRequestBackportOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Add a workflow that performs basic checks for pull requests, like validating that PRs follow Conventional Commits."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 88
          },
          "name": "pullRequestLint",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see defaults in `PullRequestLintOptions`",
            "stability": "experimental",
            "summary": "Options for configuring a pull request linter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 95
          },
          "name": "pullRequestLintOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.PullRequestLintOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels for all workflows.\nCan be overridden on a per-component basis.",
              "throws": "{Error} if both `workflowRunsOn` and `workflowRunsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 145
          },
          "name": "workflowRunsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels for all workflows.\nCan be overridden on a per-component basis.",
              "throws": "{Error} if both `workflowRunsOn` and `workflowRunsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 153
          },
          "name": "workflowRunsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "If this is set to `false`, workflows will not be created.",
            "stability": "experimental",
            "summary": "Enables GitHub workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github.ts",
            "line": 62
          },
          "name": "workflows",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/github:GitHubOptions"
    },
    "projen.github.GitHubProject": {
      "assembly": "projen",
      "base": "projen.Project",
      "docs": {
        "deprecated": "This is a *temporary* class. At the moment, our base project\ntypes such as `NodeProject` and `JavaProject` are derived from this, but we\nwant to be able to use these project types outside of GitHub as well. One of\nthe next steps to address this is to abstract workflows so that different\n\"engines\" can be used to implement our CI/CD solutions.",
        "stability": "deprecated",
        "summary": "GitHub-based project."
      },
      "fqn": "projen.github.GitHubProject",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/github/github-project.ts",
          "line": 162
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.github.GitHubProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/github-project.ts",
        "line": 128
      },
      "methods": [
        {
          "docs": {
            "remarks": "This is achieved using the\ngithub-linguist attributes. Generated files do not count against the\nrepository statistics and language breakdown.",
            "see": "https://github.com/github/linguist/blob/master/docs/overrides.md",
            "stability": "deprecated",
            "summary": "Marks the provided file(s) as being generated."
          },
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 210
          },
          "name": "annotateGenerated",
          "overrides": "projen.Project",
          "parameters": [
            {
              "docs": {
                "summary": "the glob pattern to match (could be a file path)."
              },
              "name": "glob",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "GitHubProject",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Auto approve set up for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 160
          },
          "name": "autoApprove",
          "optional": true,
          "type": {
            "fqn": "projen.github.AutoApprove"
          }
        },
        {
          "docs": {
            "remarks": "This will be `undefined` if devContainer boolean is false",
            "stability": "deprecated",
            "summary": "Access for .devcontainer.json (used for GitHub Codespaces)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 155
          },
          "name": "devContainer",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.DevContainer"
          }
        },
        {
          "docs": {
            "remarks": "This will be `undefined` for subprojects.",
            "stability": "deprecated",
            "summary": "Access all github components."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 134
          },
          "name": "github",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitHub"
          }
        },
        {
          "docs": {
            "remarks": "This will be `undefined` if gitpod boolean is false",
            "stability": "deprecated",
            "summary": "Access for Gitpod."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 148
          },
          "name": "gitpod",
          "optional": true,
          "type": {
            "fqn": "projen.Gitpod"
          }
        },
        {
          "docs": {
            "remarks": "This will be `undefined` for subprojects.",
            "stability": "deprecated",
            "summary": "Access all VSCode components."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 141
          },
          "name": "vscode",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.VsCode"
          }
        }
      ],
      "symbolId": "src/github/github-project:GitHubProject"
    },
    "projen.github.GitHubProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `GitHubProject`."
      },
      "fqn": "projen.github.GitHubProjectOptions",
      "interfaces": [
        "projen.ProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/github-project.ts",
        "line": 22
      },
      "name": "GitHubProjectOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- auto approve is disabled",
            "stability": "experimental",
            "summary": "Enable and configure the 'auto approve' workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 80
          },
          "name": "autoApproveOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.AutoApproveOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Has no effect if `github.mergify`\nis set to false.",
            "stability": "experimental",
            "summary": "Enable automatic merging on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 87
          },
          "name": "autoMerge",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see defaults in `AutoMergeOptions`",
            "remarks": "Has no effect if\n`github.mergify` or `autoMerge` is set to false.",
            "stability": "experimental",
            "summary": "Configure options for automatic merging on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 95
          },
          "name": "autoMergeOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.AutoMergeOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true, but false for subprojects",
            "stability": "experimental",
            "summary": "Add a `clobber` task which resets the repo to origin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 66
          },
          "name": "clobber",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add a VSCode development environment (used for GitHub Codespaces)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 60
          },
          "name": "devContainer",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Enabled by default for root projects. Disabled for non-root projects.",
            "stability": "experimental",
            "summary": "Enable GitHub integration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 46
          },
          "name": "github",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see GitHubOptions",
            "stability": "experimental",
            "summary": "Options for GitHub integration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 53
          },
          "name": "githubOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitHubOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Add a Gitpod development environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 28
          },
          "name": "gitpod",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- use a personal access token named PROJEN_GITHUB_TOKEN",
            "stability": "experimental",
            "summary": "Choose a method of providing GitHub API access for projen workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 116
          },
          "name": "projenCredentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- { filename: 'README.md', contents: '# replace this' }",
            "example": "\"{ filename: 'readme.md', contents: '# title' }\"",
            "stability": "experimental",
            "summary": "The README setup."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 74
          },
          "name": "readme",
          "optional": true,
          "type": {
            "fqn": "projen.SampleReadmeProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "See `staleOptions` for options.",
            "stability": "experimental",
            "summary": "Auto-close of stale issues and pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 109
          },
          "name": "stale",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see defaults in `StaleOptions`",
            "remarks": "To disable set `stale` to `false`.",
            "stability": "experimental",
            "summary": "Auto-close stale issues and pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 102
          },
          "name": "staleOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.StaleOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Enabled by default for root projects. Disabled for non-root projects.",
            "stability": "experimental",
            "summary": "Enable VSCode integration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-project.ts",
            "line": 37
          },
          "name": "vscode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/github-project:GitHubProjectOptions"
    },
    "projen.github.GitIdentity": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Represents the git identity."
      },
      "fqn": "projen.github.GitIdentity",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/task-workflow.ts",
        "line": 79
      },
      "name": "GitIdentity",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The email address of the git user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 88
          },
          "name": "email",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 83
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/task-workflow:GitIdentity"
    },
    "projen.github.GithubCredentials": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Represents a method of providing GitHub API access for projen workflows."
      },
      "fqn": "projen.github.GithubCredentials",
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/github-credentials.ts",
        "line": 81
      },
      "methods": [
        {
          "docs": {
            "default": "- app id stored in \"PROJEN_APP_ID\" and private key stored in \"PROJEN_APP_PRIVATE_KEY\" with all permissions attached to the app",
            "remarks": "The GitHub App must be installed on the GitHub repo, its App ID and a\nprivate key must be added as secrets to the repo. The name of the secrets\ncan be specified here.",
            "see": "https://projen.io/docs/integrations/github/#github-app",
            "stability": "experimental",
            "summary": "Provide API access through a GitHub App."
          },
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 112
          },
          "name": "fromApp",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.GithubCredentialsAppOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.GithubCredentials"
            }
          },
          "static": true
        },
        {
          "docs": {
            "default": "- a secret named \"PROJEN_GITHUB_TOKEN\"",
            "remarks": "The token must be added as a secret to the GitHub repo, and the name of the\nsecret can be specified here.",
            "see": "https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token",
            "stability": "experimental",
            "summary": "Provide API access through a GitHub personal access token."
          },
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 91
          },
          "name": "fromPersonalAccessToken",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.GithubCredentialsPersonalAccessTokenOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.GithubCredentials"
            }
          },
          "static": true
        }
      ],
      "name": "GithubCredentials",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Setup steps to obtain GitHub credentials."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 158
          },
          "name": "setupSteps",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "This\ntypically looks like \"${{ some.path.to.a.value }}\".",
            "stability": "experimental",
            "summary": "The value to use in a workflow when a GitHub token is expected."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 166
          },
          "name": "tokenRef",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The GitHub Actions environment the credentials have been added to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 173
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/github-credentials:GithubCredentials"
    },
    "projen.github.GithubCredentialsAppOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `GithubCredentials.fromApp`."
      },
      "fqn": "projen.github.GithubCredentialsAppOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/github-credentials.ts",
        "line": 29
      },
      "name": "GithubCredentialsAppOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"PROJEN_APP_ID\"",
            "stability": "experimental",
            "summary": "The secret containing the GitHub App ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 35
          },
          "name": "appIdSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used",
            "remarks": "This can be used to add explicit approval steps to access the secrets.",
            "stability": "experimental",
            "summary": "The GitHub Actions environment the secrets are added to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 75
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- if empty, defaults to the current repository owner",
            "stability": "experimental",
            "summary": "The owner of the GitHub App installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 51
          },
          "name": "owner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all permissions granted to the app",
            "stability": "experimental",
            "summary": "The permissions granted to the token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 66
          },
          "name": "permissions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermissions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"PROJEN_APP_PRIVATE_KEY\"",
            "remarks": "Escaped newlines (\\\\n) will be automatically replaced with actual newlines.",
            "stability": "experimental",
            "summary": "The secret containing the GitHub App private key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 44
          },
          "name": "privateKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- if owner is set and repositories is empty, access will be scoped to all repositories in the provided repository owner's installation.\nIf owner and repositories are empty, access will be scoped to only the current repository.",
            "stability": "experimental",
            "summary": "List of repositories to grant access to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 59
          },
          "name": "repositories",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/github-credentials:GithubCredentialsAppOptions"
    },
    "projen.github.GithubCredentialsPersonalAccessTokenOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `GithubCredentials.fromPersonalAccessToken`."
      },
      "fqn": "projen.github.GithubCredentialsPersonalAccessTokenOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/github-credentials.ts",
        "line": 8
      },
      "name": "GithubCredentialsPersonalAccessTokenOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used",
            "remarks": "This can be used to add explicit approval steps to access the secret.",
            "stability": "experimental",
            "summary": "The GitHub Actions environment the secrets is added to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 23
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"PROJEN_GITHUB_TOKEN\"",
            "stability": "experimental",
            "summary": "The name of the secret that holds the GitHub personal access token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/github-credentials.ts",
            "line": 14
          },
          "name": "secret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/github-credentials:GithubCredentialsPersonalAccessTokenOptions"
    },
    "projen.github.GithubWorkflow": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "A workflow is a configurable automated process made up of one or more jobs.",
        "see": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions",
        "stability": "experimental",
        "summary": "Workflow for GitHub."
      },
      "fqn": "projen.github.GithubWorkflow",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/workflows.ts",
          "line": 157
        },
        "parameters": [
          {
            "docs": {
              "summary": "The GitHub component of the project this workflow belongs to."
            },
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "docs": {
              "summary": "The name of the workflow, displayed under the repository's \"Actions\" tab."
            },
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "docs": {
              "summary": "Additional options to configure the workflow."
            },
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.GithubWorkflowOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/workflows.ts",
        "line": 92
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a single job to the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 218
          },
          "name": "addJob",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The job specification."
              },
              "name": "job",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                    },
                    {
                      "fqn": "projen.github.workflows.Job"
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add jobs to the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 230
          },
          "name": "addJobs",
          "parameters": [
            {
              "docs": {
                "summary": "Jobs to add."
              },
              "name": "jobs",
              "type": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                        },
                        {
                          "fqn": "projen.github.workflows.Job"
                        }
                      ]
                    }
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Appends a step to the end of a job's step list."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 301
          },
          "name": "appendStep",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Must have an `id` set.",
                "summary": "The step to add."
              },
              "name": "step",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Get a single job from the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 241
          },
          "name": "getJob",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "union": {
                "types": [
                  {
                    "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                  },
                  {
                    "fqn": "projen.github.workflows.Job"
                  }
                ]
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "The returned object is frozen and read-only. Use `replaceStep` or\n`patchStep` to modify a step.",
            "returns": "A read-only copy of the step",
            "stability": "experimental",
            "summary": "Gets a single step from a job by step ID."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 289
          },
          "name": "getStep",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The step ID to look up."
              },
              "name": "stepId",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Inserts a step after an existing step, identified by ID."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 404
          },
          "name": "insertStepAfter",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The ID of the step to insert after."
              },
              "name": "referenceStepId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Must have an `id` set.",
                "summary": "The step to insert."
              },
              "name": "step",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Inserts a step before an existing step, identified by ID."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 385
          },
          "name": "insertStepBefore",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The ID of the step to insert before."
              },
              "name": "referenceStepId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Must have an `id` set.",
                "summary": "The step to insert."
              },
              "name": "step",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add events to triggers the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 206
          },
          "name": "on",
          "parameters": [
            {
              "docs": {
                "summary": "The event(s) to trigger the workflow."
              },
              "name": "events",
              "type": {
                "fqn": "projen.github.workflows.Triggers"
              }
            }
          ]
        },
        {
          "docs": {
            "example": "// Add an env var without replacing existing ones:\nconst step = workflow.getStep(\"build\", \"install\");\nworkflow.patchStep(\"build\", \"install\", {\n  env: { ...step.env, NODE_AUTH_TOKEN: \"${{ steps.jfrog.outputs.oidc-token }}\" },\n});",
            "remarks": "The provided patch is shallow-merged onto the existing step. Fields not\npresent in the patch are preserved unchanged. Use `getStep` to read the\ncurrent step values before constructing the patch.",
            "stability": "experimental",
            "summary": "Applies a surgical modification to an existing step."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 355
          },
          "name": "patchStep",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The ID of the step to patch."
              },
              "name": "stepId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "A partial step object whose fields are shallow-merged onto the existing step."
              },
              "name": "patch",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Removes a single job to the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 275
          },
          "name": "removeJob",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Removes a step from a job by step ID."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 372
          },
          "name": "removeStep",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The ID of the step to remove."
              },
              "name": "stepId",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Replaces an existing step in a job, preserving its position."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 315
          },
          "name": "replaceStep",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "jobId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The ID of the step to replace."
              },
              "name": "stepId",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "Inherits the original step's ID.",
                "summary": "The replacement step."
              },
              "name": "replacementStep",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Updates a single job to the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 251
          },
          "name": "updateJob",
          "parameters": [
            {
              "docs": {
                "summary": "The job name (unique within the workflow)."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "job",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                    },
                    {
                      "fqn": "projen.github.workflows.Job"
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Updates jobs for this workflow Does a complete replace, it does not try to merge the jobs."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 264
          },
          "name": "updateJobs",
          "parameters": [
            {
              "docs": {
                "summary": "Jobs to update."
              },
              "name": "jobs",
              "type": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                        },
                        {
                          "fqn": "projen.github.workflows.Job"
                        }
                      ]
                    }
                  },
                  "kind": "map"
                }
              }
            }
          ]
        }
      ],
      "name": "GithubWorkflow",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "remarks": "This is a read-only copy, use the respective helper methods to add, update or remove jobs.",
            "stability": "experimental",
            "summary": "All current jobs of the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 105
          },
          "name": "jobs",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "fqn": "projen.github.workflows.JobCallingReusableWorkflow"
                    },
                    {
                      "fqn": "projen.github.workflows.Job"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "remarks": "GitHub displays the names of your workflows under your repository's\n\"Actions\" tab.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#name",
            "stability": "experimental",
            "summary": "The name of the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 98
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "GitHub API authentication method used by projen workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 130
          },
          "name": "projenCredentials",
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "docs": {
            "remarks": "undefined means no concurrency limitations.",
            "stability": "experimental",
            "summary": "The concurrency configuration of the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 115
          },
          "name": "concurrency",
          "optional": true,
          "type": {
            "fqn": "projen.github.ConcurrencyOptions"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Additional environment variables to set for the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 120
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "remarks": "May not exist if `workflowsEnabled` is false on `GitHub`.",
            "stability": "experimental",
            "summary": "The workflow YAML file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 125
          },
          "name": "file",
          "optional": true,
          "type": {
            "fqn": "projen.YamlFile"
          }
        },
        {
          "docs": {
            "remarks": "GitHub displays the\nworkflow run name in the list of workflow runs on your repository's\n\"Actions\" tab. If `run-name` is omitted or is only whitespace, then the run\nname is set to event-specific information for the workflow run. For\nexample, for a workflow triggered by a `push` or `pull_request` event, it\nis set as the commit message.\n\nThis value can include expressions and can reference `github` and `inputs`\ncontexts.",
            "stability": "experimental",
            "summary": "The name for workflow runs generated from the workflow."
          },
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 143
          },
          "name": "runName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows:GithubWorkflow"
    },
    "projen.github.GithubWorkflowOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `GithubWorkflow`."
      },
      "fqn": "projen.github.GithubWorkflowOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows.ts",
        "line": 41
      },
      "name": "GithubWorkflowOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- { group: ${{ github.workflow }}, cancelInProgress: false }",
            "remarks": "Currently in beta.",
            "see": "https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#concurrency",
            "stability": "experimental",
            "summary": "Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 63
          },
          "name": "concurrencyOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.ConcurrencyOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional environment variables",
            "stability": "experimental",
            "summary": "Additional environment variables to set for the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 70
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- a path-safe version of the workflow name plus the .yml file ending, e.g. build.yml",
            "example": "\"my-workflow.yaml\"",
            "remarks": "Use this option to set a file name for the workflow file, that is different than the display name.",
            "stability": "experimental",
            "summary": "Set a custom file name for the workflow definition file. Must include either a .yml or .yaml file extension."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 82
          },
          "name": "fileName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Force the creation of the workflow even if `workflows` is disabled in `GitHub`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 47
          },
          "name": "force",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Use `concurrencyOptions` to configure specific non default values.",
            "stability": "experimental",
            "summary": "Enable concurrency limitations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows.ts",
            "line": 54
          },
          "name": "limitConcurrency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/workflows:GithubWorkflowOptions"
    },
    "projen.github.IAddConditionsLater": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.IAddConditionsLater",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/auto-merge.ts",
        "line": 126
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/github/auto-merge.ts",
            "line": 127
          },
          "name": "render",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        }
      ],
      "name": "IAddConditionsLater",
      "namespace": "github",
      "symbolId": "src/github/auto-merge:IAddConditionsLater"
    },
    "projen.github.MergeMethod": {
      "assembly": "projen",
      "docs": {
        "remarks": "Behavior can be further configured in repository settings.",
        "stability": "experimental",
        "summary": "The merge method used to add the PR to the merge queue."
      },
      "fqn": "projen.github.MergeMethod",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/auto-queue.ts",
        "line": 13
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "SQUASH"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "MERGE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "REBASE"
        }
      ],
      "name": "MergeMethod",
      "namespace": "github",
      "symbolId": "src/github/auto-queue:MergeMethod"
    },
    "projen.github.MergeQueue": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Merge pull requests using a merge queue."
      },
      "fqn": "projen.github.MergeQueue",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/merge-queue.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.MergeQueueOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/merge-queue.ts",
        "line": 35
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/github/merge-queue.ts",
            "line": 90
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "MergeQueue",
      "namespace": "github",
      "symbolId": "src/github/merge-queue:MergeQueue"
    },
    "projen.github.MergeQueueOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for 'MergeQueue'."
      },
      "fqn": "projen.github.MergeQueueOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/merge-queue.ts",
        "line": 11
      },
      "name": "MergeQueueOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Should pull requests be queued automatically to be merged once they pass required checks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/merge-queue.ts",
            "line": 16
          },
          "name": "autoQueue",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- see AutoQueueOptions",
            "stability": "experimental",
            "summary": "Configure auto-queue pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/merge-queue.ts",
            "line": 22
          },
          "name": "autoQueueOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.AutoQueueOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all branches",
            "stability": "experimental",
            "summary": "The branches that can be merged into using MergeQueue."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/merge-queue.ts",
            "line": 29
          },
          "name": "targetBranches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/merge-queue:MergeQueueOptions"
    },
    "projen.github.Mergify": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.Mergify",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/mergify.ts",
          "line": 148
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.MergifyOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 142
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 181
          },
          "name": "addQueue",
          "parameters": [
            {
              "name": "queue",
              "type": {
                "fqn": "projen.github.MergifyQueue"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 176
          },
          "name": "addRule",
          "parameters": [
            {
              "name": "rule",
              "type": {
                "fqn": "projen.github.MergifyRule"
              }
            }
          ]
        }
      ],
      "name": "Mergify",
      "namespace": "github",
      "symbolId": "src/github/mergify:Mergify"
    },
    "projen.github.MergifyCommitMessageFormat": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.mergify.com/workflow/actions/merge/#customizing-the-commit-message",
        "stability": "experimental",
        "summary": "Declarative configuration for Mergify `commit_message_format`."
      },
      "fqn": "projen.github.MergifyCommitMessageFormat",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 23
      },
      "name": "MergifyCommitMessageFormat",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "- `inherit`: use the GitHub repository default merge commit body format\n- `pr-body`: use the pull request body\n- `empty`: set the commit body to be empty",
            "stability": "experimental",
            "summary": "Commit body format."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 39
          },
          "name": "body",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "- `inherit`: use the GitHub repository default merge commit title format\n- `pr-title`: use the pull request title (with the PR number appended)",
            "stability": "experimental",
            "summary": "Commit title format."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 30
          },
          "name": "title",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Optional list of trailers to append to the commit message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 44
          },
          "name": "trailers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/mergify:MergifyCommitMessageFormat"
    },
    "projen.github.MergifyConditionalOperator": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Note: The number of nested conditions is limited to 3.",
        "see": "https://docs.mergify.io/conditions/#combining-conditions-with-operators",
        "stability": "experimental",
        "summary": "The Mergify conditional operators that can be used are: `or` and `and`."
      },
      "fqn": "projen.github.MergifyConditionalOperator",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 11
      },
      "name": "MergifyConditionalOperator",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 13
          },
          "name": "and",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.github.MergifyConditionalOperator"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 12
          },
          "name": "or",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.github.MergifyConditionalOperator"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/mergify:MergifyConditionalOperator"
    },
    "projen.github.MergifyOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "This currently only offers a subset of options available.",
        "see": "https://docs.mergify.com/configuration/file-format/",
        "stability": "experimental",
        "summary": "Configure Mergify."
      },
      "fqn": "projen.github.MergifyOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 131
      },
      "name": "MergifyOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The available merge queues."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 139
          },
          "name": "queues",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.MergifyQueue"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Pull request automation rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 135
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.MergifyRule"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/mergify:MergifyOptions"
    },
    "projen.github.MergifyQueue": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.MergifyQueue",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 67
      },
      "name": "MergifyQueue",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the queue."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 71
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.mergify.com/workflow/actions/merge/#customizing-the-commit-message",
            "stability": "experimental",
            "summary": "When merging with the merge or squash method, configure the title, body, and trailers of the resulting commit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 116
          },
          "name": "commitMessageFormat",
          "optional": true,
          "type": {
            "fqn": "projen.github.MergifyCommitMessageFormat"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "Use `commitMessageFormat` instead.",
            "stability": "deprecated",
            "summary": "Template to use as the commit message when using the merge or squash merge method."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 122
          },
          "name": "commitMessageTemplate",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This automatically includes the queueConditions.\nIn case of speculative merge pull request, the merge conditions are evaluated against the temporary pull request instead of the original one.",
            "see": "https://docs.mergify.com/conditions/#conditions",
            "stability": "experimental",
            "summary": "The list of conditions to match to get the queued pull request merged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 110
          },
          "name": "mergeConditions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.github.MergifyConditionalOperator"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"merge\"",
            "remarks": "Possible values are `merge`, `squash`, `rebase` or `fast-forward`.\n`fast-forward` is not supported on queues with `speculative_checks` > 1, `batch_size` > 1, or with `allow_inplace_checks` set to false.",
            "stability": "experimental",
            "summary": "Merge method to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 81
          },
          "name": "mergeMethod",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.mergify.com/conditions/#conditions",
            "stability": "experimental",
            "summary": "The list of conditions that needs to match to queue the pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 102
          },
          "name": "queueConditions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.github.MergifyConditionalOperator"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- `merge` for all merge methods except `fast-forward` where `rebase` is used",
            "remarks": "Possible values:\n - `merge` to merge the base branch into the pull request.\n - `rebase` to rebase the pull request against its base branch.\n\nNote that the `rebase` method has some drawbacks, see Mergify docs for details.",
            "see": "https://docs.mergify.com/actions/queue/#queue-rules",
            "stability": "experimental",
            "summary": "Method to use to update the pull request with its base branch when the speculative check is done in-place."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 96
          },
          "name": "updateMethod",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/mergify:MergifyQueue"
    },
    "projen.github.MergifyRule": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.MergifyRule",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/mergify.ts",
        "line": 47
      },
      "name": "MergifyRule",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.mergify.io/actions/#actions",
            "stability": "experimental",
            "summary": "A dictionary made of Actions that will be executed on the matching pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 64
          },
          "name": "actions",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.mergify.io/conditions/#conditions",
            "stability": "experimental",
            "summary": "A list of Conditions string that must match against the pull request for the rule to be applied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 58
          },
          "name": "conditions",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.github.MergifyConditionalOperator"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This is not used by the engine directly,\nbut is used when reporting information about a rule.",
            "stability": "experimental",
            "summary": "The name of the rule."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/mergify.ts",
            "line": 52
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/mergify:MergifyRule"
    },
    "projen.github.PullRequestBackport": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.PullRequestBackport",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/pull-request-backport.ts",
          "line": 71
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.PullRequestBackportOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/pull-request-backport.ts",
        "line": 67
      },
      "name": "PullRequestBackport",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 68
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 69
          },
          "name": "workflow",
          "type": {
            "fqn": "projen.github.GithubWorkflow"
          }
        }
      ],
      "symbolId": "src/github/pull-request-backport:PullRequestBackport"
    },
    "projen.github.PullRequestBackportOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.PullRequestBackportOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/pull-request-backport.ts",
        "line": 11
      },
      "name": "PullRequestBackportOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically approve backport PRs if the 'auto approve' workflow is available."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 50
          },
          "name": "autoApproveBackport",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"backport/\"",
            "remarks": "Make sure to include a separator at the end like `/` or `_`.",
            "stability": "experimental",
            "summary": "The prefix used to name backport branches."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 43
          },
          "name": "backportBranchNamePrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[\"backport\"]",
            "stability": "experimental",
            "summary": "The labels added to the created backport PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 34
          },
          "name": "backportPRLabels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- allow backports to all release branches",
            "stability": "experimental",
            "summary": "List of branches that can be a target for backports."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 57
          },
          "name": "branches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Conflicts will have to be resolved manually, but a PR is always created.\nSet to `false` to prevent the backport PR from being created if there are conflicts.",
            "stability": "experimental",
            "summary": "Should this created Backport PRs with conflicts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 27
          },
          "name": "createWithConflicts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"backport-to-\"",
            "stability": "experimental",
            "summary": "The prefix used to detect PRs that should be backported."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 64
          },
          "name": "labelPrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"backport\"",
            "stability": "experimental",
            "summary": "The name of the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-backport.ts",
            "line": 17
          },
          "name": "workflowName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/pull-request-backport:PullRequestBackportOptions"
    },
    "projen.github.PullRequestFromPatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.PullRequestFromPatchOptions",
      "interfaces": [
        "projen.github.CreatePullRequestOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-jobs.ts",
        "line": 68
      },
      "name": "PullRequestFromPatchOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Information about the patch that is used to create the pull request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 72
          },
          "name": "patch",
          "type": {
            "fqn": "projen.github.PullRequestPatchSource"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"Create Pull Request\"",
            "stability": "experimental",
            "summary": "The name of the job displayed on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 78
          },
          "name": "jobName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 86
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 93
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/github/workflow-jobs:PullRequestFromPatchOptions"
    },
    "projen.github.PullRequestLint": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Only generates a file if at least one linter is configured.",
        "stability": "experimental",
        "summary": "Configure validations to run on GitHub pull requests."
      },
      "fqn": "projen.github.PullRequestLint",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/pull-request-lint.ts",
          "line": 92
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.PullRequestLintOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/pull-request-lint.ts",
        "line": 91
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 214
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "PullRequestLint",
      "namespace": "github",
      "symbolId": "src/github/pull-request-lint:PullRequestLint"
    },
    "projen.github.PullRequestLintOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for PullRequestLint."
      },
      "fqn": "projen.github.PullRequestLintOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/pull-request-lint.ts",
        "line": 12
      },
      "name": "PullRequestLintOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no contributor statement is required",
            "remarks": "For example confirming that the contribution has been made by the contributor and complies with the project's license.\n\nAppends the statement to the end of the Pull Request template.",
            "stability": "experimental",
            "summary": "Require a contributor statement to be included in the PR description."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 35
          },
          "name": "contributorStatement",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- none",
            "stability": "experimental",
            "summary": "Options for requiring a contributor statement on Pull Requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 41
          },
          "name": "contributorStatementOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.ContributorStatementOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "see": "https://www.conventionalcommits.org/",
            "stability": "experimental",
            "summary": "Validate that pull request titles follow Conventional Commits."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 19
          },
          "name": "semanticTitle",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- title must start with \"feat\", \"fix\", or \"chore\"",
            "stability": "experimental",
            "summary": "Options for validating the conventional commit title linter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 25
          },
          "name": "semanticTitleOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.SemanticTitleOptions"
          }
        }
      ],
      "symbolId": "src/github/pull-request-lint:PullRequestLintOptions"
    },
    "projen.github.PullRequestPatchSource": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.PullRequestPatchSource",
      "interfaces": [
        "projen.github.CheckoutWithPatchOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-jobs.ts",
        "line": 56
      },
      "name": "PullRequestPatchSource",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The id of the job that created the patch file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 60
          },
          "name": "jobId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the output that indicates if a patch has been created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 65
          },
          "name": "outputName",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-jobs:PullRequestPatchSource"
    },
    "projen.github.PullRequestTemplate": {
      "assembly": "projen",
      "base": "projen.TextFile",
      "docs": {
        "stability": "experimental",
        "summary": "Template for GitHub pull requests."
      },
      "fqn": "projen.github.PullRequestTemplate",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/pr-template.ts",
          "line": 34
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.PullRequestTemplateOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/pr-template.ts",
        "line": 21
      },
      "methods": [
        {
          "docs": {
            "returns": "A PullRequestTemplate",
            "stability": "experimental",
            "summary": "Returns the `PullRequestTemplate` instance associated with a project or `undefined` if there is no PullRequestTemplate."
          },
          "locationInModule": {
            "filename": "src/github/pr-template.ts",
            "line": 28
          },
          "name": "of",
          "parameters": [
            {
              "docs": {
                "summary": "The project."
              },
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.github.PullRequestTemplate"
            }
          },
          "static": true
        }
      ],
      "name": "PullRequestTemplate",
      "namespace": "github",
      "symbolId": "src/github/pr-template:PullRequestTemplate"
    },
    "projen.github.PullRequestTemplateOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `PullRequestTemplate`."
      },
      "fqn": "projen.github.PullRequestTemplateOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/pr-template.ts",
        "line": 9
      },
      "name": "PullRequestTemplateOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- a standard default template will be created.",
            "remarks": "You can use `addLine()` to add additional lines.",
            "stability": "experimental",
            "summary": "The contents of the template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pr-template.ts",
            "line": 15
          },
          "name": "lines",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/pr-template:PullRequestTemplateOptions"
    },
    "projen.github.SemanticTitleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://www.conventionalcommits.org/",
        "stability": "experimental",
        "summary": "Options for linting that PR titles follow Conventional Commits."
      },
      "fqn": "projen.github.SemanticTitleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/pull-request-lint.ts",
        "line": 48
      },
      "name": "SemanticTitleOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "e.g. feat(ui), fix(core)",
            "stability": "experimental",
            "summary": "Configure that a scope must always be provided."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 60
          },
          "name": "requireScope",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all scopes allowed",
            "remarks": "These are regex patterns auto-wrapped in `^ $`.",
            "stability": "experimental",
            "summary": "Configure which scopes are allowed (newline-delimited)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 68
          },
          "name": "scopes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[\"feat\", \"fix\", \"chore\"]",
            "stability": "experimental",
            "summary": "Configure a list of commit types that are allowed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/pull-request-lint.ts",
            "line": 53
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/pull-request-lint:SemanticTitleOptions"
    },
    "projen.github.SetupGitIdentityOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.SetupGitIdentityOptions",
      "interfaces": [
        "projen.github.workflows.JobStepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 254
      },
      "name": "SetupGitIdentityOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The identity to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 258
          },
          "name": "gitIdentity",
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:SetupGitIdentityOptions"
    },
    "projen.github.Stale": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "The default configuration will:\n\n * Add a \"Stale\" label to pull requests after 14 days and closed after 2 days\n * Add a \"Stale\" label to issues after 60 days and closed after 7 days\n * If a comment is added, the label will be removed and timer is restarted.",
        "see": "https://github.com/actions/stale",
        "stability": "experimental",
        "summary": "Warns and then closes issues and PRs that have had no activity for a specified amount of time."
      },
      "fqn": "projen.github.Stale",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/stale.ts",
          "line": 93
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.github.StaleOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/stale.ts",
        "line": 92
      },
      "name": "Stale",
      "namespace": "github",
      "symbolId": "src/github/stale:Stale"
    },
    "projen.github.StaleBehavior": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Stale behavior."
      },
      "fqn": "projen.github.StaleBehavior",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/stale.ts",
        "line": 32
      },
      "name": "StaleBehavior",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "mentioning": "a maintainer when you are ready to continue.\""
            },
            "default": "\"Closing this pull request as it hasn\\'t seen activity for a while. Please add a comment",
            "stability": "experimental",
            "summary": "The comment to add to the issue/PR when it's closed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 65
          },
          "name": "closeMessage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "-",
            "remarks": "Set to -1 to disable.",
            "stability": "experimental",
            "summary": "Days until the issue/PR is closed after it is marked as \"Stale\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 52
          },
          "name": "daysBeforeClose",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "-",
            "remarks": "Set to -1 to disable.",
            "stability": "experimental",
            "summary": "How many days until the issue or pull request is marked as \"Stale\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 46
          },
          "name": "daysBeforeStale",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Same as setting `daysBeforeStale` and `daysBeforeClose` to `-1`.",
            "stability": "experimental",
            "summary": "Determines if this behavior is enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 40
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"backlog\"]",
            "remarks": "Set to `[]` to disable.",
            "stability": "experimental",
            "summary": "Label which exempt an issue/PR from becoming stale."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 78
          },
          "name": "exemptLabels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"stale\"",
            "stability": "experimental",
            "summary": "The label to apply to the issue/PR when it becomes stale."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 71
          },
          "name": "staleLabel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"This pull request is now marked as stale because hasn\\'t seen activity for a while. Add a comment or it will be closed soon.\"",
            "stability": "experimental",
            "summary": "The comment to add to the issue/PR when it becomes stale."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 58
          },
          "name": "staleMessage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/stale:StaleBehavior"
    },
    "projen.github.StaleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Stale`."
      },
      "fqn": "projen.github.StaleOptions",
      "interfaces": [
        "projen.RunsOnOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/stale.ts",
        "line": 11
      },
      "name": "StaleOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- By default, stale issues with no activity will be marked as\nstale after 60 days and closed within 7 days.",
            "stability": "experimental",
            "summary": "How to handle stale issues."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 26
          },
          "name": "issues",
          "optional": true,
          "type": {
            "fqn": "projen.github.StaleBehavior"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- By default, pull requests with no activity will be marked as\nstale after 14 days and closed within 2 days with relevant comments.",
            "stability": "experimental",
            "summary": "How to handle stale pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/stale.ts",
            "line": 18
          },
          "name": "pullRequest",
          "optional": true,
          "type": {
            "fqn": "projen.github.StaleBehavior"
          }
        }
      ],
      "symbolId": "src/github/stale:StaleOptions"
    },
    "projen.github.TaskWorkflow": {
      "assembly": "projen",
      "base": "projen.github.GithubWorkflow",
      "docs": {
        "stability": "experimental",
        "summary": "A GitHub workflow for common build tasks within a project."
      },
      "fqn": "projen.github.TaskWorkflow",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/task-workflow.ts",
          "line": 45
        },
        "parameters": [
          {
            "name": "github",
            "type": {
              "fqn": "projen.github.GitHub"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.github.TaskWorkflowOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/task-workflow.ts",
        "line": 41
      },
      "name": "TaskWorkflow",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 42
          },
          "name": "jobId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 43
          },
          "name": "artifactsDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/task-workflow:TaskWorkflow"
    },
    "projen.github.TaskWorkflowJob": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "custom": {
          "implements": "Job"
        },
        "stability": "experimental",
        "summary": "The primary or initial job of a TaskWorkflow."
      },
      "fqn": "projen.github.TaskWorkflowJob",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/github/task-workflow-job.ts",
          "line": 169
        },
        "parameters": [
          {
            "docs": {
              "summary": "should be part of the project the Task belongs to."
            },
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "docs": {
              "summary": "the main task that is run as part of this job."
            },
            "name": "task",
            "type": {
              "fqn": "projen.Task"
            }
          },
          {
            "docs": {
              "summary": "options to configure the TaskWorkflowJob."
            },
            "name": "options",
            "type": {
              "fqn": "projen.github.TaskWorkflowJobOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/task-workflow-job.ts",
        "line": 144
      },
      "name": "TaskWorkflowJob",
      "namespace": "github",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 159
          },
          "name": "permissions",
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 147
          },
          "name": "steps",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 160
          },
          "name": "concurrency",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 154
          },
          "name": "container",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerOptions"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 153
          },
          "name": "continueOnError",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 151
          },
          "name": "defaults",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobDefaults"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 150
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 148
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 161
          },
          "name": "if",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 157
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 158
          },
          "name": "needs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 149
          },
          "name": "outputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStepOutput"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 145
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 146
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 155
          },
          "name": "services",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.ContainerOptions"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 162
          },
          "name": "strategy",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStrategy"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 152
          },
          "name": "timeoutMinutes",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 156
          },
          "name": "tools",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Tools"
          }
        }
      ],
      "symbolId": "src/github/task-workflow-job:TaskWorkflowJob"
    },
    "projen.github.TaskWorkflowJobOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options to create the Job associated with a TaskWorkflow."
      },
      "fqn": "projen.github.TaskWorkflowJobOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/task-workflow-job.ts",
        "line": 25
      },
      "name": "TaskWorkflowJobOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Permissions for the build job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 82
          },
          "name": "permissions",
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "A directory name which contains artifacts to be uploaded (e.g. `dist`). If this is set, the contents of this directory will be uploaded as an artifact at the end of the workflow run, even if other steps fail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 43
          },
          "name": "artifactsDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Use the setting on the corresponding GitHub project",
            "stability": "experimental",
            "summary": "Whether to checkout Git submodules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 124
          },
          "name": "checkoutSubmodules",
          "optional": true,
          "type": {
            "fqn": "projen.github.CheckoutSubmodules"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "Override for the `with` property of the source code checkout step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 57
          },
          "name": "checkoutWith",
          "optional": true,
          "type": {
            "fqn": "projen.github.CheckoutWith"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds an 'if' condition to the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 34
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default image",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 29
          },
          "name": "container",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Use the setting on the corresponding GitHub project",
            "stability": "experimental",
            "summary": "Whether to download files from Git LFS for this workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 117
          },
          "name": "downloadLfs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Workflow environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 77
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used",
            "stability": "experimental",
            "summary": "The GitHub Actions environment used for the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 136
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user",
            "stability": "experimental",
            "summary": "The git identity to use in this workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 95
          },
          "name": "gitIdentity",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Default settings for all steps in the TaskWorkflow Job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 129
          },
          "name": "jobDefaults",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobDefaults"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Mapping of job output names to values/expressions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 89
          },
          "name": "outputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStepOutput"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "Actions to run after the main build step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 71
          },
          "name": "postBuildSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "Steps to run before the main build step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 64
          },
          "name": "preBuildSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "Initial steps to run before the source code checkout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 50
          },
          "name": "preCheckoutSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 103
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow-job.ts",
            "line": 110
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/github/task-workflow-job:TaskWorkflowJobOptions"
    },
    "projen.github.TaskWorkflowOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options to create a TaskWorkflow."
      },
      "fqn": "projen.github.TaskWorkflowOptions",
      "interfaces": [
        "projen.github.TaskWorkflowJobOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/task-workflow.ts",
        "line": 13
      },
      "name": "TaskWorkflowOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The workflow name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 17
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The main task to be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 35
          },
          "name": "task",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"build\"",
            "stability": "experimental",
            "summary": "The primary job id."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 23
          },
          "name": "jobId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- by default workflows can only be triggered by manually.",
            "stability": "experimental",
            "summary": "The triggers for the workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/task-workflow.ts",
            "line": 30
          },
          "name": "triggers",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Triggers"
          }
        }
      ],
      "symbolId": "src/github/task-workflow:TaskWorkflowOptions"
    },
    "projen.github.UploadArtifactOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.UploadArtifactOptions",
      "interfaces": [
        "projen.github.workflows.JobStepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 325
      },
      "name": "UploadArtifactOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for `upload-artifact`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 329
          },
          "name": "with",
          "type": {
            "fqn": "projen.github.UploadArtifactWith"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:UploadArtifactOptions"
    },
    "projen.github.UploadArtifactWith": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.UploadArtifactWith",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 261
      },
      "name": "UploadArtifactWith",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A file, directory or wildcard pattern that describes what to upload."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 272
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "6",
            "remarks": "The value can range from 0 to 9.\nFor large files that are not easily compressed, a value of 0 is recommended for significantly faster uploads.",
            "stability": "experimental",
            "summary": "The level of compression for Zlib to be applied to the artifact archive."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 303
          },
          "name": "compressionLevel",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"warn\"",
            "remarks": "Available Options:\n  warn: Output a warning but do not fail the action\n  error: Fail the action with an error message\n  ignore: Do not output any warnings or errors, the action does not fail",
            "stability": "experimental",
            "summary": "The desired behavior if no files are found using the provided path."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 283
          },
          "name": "ifNoFilesFound",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "The file contents of any hidden files in the path should be validated before enabled this to avoid uploading sensitive information.",
            "stability": "experimental",
            "summary": "Whether to include hidden files in the provided path in the artifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 322
          },
          "name": "includeHiddenFiles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"artifact\"",
            "stability": "experimental",
            "summary": "Name of the artifact to upload."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 267
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Introduced in v4 and represents a breaking change from the behavior of the v3 action.\nTo maintain backwards compatibility with existing, this should be set the `true` (the default).",
            "stability": "experimental",
            "summary": "Whether action should overwrite an existing artifact with the same name (should one exist)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 313
          },
          "name": "overwrite",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The default repository retention",
            "remarks": "Minimum 1 day.\nMaximum 90 days unless changed from the repository settings page.",
            "stability": "experimental",
            "summary": "Duration after which artifact will expire in days. 0 means using default repository retention."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 293
          },
          "name": "retentionDays",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/github/workflow-steps:UploadArtifactWith"
    },
    "projen.github.UploadGitPatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `uploadGitPatch`."
      },
      "fqn": "projen.github.UploadGitPatchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflow-actions.ts",
        "line": 170
      },
      "name": "UploadGitPatchOptions",
      "namespace": "github",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "It will be set to `true` if there was a diff.",
            "stability": "experimental",
            "summary": "The name of the output to emit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 191
          },
          "name": "outputName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The step ID which produces the output which indicates if a patch was created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 174
          },
          "name": "stepId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- do not fail upon mutation",
            "stability": "experimental",
            "summary": "Fail if a mutation was found and print this error message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 197
          },
          "name": "mutationError",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\".repo.patch\"",
            "stability": "experimental",
            "summary": "The name of the artifact the patch is stored as."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 186
          },
          "name": "patchFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"Find mutations\"",
            "stability": "experimental",
            "summary": "The name of the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 180
          },
          "name": "stepName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflow-actions:UploadGitPatchOptions"
    },
    "projen.github.VersioningStrategy": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The strategy to use when edits manifest and lock files."
      },
      "fqn": "projen.github.VersioningStrategy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/dependabot.ts",
        "line": 432
      },
      "members": [
        {
          "docs": {
            "remarks": "Ignore any new\nversions that would require package manifest changes.",
            "stability": "experimental",
            "summary": "Only create pull requests to update lockfiles updates."
          },
          "name": "LOCKFILE_ONLY"
        },
        {
          "docs": {
            "remarks": "- For libraries, the range of versions is widened.",
            "stability": "experimental",
            "summary": "- For apps, the version requirements are increased."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Relax the version requirement to include both the new and old version, when possible."
          },
          "name": "WIDEN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Always increase the version requirement to match the new version."
          },
          "name": "INCREASE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Increase the version requirement only when required by the new version."
          },
          "name": "INCREASE_IF_NECESSARY"
        }
      ],
      "name": "VersioningStrategy",
      "namespace": "github",
      "symbolId": "src/github/dependabot:VersioningStrategy"
    },
    "projen.github.WorkflowActions": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "A set of utility functions for creating GitHub actions in workflows."
      },
      "fqn": "projen.github.WorkflowActions",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/workflow-actions.ts",
        "line": 20
      },
      "methods": [
        {
          "docs": {
            "returns": "Job steps",
            "stability": "experimental",
            "summary": "Checks out a repository and applies a git patch that was created using `uploadGitPatch`."
          },
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 79
          },
          "name": "checkoutWithPatch",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.CheckoutWithPatchOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "projen.github.workflows.JobStep"
                },
                "kind": "array"
              }
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "Job steps",
            "stability": "experimental",
            "summary": "A step that creates a pull request based on the current repo state."
          },
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 105
          },
          "name": "createPullRequest",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.github.CreatePullRequestOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "projen.github.workflows.JobStep"
                },
                "kind": "array"
              }
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "If a patch was uploaded, the action can optionally fail the job.",
            "returns": "Job steps",
            "stability": "experimental",
            "summary": "Creates a .patch file from the current git diff and uploads it as an artifact. Use `checkoutWithPatch` to download and apply in another job."
          },
          "locationInModule": {
            "filename": "src/github/workflow-actions.ts",
            "line": 30
          },
          "name": "uploadGitPatch",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.github.UploadGitPatchOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "projen.github.workflows.JobStep"
                },
                "kind": "array"
              }
            }
          },
          "static": true
        }
      ],
      "name": "WorkflowActions",
      "namespace": "github",
      "symbolId": "src/github/workflow-actions:WorkflowActions"
    },
    "projen.github.WorkflowJobs": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "A set of utility functions for creating jobs in GitHub Workflows."
      },
      "fqn": "projen.github.WorkflowJobs",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/workflow-jobs.ts",
        "line": 12
      },
      "methods": [
        {
          "docs": {
            "returns": "Job",
            "stability": "experimental",
            "summary": "Creates a pull request with the changes of a patch file."
          },
          "locationInModule": {
            "filename": "src/github/workflow-jobs.ts",
            "line": 18
          },
          "name": "pullRequestFromPatch",
          "parameters": [
            {
              "name": "options",
              "type": {
                "fqn": "projen.github.PullRequestFromPatchOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.Job"
            }
          },
          "static": true
        }
      ],
      "name": "WorkflowJobs",
      "namespace": "github",
      "symbolId": "src/github/workflow-jobs:WorkflowJobs"
    },
    "projen.github.WorkflowSteps": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "A collection of very commonly used, individual, GitHub Workflow Job steps."
      },
      "fqn": "projen.github.WorkflowSteps",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/github/workflow-steps.ts",
        "line": 29
      },
      "methods": [
        {
          "docs": {
            "returns": "A JobStep that checks out a repository",
            "stability": "experimental",
            "summary": "Checks out a repository."
          },
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 36
          },
          "name": "checkout",
          "parameters": [
            {
              "docs": {
                "summary": "Options to configure the `checkout` JobStep."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.CheckoutOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "A JobStep that downloads an artifact",
            "stability": "experimental",
            "summary": "Downloads an artifact."
          },
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 154
          },
          "name": "downloadArtifact",
          "parameters": [
            {
              "docs": {
                "summary": "Options to configure the `download-artifact` JobStep."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.github.DownloadArtifactOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "Job step that configures the provided git identity",
            "stability": "experimental",
            "summary": "Configures the git identity (user name and email)."
          },
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 71
          },
          "name": "setupGitIdentity",
          "parameters": [
            {
              "docs": {
                "summary": "Options to configure the git identity JobStep."
              },
              "name": "options",
              "type": {
                "fqn": "projen.github.SetupGitIdentityOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Requires a checkout step to have been run before this step with \"fetch-depth\" set to \"0\".\n\nOutputs:\n- `exists`: A string value of 'true' or 'false' indicating if the tag exists.",
            "returns": "Job step that checks if the provided tag exists",
            "stability": "experimental",
            "summary": "Checks if a tag exists."
          },
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 96
          },
          "name": "tagExists",
          "parameters": [
            {
              "docs": {
                "remarks": "You may use valid bash code instead of a literal string in this field.",
                "summary": "The tag to check."
              },
              "name": "tag",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Options to configure the `tag-exists` JobStep."
              },
              "name": "options",
              "type": {
                "fqn": "projen.github.workflows.JobStepConfiguration"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          },
          "static": true
        },
        {
          "docs": {
            "returns": "A JobStep that uploads an artifact",
            "stability": "experimental",
            "summary": "Uploads an artifact."
          },
          "locationInModule": {
            "filename": "src/github/workflow-steps.ts",
            "line": 126
          },
          "name": "uploadArtifact",
          "parameters": [
            {
              "docs": {
                "summary": "Options to configure the `upload-artifact` JobStep."
              },
              "name": "options",
              "type": {
                "fqn": "projen.github.UploadArtifactOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.github.workflows.JobStep"
            }
          },
          "static": true
        }
      ],
      "name": "WorkflowSteps",
      "namespace": "github",
      "symbolId": "src/github/workflow-steps:WorkflowSteps"
    },
    "projen.github.workflows.AppPermission": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The permissions available for an access token for a GitHub App."
      },
      "fqn": "projen.github.workflows.AppPermission",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 358
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Read-only acccess."
          },
          "name": "READ"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Read-write access."
          },
          "name": "WRITE"
        },
        {
          "docs": {
            "remarks": "Not all permissions support `admin`.",
            "stability": "experimental",
            "summary": "Read-write and admin access."
          },
          "name": "ADMIN"
        }
      ],
      "name": "AppPermission",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:AppPermission"
    },
    "projen.github.workflows.AppPermissions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Typically a token for a GitHub App has all the available scopes/permissions available to the app\nitself; however, a more limited set of permissions can be specified. When permissions are provided,\n**only** the specified permissions are granted to the token.",
        "see": "https://github.com/actions/create-github-app-token/blob/main/action.yml#L28",
        "stability": "experimental",
        "summary": "The permissions available to a GitHub App."
      },
      "fqn": "projen.github.workflows.AppPermissions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 289
      },
      "name": "AppPermissions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 290
          },
          "name": "actions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 292
          },
          "name": "administration",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 291
          },
          "name": "attestations",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 293
          },
          "name": "checks",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 294
          },
          "name": "codespaces",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 295
          },
          "name": "contents",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 296
          },
          "name": "dependabotSecrets",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 297
          },
          "name": "deployments",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 298
          },
          "name": "emailAddresses",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 299
          },
          "name": "environments",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 300
          },
          "name": "followers",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 301
          },
          "name": "gitSshKeys",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 302
          },
          "name": "gpgKeys",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 303
          },
          "name": "interactionLimits",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 304
          },
          "name": "issues",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 305
          },
          "name": "members",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 306
          },
          "name": "metadata",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 307
          },
          "name": "organizationAdministration",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 308
          },
          "name": "organizationAnnouncementBanners",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 309
          },
          "name": "organizationCopilotSeatManagement",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 310
          },
          "name": "organizationCustomOrgRoles",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 311
          },
          "name": "organizationCustomProperties",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 312
          },
          "name": "organizationCustomRoles",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 313
          },
          "name": "organizationEvents",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 314
          },
          "name": "organizationHooks",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 315
          },
          "name": "organizationPackages",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 316
          },
          "name": "organizationPersonalAccessTokenRequests",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 317
          },
          "name": "organizationPersonalAccessTokens",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 318
          },
          "name": "organizationPlan",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 319
          },
          "name": "organizationProjects",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 320
          },
          "name": "organizationSecrets",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 321
          },
          "name": "organizationSelfHostedRunners",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 322
          },
          "name": "orgnaizationUserBlocking",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 323
          },
          "name": "packages",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 324
          },
          "name": "pages",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 325
          },
          "name": "profile",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 326
          },
          "name": "pullRequests",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 327
          },
          "name": "repositoryCustomProperties",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 328
          },
          "name": "repositoryHooks",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 329
          },
          "name": "repositoryProjects",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 331
          },
          "name": "secrets",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 330
          },
          "name": "secretScanningAlerts",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 332
          },
          "name": "securityEvents",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 333
          },
          "name": "singleFile",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 334
          },
          "name": "starring",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 335
          },
          "name": "statuses",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 336
          },
          "name": "teamDiscussions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 337
          },
          "name": "vulnerabilityAlerts",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 338
          },
          "name": "workflows",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.AppPermission"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:AppPermissions"
    },
    "projen.github.workflows.BranchProtectionRuleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Branch Protection Rule options."
      },
      "fqn": "projen.github.workflows.BranchProtectionRuleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 964
      },
      "name": "BranchProtectionRuleOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 970
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:BranchProtectionRuleOptions"
    },
    "projen.github.workflows.CheckRunOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Check run options."
      },
      "fqn": "projen.github.workflows.CheckRunOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 976
      },
      "name": "CheckRunOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 982
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:CheckRunOptions"
    },
    "projen.github.workflows.CheckSuiteOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Check suite options."
      },
      "fqn": "projen.github.workflows.CheckSuiteOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 990
      },
      "name": "CheckSuiteOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 996
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:CheckSuiteOptions"
    },
    "projen.github.workflows.CommonJobDefinition": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.github.workflows.CommonJobDefinition",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 5
      },
      "name": "CommonJobDefinition",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Use `{ contents: READ }` if your job only needs to clone code.\n\nThis is intentionally a required field since it is required in order to\nallow workflows to run in GitHub repositories with restricted default\naccess.",
            "see": "https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token",
            "stability": "experimental",
            "summary": "You can modify the default permissions granted to the GITHUB_TOKEN, adding or removing access as required, so that you only allow the minimum required access."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 32
          },
          "name": "permissions",
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "A concurrency group can be any\nstring or expression. The expression can use any context except for the\nsecrets context.",
            "stability": "experimental",
            "summary": "Concurrency ensures that only a single job or workflow using the same concurrency group will run at a time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 42
          },
          "name": "concurrency",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use any supported context and expression to\ncreate a conditional.",
            "stability": "experimental",
            "summary": "You can use the if conditional to prevent a job from running unless a condition is met."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 49
          },
          "name": "if",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the job displayed on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 9
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "It can be a string or array of strings. If a job fails, all jobs\nthat need it are skipped unless the jobs use a conditional expression\nthat causes the job to continue.",
            "stability": "experimental",
            "summary": "Identifies any jobs that must complete successfully before this job will run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 17
          },
          "name": "needs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can define different\nvariations to run each job in.",
            "stability": "experimental",
            "summary": "A strategy creates a build matrix for your jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 55
          },
          "name": "strategy",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStrategy"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:CommonJobDefinition"
    },
    "projen.github.workflows.ContainerCredentials": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Credentials to use to authenticate to Docker registries."
      },
      "fqn": "projen.github.workflows.ContainerCredentials",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 693
      },
      "name": "ContainerCredentials",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The password."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 698
          },
          "name": "password",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The username."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 695
          },
          "name": "username",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ContainerCredentials"
    },
    "projen.github.workflows.ContainerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options pertaining to container environments."
      },
      "fqn": "projen.github.workflows.ContainerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 646
      },
      "name": "ContainerOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "The value can\nbe the Docker Hub image name or a registry name.",
            "stability": "experimental",
            "summary": "The Docker image to use as the container to run the action."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 651
          },
          "name": "image",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The credentials are the same values that you would provide to the docker\nlogin command.",
            "stability": "experimental",
            "summary": "f the image's container registry requires authentication to pull the image, you can use credentials to set a map of the username and password."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 659
          },
          "name": "credentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Sets a map of environment variables in the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 664
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.docker.com/engine/reference/commandline/create/#options",
            "stability": "experimental",
            "summary": "Additional Docker container resource options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 687
          },
          "name": "options",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Sets an array of ports to expose on the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 669
          },
          "name": "ports",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "number"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use volumes to\nshare data between services or other steps in a job. You can specify\nnamed Docker volumes, anonymous Docker volumes, or bind mounts on the\nhost.\n\nTo specify a volume, you specify the source and destination path:\n`<source>:<destinationPath>`.",
            "stability": "experimental",
            "summary": "Sets an array of volumes for the container to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 680
          },
          "name": "volumes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ContainerOptions"
    },
    "projen.github.workflows.CreateOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Create event accepts no options."
      },
      "fqn": "projen.github.workflows.CreateOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1488
      },
      "name": "CreateOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:CreateOptions"
    },
    "projen.github.workflows.CronScheduleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "CRON schedule options."
      },
      "fqn": "projen.github.workflows.CronScheduleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 942
      },
      "name": "CronScheduleOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "see": "https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 946
          },
          "name": "cron",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:CronScheduleOptions"
    },
    "projen.github.workflows.DeleteOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Delete event accepts no options."
      },
      "fqn": "projen.github.workflows.DeleteOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1493
      },
      "name": "DeleteOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:DeleteOptions"
    },
    "projen.github.workflows.DeploymentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Deployment event accepts no options."
      },
      "fqn": "projen.github.workflows.DeploymentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1498
      },
      "name": "DeploymentOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:DeploymentOptions"
    },
    "projen.github.workflows.DeploymentStatusOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Deployment status event accepts no options."
      },
      "fqn": "projen.github.workflows.DeploymentStatusOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1503
      },
      "name": "DeploymentStatusOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:DeploymentStatusOptions"
    },
    "projen.github.workflows.DiscussionCommentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Discussion comment options."
      },
      "fqn": "projen.github.workflows.DiscussionCommentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1027
      },
      "name": "DiscussionCommentOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1033
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:DiscussionCommentOptions"
    },
    "projen.github.workflows.DiscussionOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Discussion options."
      },
      "fqn": "projen.github.workflows.DiscussionOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1002
      },
      "name": "DiscussionOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1008
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:DiscussionOptions"
    },
    "projen.github.workflows.ForkOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Fork event accepts no options."
      },
      "fqn": "projen.github.workflows.ForkOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1508
      },
      "name": "ForkOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:ForkOptions"
    },
    "projen.github.workflows.GollumOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Gollum event accepts no options."
      },
      "fqn": "projen.github.workflows.GollumOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1513
      },
      "name": "GollumOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:GollumOptions"
    },
    "projen.github.workflows.IssueCommentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Issue comment options."
      },
      "fqn": "projen.github.workflows.IssueCommentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1039
      },
      "name": "IssueCommentOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1045
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:IssueCommentOptions"
    },
    "projen.github.workflows.IssuesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Issues options."
      },
      "fqn": "projen.github.workflows.IssuesOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1051
      },
      "name": "IssuesOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1057
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:IssuesOptions"
    },
    "projen.github.workflows.JavaToolRequirement": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Version requirement for Java tools."
      },
      "fqn": "projen.github.workflows.JavaToolRequirement",
      "interfaces": [
        "projen.github.workflows.ToolRequirement"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 241
      },
      "name": "JavaToolRequirement",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"corretto\"",
            "stability": "experimental",
            "summary": "The JDK distribution to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 246
          },
          "name": "distribution",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The package manager to use for caching (e.g. \"maven\", \"gradle\", \"sbt\"). Required when `cache` is true."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 251
          },
          "name": "packageManager",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JavaToolRequirement"
    },
    "projen.github.workflows.Job": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A GitHub Workflow job definition."
      },
      "fqn": "projen.github.workflows.Job",
      "interfaces": [
        "projen.github.workflows.CommonJobDefinition"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 88
      },
      "name": "Job",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Steps can run commands,\nrun setup tasks, or run an action in your repository, a public repository,\nor an action published in a Docker registry. Not all steps run actions,\nbut all actions run as a step. Each step runs in its own process in the\nrunner environment and has access to the workspace and filesystem.\nBecause steps run in their own process, changes to environment variables\nare not preserved between steps. GitHub provides built-in steps to set up\nand complete a job.",
            "stability": "experimental",
            "summary": "A job contains a sequence of tasks called steps."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 114
          },
          "name": "steps",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If you have steps that use both script and container actions,\nthe container actions will run as sibling containers on the same network\nwith the same volume mounts.",
            "stability": "experimental",
            "summary": "A container to run any steps in a job that don't already specify a container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 163
          },
          "name": "container",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Set to true to\nallow a workflow run to pass when this job fails.",
            "stability": "experimental",
            "summary": "Prevents a workflow run from failing when a job fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 155
          },
          "name": "continueOnError",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You\ncan also set default settings for the entire workflow.",
            "stability": "experimental",
            "summary": "A map of default settings that will apply to all steps in the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 141
          },
          "name": "defaults",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobDefaults"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can also set environment variables for the entire workflow or an\nindividual step.",
            "stability": "experimental",
            "summary": "A map of environment variables that are available to all steps in the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 135
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "All environment protection rules\nmust pass before a job referencing the environment is sent to a runner.",
            "see": "https://docs.github.com/en/actions/reference/environments",
            "stability": "experimental",
            "summary": "The environment that the job references."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 122
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Job outputs are available to all downstream\njobs that depend on this job.",
            "stability": "experimental",
            "summary": "A map of outputs for a job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 128
          },
          "name": "outputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStepOutput"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "[\"ubuntu-latest\"]",
            "remarks": "The machine can be either a\nGitHub-hosted runner or a self-hosted runner.",
            "stability": "experimental",
            "summary": "The type of machine to run the job on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 95
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 102
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Service\ncontainers are useful for creating databases or cache services like Redis.\nThe runner automatically creates a Docker network and manages the life\ncycle of the service containers.",
            "stability": "experimental",
            "summary": "Used to host service containers for a job in a workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 171
          },
          "name": "services",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.ContainerOptions"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "360",
            "stability": "experimental",
            "summary": "The maximum number of minutes to let a job run before GitHub automatically cancels it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 149
          },
          "name": "timeoutMinutes",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Translates into `actions/setup-xxx` steps at\nthe beginning of the job.",
            "stability": "experimental",
            "summary": "Tools required for this job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 177
          },
          "name": "tools",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Tools"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:Job"
    },
    "projen.github.workflows.JobCallingReusableWorkflow": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A GitHub Workflow Job calling a reusable workflow."
      },
      "fqn": "projen.github.workflows.JobCallingReusableWorkflow",
      "interfaces": [
        "projen.github.workflows.CommonJobDefinition"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 62
      },
      "name": "JobCallingReusableWorkflow",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The location and version of a reusable workflow file to run as a job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 66
          },
          "name": "uses",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use the 'inherit' keyword to pass all the calling workflow's secrets to the called workflow",
            "stability": "experimental",
            "summary": "When a job is used to call a reusable workflow, you can use secrets to provide a map of secrets that are passed to the called workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 82
          },
          "name": "secrets",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "map"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Allowed expression contexts: `github`, and `needs`.",
            "stability": "experimental",
            "summary": "When a job is used to call a reusable workflow, you can use with to provide a map of inputs that are passed to the called workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 74
          },
          "name": "with",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobCallingReusableWorkflow"
    },
    "projen.github.workflows.JobDefaults": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Default settings for all steps in the job."
      },
      "fqn": "projen.github.workflows.JobDefaults",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 389
      },
      "name": "JobDefaults",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Default run settings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 391
          },
          "name": "run",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.RunSettings"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobDefaults"
    },
    "projen.github.workflows.JobMatrix": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A job matrix."
      },
      "fqn": "projen.github.workflows.JobMatrix",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 616
      },
      "name": "JobMatrix",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "The keys you\ndefine become properties in the matrix context and you can reference the\nproperty in other areas of your workflow file. For example, if you define\nthe key os that contains an array of operating systems, you can use the\nmatrix.os property as the value of the runs-on keyword to create a job\nfor each operating system.",
            "stability": "experimental",
            "summary": "Each option you define in the matrix has a key and value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 625
          },
          "name": "domain",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "union": {
                            "types": [
                              {
                                "primitive": "string"
                              },
                              {
                                "primitive": "number"
                              },
                              {
                                "primitive": "boolean"
                              }
                            ]
                          }
                        },
                        "kind": "array"
                      }
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Using exclude removes a job defined by the\nbuild matrix.",
            "stability": "experimental",
            "summary": "You can remove a specific configurations defined in the build matrix using the exclude option."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 640
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "primitive": "string"
                        },
                        {
                          "primitive": "number"
                        },
                        {
                          "primitive": "boolean"
                        }
                      ]
                    }
                  },
                  "kind": "map"
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "For example, if you want to use a specific version of npm\nwhen the job that uses windows-latest and version 8 of node runs, you can\nuse include to specify that additional option.",
            "stability": "experimental",
            "summary": "You can add additional configuration options to a build matrix job that already exists."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 633
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "primitive": "string"
                        },
                        {
                          "primitive": "number"
                        },
                        {
                          "primitive": "boolean"
                        }
                      ]
                    }
                  },
                  "kind": "map"
                }
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobMatrix"
    },
    "projen.github.workflows.JobPermission": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Access level for workflow permission scopes."
      },
      "fqn": "projen.github.workflows.JobPermission",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 344
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Read-only access."
          },
          "name": "READ"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Read-write access."
          },
          "name": "WRITE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "No access at all."
          },
          "name": "NONE"
        }
      ],
      "name": "JobPermission",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:JobPermission"
    },
    "projen.github.workflows.JobPermissions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "If you\nspecify the access for any of these scopes, all those that are not\nspecified are set to `JobPermission.NONE`, instead of the default behavior\nwhen none is specified.",
        "see": "https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token#defining-access-for-the-github_token-permissions",
        "stability": "experimental",
        "summary": "The available scopes and access values for workflow permissions."
      },
      "fqn": "projen.github.workflows.JobPermissions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 262
      },
      "name": "JobPermissions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 263
          },
          "name": "actions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 264
          },
          "name": "attestations",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 265
          },
          "name": "checks",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 266
          },
          "name": "contents",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 267
          },
          "name": "deployments",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 271
          },
          "name": "discussions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 268
          },
          "name": "idToken",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 269
          },
          "name": "issues",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 270
          },
          "name": "models",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 272
          },
          "name": "packages",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 273
          },
          "name": "pages",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 274
          },
          "name": "pullRequests",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 275
          },
          "name": "securityEvents",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 276
          },
          "name": "statuses",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermission"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobPermissions"
    },
    "projen.github.workflows.JobStep": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idsteps",
        "stability": "experimental",
        "summary": "JobSteps run as part of a GitHub Workflow Job."
      },
      "fqn": "projen.github.workflows.JobStep",
      "interfaces": [
        "projen.github.workflows.Step",
        "projen.github.workflows.JobStepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 576
      },
      "name": "JobStep",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:JobStep"
    },
    "projen.github.workflows.JobStepConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "These settings are unique to a JobStep from the fields contained within the metadata action.yaml file present in when creating a new GitHub Action. These fields are not present in action.yml, but are in JobStep, which are using when creating workflows."
      },
      "fqn": "projen.github.workflows.JobStepConfiguration",
      "interfaces": [
        "projen.github.workflows.StepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 494
      },
      "name": "JobStepConfiguration",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Use for long-running processes, such as\ndatabases, servers, or monitoring tasks, that need to run alongside other\nsteps.\n\nSynchronize with background steps later using `wait` or `waitAll`, or\nstop them with `cancel`. Give the step an `id` so it can be referenced.\n\nA maximum of 10 background steps can run concurrently in a single job;\nadditional background steps are queued until a slot is free.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsbackground",
            "stability": "experimental",
            "summary": "Runs a step asynchronously so the job continues to the next step without waiting for it to finish."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 520
          },
          "name": "background",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The runner sends the step's process a termination signal (SIGTERM) so it\ncan clean up, and forcibly stops it (SIGKILL) if it does not exit within\na short grace period.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepscancel",
            "stability": "experimental",
            "summary": "Gracefully terminates a running background step, referenced by its `id`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 551
          },
          "name": "cancel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Set to true to allow a job\nto pass when this step fails.",
            "stability": "experimental",
            "summary": "Prevents a job from failing when a step fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 499
          },
          "name": "continueOnError",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This is shorthand for declaring each step with\n`background: true` followed by a `wait` step.\n\nUse this when you have a self-contained group of independent steps that\ncan all run at the same time and don't need to be referenced\nindividually. Use `background` instead when you need finer control, such\nas starting a long-running process that stays up while later steps run.\n\nEach step in the group is subject to the same 10-step concurrency limit\nas other background steps. Cannot be used inside a composite action.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsparallel",
            "stability": "experimental",
            "summary": "Runs a group of steps concurrently, then waits for all of them to finish before continuing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 568
          },
          "name": "parallel",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The maximum number of minutes to run the step before killing the process."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 504
          },
          "name": "timeoutMinutes",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This step performs no work itself; it only blocks until the referenced\nbackground steps finish. If a referenced background step failed, the\n`wait` step fails too.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswait",
            "stability": "experimental",
            "summary": "Pauses the job until one or more background steps complete. Provide the `id`s of the background steps to wait for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 532
          },
          "name": "wait",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Fails if any\nof the background steps it waits on failed, unless `continueOnError` is\nset on this step.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswait-all",
            "stability": "experimental",
            "summary": "Pauses the job until all active background steps complete."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 541
          },
          "name": "waitAll",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobStepConfiguration"
    },
    "projen.github.workflows.JobStepOutput": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "An output binding for a job."
      },
      "fqn": "projen.github.workflows.JobStepOutput",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 374
      },
      "name": "JobStepOutput",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the job output that is being bound."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 383
          },
          "name": "outputName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The ID of the step that exposes the output."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 378
          },
          "name": "stepId",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobStepOutput"
    },
    "projen.github.workflows.JobStrategy": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "You can define different\nvariations to run each job in.",
        "stability": "experimental",
        "summary": "A strategy creates a build matrix for your jobs."
      },
      "fqn": "projen.github.workflows.JobStrategy",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 582
      },
      "name": "JobStrategy",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Default: true",
            "stability": "experimental",
            "summary": "When set to true, GitHub cancels all in-progress jobs if any matrix job fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 600
          },
          "name": "failFast",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "A matrix allows\nyou to create multiple jobs by performing variable substitution in a\nsingle job definition. For example, you can use a matrix to create jobs\nfor more than one supported version of a programming language, operating\nsystem, or tool. A matrix reuses the job's configuration and creates a\njob for each matrix you configure.\n\nA job matrix can generate a maximum of 256 jobs per workflow run. This\nlimit also applies to self-hosted runners.",
            "stability": "experimental",
            "summary": "You can define a matrix of different job configurations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 594
          },
          "name": "matrix",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobMatrix"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "By default, GitHub will maximize the number of jobs\nrun in parallel depending on the available runners on GitHub-hosted\nvirtual machines.",
            "stability": "experimental",
            "summary": "The maximum number of jobs that can run simultaneously when using a matrix job strategy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 608
          },
          "name": "maxParallel",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:JobStrategy"
    },
    "projen.github.workflows.LabelOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Label options."
      },
      "fqn": "projen.github.workflows.LabelOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1080
      },
      "name": "LabelOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1086
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:LabelOptions"
    },
    "projen.github.workflows.MergeGroupOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Merge group options."
      },
      "fqn": "projen.github.workflows.MergeGroupOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1094
      },
      "name": "MergeGroupOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If not specified, all branches will\ntrigger the workflow.",
            "stability": "experimental",
            "summary": "When using the merge_group events, you can configure a workflow to run on specific base branches."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1100
          },
          "name": "branches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:MergeGroupOptions"
    },
    "projen.github.workflows.MilestoneOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Milestone options."
      },
      "fqn": "projen.github.workflows.MilestoneOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1106
      },
      "name": "MilestoneOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1112
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:MilestoneOptions"
    },
    "projen.github.workflows.PageBuildOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Page build event accepts no options."
      },
      "fqn": "projen.github.workflows.PageBuildOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1518
      },
      "name": "PageBuildOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:PageBuildOptions"
    },
    "projen.github.workflows.ProjectCardOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Project card options."
      },
      "fqn": "projen.github.workflows.ProjectCardOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1134
      },
      "name": "ProjectCardOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1140
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ProjectCardOptions"
    },
    "projen.github.workflows.ProjectColumnOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Probject column options."
      },
      "fqn": "projen.github.workflows.ProjectColumnOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1148
      },
      "name": "ProjectColumnOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1154
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ProjectColumnOptions"
    },
    "projen.github.workflows.ProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Project options."
      },
      "fqn": "projen.github.workflows.ProjectOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1120
      },
      "name": "ProjectOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1126
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ProjectOptions"
    },
    "projen.github.workflows.PublicOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Public event accepts no options."
      },
      "fqn": "projen.github.workflows.PublicOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1523
      },
      "name": "PublicOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:PublicOptions"
    },
    "projen.github.workflows.PullRequestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Pull request options."
      },
      "fqn": "projen.github.workflows.PullRequestOptions",
      "interfaces": [
        "projen.github.workflows.PushOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1160
      },
      "name": "PullRequestOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1166
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PullRequestOptions"
    },
    "projen.github.workflows.PullRequestReviewCommentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Pull request review comment options."
      },
      "fqn": "projen.github.workflows.PullRequestReviewCommentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1199
      },
      "name": "PullRequestReviewCommentOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1205
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PullRequestReviewCommentOptions"
    },
    "projen.github.workflows.PullRequestReviewOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Pull request review options."
      },
      "fqn": "projen.github.workflows.PullRequestReviewOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1187
      },
      "name": "PullRequestReviewOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1193
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PullRequestReviewOptions"
    },
    "projen.github.workflows.PullRequestTargetOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Pull request target options."
      },
      "fqn": "projen.github.workflows.PullRequestTargetOptions",
      "interfaces": [
        "projen.github.workflows.PushOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1211
      },
      "name": "PullRequestTargetOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1217
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PullRequestTargetOptions"
    },
    "projen.github.workflows.PushOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for push-like events."
      },
      "fqn": "projen.github.workflows.PushOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1238
      },
      "name": "PushOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "For a pull_request event, only\nbranches and tags on the base are evaluated. If you define only tags or\nonly branches, the workflow won't run for events affecting the undefined\nGit ref.",
            "see": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet",
            "stability": "experimental",
            "summary": "When using the push, pull_request and pull_request_target events, you can configure a workflow to run on specific branches or tags."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1248
          },
          "name": "branches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Path filters are not\nevaluated for pushes to tags.",
            "see": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet",
            "stability": "experimental",
            "summary": "When using the push, pull_request and pull_request_target events, you can configure a workflow to run when at least one file does not match paths-ignore or at least one modified file matches the configured paths."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1269
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "For a pull_request event, only\nbranches and tags on the base are evaluated. If you define only tags or\nonly branches, the workflow won't run for events affecting the undefined\nGit ref.",
            "see": "https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet",
            "stability": "experimental",
            "summary": "When using the push, pull_request and pull_request_target events, you can configure a workflow to run on specific branches or tags."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1259
          },
          "name": "tags",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PushOptions"
    },
    "projen.github.workflows.PythonToolRequirement": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Version requirement for Python tools."
      },
      "fqn": "projen.github.workflows.PythonToolRequirement",
      "interfaces": [
        "projen.github.workflows.ToolRequirement"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 230
      },
      "name": "PythonToolRequirement",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The package manager to use for caching (e.g. \"pip\", \"pipenv\", \"poetry\"). Required when `cache` is true."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 235
          },
          "name": "packageManager",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:PythonToolRequirement"
    },
    "projen.github.workflows.RegistryPackageOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Registry package options."
      },
      "fqn": "projen.github.workflows.RegistryPackageOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1275
      },
      "name": "RegistryPackageOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1281
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:RegistryPackageOptions"
    },
    "projen.github.workflows.ReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Release options."
      },
      "fqn": "projen.github.workflows.ReleaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1287
      },
      "name": "ReleaseOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1293
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ReleaseOptions"
    },
    "projen.github.workflows.RepositoryDispatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Repository dispatch options."
      },
      "fqn": "projen.github.workflows.RepositoryDispatchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 952
      },
      "name": "RepositoryDispatchOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 958
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:RepositoryDispatchOptions"
    },
    "projen.github.workflows.RunSettings": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Run settings for a job."
      },
      "fqn": "projen.github.workflows.RunSettings",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 397
      },
      "name": "RunSettings",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "\"bash\"",
            "stability": "experimental",
            "summary": "Which shell to use for running the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 403
          },
          "name": "shell",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Working directory to use when running the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 408
          },
          "name": "workingDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:RunSettings"
    },
    "projen.github.workflows.StatusOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Status event accepts no options."
      },
      "fqn": "projen.github.workflows.StatusOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1528
      },
      "name": "StatusOptions",
      "namespace": "github.workflows",
      "symbolId": "src/github/workflows-model:StatusOptions"
    },
    "projen.github.workflows.Step": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "This is by far the most common use case.\n- The metadata file `action.yaml` that is used to define an Action when you are creating one. As in, if you were creating an Action to be used in a JobStep.\nThere is some overlap between the two, and this captures that overlap.",
        "see": "https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions",
        "stability": "experimental",
        "summary": "This contains the fields that are common amongst both: - JobStep, which is a step that is part of a Job in Github Actions."
      },
      "fqn": "projen.github.workflows.Step",
      "interfaces": [
        "projen.github.workflows.StepConfiguration"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 466
      },
      "name": "Step",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If you do\nnot provide a name, the step name will default to the text specified in\nthe run command.",
            "stability": "experimental",
            "summary": "Runs command-line programs using the operating system's shell."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 480
          },
          "name": "run",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "An action is a\nreusable unit of code. You can use an action defined in the same\nrepository as the workflow, a public repository, or in a published Docker\ncontainer image.",
            "stability": "experimental",
            "summary": "Selects an action to run as part of a step in your job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 473
          },
          "name": "uses",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Each input parameter\nis a key/value pair. Input parameters are set as environment variables.\nThe variable is prefixed with INPUT_ and converted to upper case.",
            "stability": "experimental",
            "summary": "A map of the input parameters defined by the action."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 487
          },
          "name": "with",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:Step"
    },
    "projen.github.workflows.StepConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "These fields can have none present, but can be present on every Step, and have no effect on one another.\n\nThis stands in contrast to the Command (non-Configuration) fields, which are mutually exclusive, and describe the What.",
        "stability": "experimental",
        "summary": "Fields that describe the How, Why, When, and Who of a Step."
      },
      "fqn": "projen.github.workflows.StepConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 417
      },
      "name": "StepConfiguration",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "You can also set environment variables for the entire workflow or a job.",
            "stability": "experimental",
            "summary": "Sets environment variables for steps to use in the runner environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 440
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use the id to reference the\nstep in contexts.",
            "stability": "experimental",
            "summary": "A unique identifier for the step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 422
          },
          "name": "id",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use any supported context and expression to\ncreate a conditional.",
            "stability": "experimental",
            "summary": "You can use the if conditional to prevent a job from running unless a condition is met."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 429
          },
          "name": "if",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A name for your step to display on GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 434
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Refer to GitHub documentation for allowed values.",
            "see": "https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell",
            "stability": "experimental",
            "summary": "Overrides the default shell settings in the runner's operating system and the job's default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 455
          },
          "name": "shell",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Overrides a job's working directory.",
            "stability": "experimental",
            "summary": "Specifies a working directory for a step."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 446
          },
          "name": "workingDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:StepConfiguration"
    },
    "projen.github.workflows.ToolRequirement": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Version requirement for tools."
      },
      "fqn": "projen.github.workflows.ToolRequirement",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 218
      },
      "name": "ToolRequirement",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 219
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to enable automatic dependency caching."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 224
          },
          "name": "cache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:ToolRequirement"
    },
    "projen.github.workflows.Tools": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Supported tools."
      },
      "fqn": "projen.github.workflows.Tools",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 183
      },
      "name": "Tools",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- not installed",
            "stability": "experimental",
            "summary": "Setup .NET Core."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 212
          },
          "name": "dotnet",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ToolRequirement"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not installed",
            "stability": "experimental",
            "summary": "Setup golang."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 200
          },
          "name": "go",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ToolRequirement"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not installed",
            "stability": "experimental",
            "summary": "Setup java."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 188
          },
          "name": "java",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JavaToolRequirement"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not installed",
            "stability": "experimental",
            "summary": "Setup node.js."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 206
          },
          "name": "node",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ToolRequirement"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not installed",
            "stability": "experimental",
            "summary": "Setup python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 194
          },
          "name": "python",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PythonToolRequirement"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:Tools"
    },
    "projen.github.workflows.Triggers": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/reference/events-that-trigger-workflows",
        "stability": "experimental",
        "summary": "The set of available triggers for GitHub Workflows."
      },
      "fqn": "projen.github.workflows.Triggers",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 706
      },
      "name": "Triggers",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the branch_protection_rule event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 748
          },
          "name": "branchProtectionRule",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.BranchProtectionRuleOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the check_run event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 753
          },
          "name": "checkRun",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.CheckRunOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the check_suite event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 758
          },
          "name": "checkSuite",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.CheckSuiteOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime someone creates a branch or tag, which triggers the create event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 764
          },
          "name": "create",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.CreateOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime someone deletes a branch or tag, which triggers the delete event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 770
          },
          "name": "delete",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.DeleteOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Deployments created with a commit SHA may not have\na Git ref.",
            "stability": "experimental",
            "summary": "Runs your workflow anytime someone creates a deployment, which triggers the deployment event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 777
          },
          "name": "deployment",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.DeploymentOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Deployments created with a\ncommit SHA may not have a Git ref.",
            "stability": "experimental",
            "summary": "Runs your workflow anytime a third party provides a deployment status, which triggers the deployment_status event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 784
          },
          "name": "deploymentStatus",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.DeploymentStatusOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "More than one activity type triggers this event.",
            "see": "https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions",
            "stability": "experimental",
            "summary": "Runs your workflow anytime the discussion event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 790
          },
          "name": "discussion",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.DiscussionOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "More than one activity type triggers this event.",
            "see": "https://docs.github.com/en/graphql/guides/using-the-graphql-api-for-discussions",
            "stability": "experimental",
            "summary": "Runs your workflow anytime the discussion_comment event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 796
          },
          "name": "discussionComment",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.DiscussionCommentOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime when someone forks a repository, which triggers the fork event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 802
          },
          "name": "fork",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ForkOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow when someone creates or updates a Wiki page, which triggers the gollum event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 808
          },
          "name": "gollum",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.GollumOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the issue_comment event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 813
          },
          "name": "issueComment",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.IssueCommentOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the issues event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 818
          },
          "name": "issues",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.IssuesOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the label event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 823
          },
          "name": "label",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.LabelOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow when a pull request is added to a merge queue, which adds the pull request to a merge group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 831
          },
          "name": "mergeGroup",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.MergeGroupOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the milestone event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 836
          },
          "name": "milestone",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.MilestoneOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime someone pushes to a GitHub Pages-enabled branch, which triggers the page_build event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 842
          },
          "name": "pageBuild",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PageBuildOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the project event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 847
          },
          "name": "project",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ProjectOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the project_card event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 852
          },
          "name": "projectCard",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ProjectCardOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the project_column event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 857
          },
          "name": "projectColumn",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ProjectColumnOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime someone makes a private repository public, which triggers the public event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 863
          },
          "name": "public",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PublicOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the pull_request event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 868
          },
          "name": "pullRequest",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PullRequestOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the pull_request_review event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 873
          },
          "name": "pullRequestReview",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PullRequestReviewOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime a comment on a pull request's unified diff is modified, which triggers the pull_request_review_comment event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 879
          },
          "name": "pullRequestReviewComment",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PullRequestReviewCommentOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This prevents\nexecuting unsafe workflow code from the head of the pull request that\ncould alter your repository or steal any secrets you use in your workflow.\nThis event allows you to do things like create workflows that label and\ncomment on pull requests based on the contents of the event payload.\n\nWARNING: The `pull_request_target` event is granted read/write repository\ntoken and can access secrets, even when it is triggered from a fork.\nAlthough the workflow runs in the context of the base of the pull request,\nyou should make sure that you do not check out, build, or run untrusted\ncode from the pull request with this event. Additionally, any caches\nshare the same scope as the base branch, and to help prevent cache\npoisoning, you should not save the cache if there is a possibility that\nthe cache contents were altered.",
            "see": "https://securitylab.github.com/research/github-actions-preventing-pwn-requests",
            "stability": "experimental",
            "summary": "This event runs in the context of the base of the pull request, rather than in the merge commit as the pull_request event does."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 900
          },
          "name": "pullRequestTarget",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PullRequestTargetOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow when someone pushes to a repository branch, which triggers the push event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 906
          },
          "name": "push",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.PushOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime a package is published or updated."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 911
          },
          "name": "registryPackage",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.RegistryPackageOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the release event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 916
          },
          "name": "release",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ReleaseOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "You can use the GitHub API to trigger a webhook event called repository_dispatch when you want to trigger a workflow for activity that happens outside of GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 733
          },
          "name": "repositoryDispatch",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.RepositoryDispatchOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Scheduled workflows run on the latest commit on the default or\nbase branch. The shortest interval you can run scheduled workflows is\nonce every 5 minutes.",
            "see": "https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07",
            "stability": "experimental",
            "summary": "You can schedule a workflow to run at specific UTC times using POSIX cron syntax."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 716
          },
          "name": "schedule",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.CronScheduleOptions"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the status of a Git commit changes, which triggers the status event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 922
          },
          "name": "status",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.StatusOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runs your workflow anytime the watch event occurs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 927
          },
          "name": "watch",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.WatchOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://docs.github.com/en/actions/learn-github-actions/reusing-workflows",
            "stability": "experimental",
            "summary": "Can be called from another workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 741
          },
          "name": "workflowCall",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.WorkflowCallOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "When the\nworkflow runs, you can access the input values in the github.event.inputs\ncontext.",
            "stability": "experimental",
            "summary": "You can configure custom-defined input properties, default input values, and required inputs for the event directly in your workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 726
          },
          "name": "workflowDispatch",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.WorkflowDispatchOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "A workflow run is triggered regardless of the result of the\nprevious workflow.",
            "stability": "experimental",
            "summary": "This event occurs when a workflow run is requested or completed, and allows you to execute a workflow based on the finished result of another workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 935
          },
          "name": "workflowRun",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.WorkflowRunOptions"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:Triggers"
    },
    "projen.github.workflows.WatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Watch options."
      },
      "fqn": "projen.github.workflows.WatchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1307
      },
      "name": "WatchOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1313
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WatchOptions"
    },
    "projen.github.workflows.WorkflowCallInput": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callinputs",
        "stability": "experimental",
        "summary": "An input definition for a `workflow_call` trigger."
      },
      "fqn": "projen.github.workflows.WorkflowCallInput",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1420
      },
      "name": "WorkflowCallInput",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The data type of the input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1437
          },
          "name": "type",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no default",
            "stability": "experimental",
            "summary": "The default value for the input when it is not provided by the caller."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1444
          },
          "name": "default",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "number"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A description of the input parameter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1424
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "If `true`, the caller must supply\nthis input when calling the workflow.",
            "stability": "experimental",
            "summary": "Whether the input is required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1432
          },
          "name": "required",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowCallInput"
    },
    "projen.github.workflows.WorkflowCallOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/using-workflows/reusing-workflows",
        "stability": "experimental",
        "summary": "Options for the `workflow_call` trigger event, used to define a reusable workflow."
      },
      "fqn": "projen.github.workflows.WorkflowCallOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1389
      },
      "name": "WorkflowCallOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no inputs",
            "remarks": "Inputs are available in the called workflow using the `inputs` context.",
            "stability": "experimental",
            "summary": "A map of inputs that are passed from the caller workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1396
          },
          "name": "inputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.WorkflowCallInput"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no outputs",
            "remarks": "Called workflow outputs are available to all downstream jobs in the caller workflow.",
            "stability": "experimental",
            "summary": "A map of outputs that the called workflow can set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1412
          },
          "name": "outputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.WorkflowCallOutput"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no secrets",
            "remarks": "Secrets are available in the called workflow using the `secrets` context.",
            "stability": "experimental",
            "summary": "A map of secrets that can be used in the called workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1404
          },
          "name": "secrets",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.WorkflowCallSecret"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowCallOptions"
    },
    "projen.github.workflows.WorkflowCallOutput": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_calloutputs",
        "stability": "experimental",
        "summary": "An output definition for a `workflow_call` trigger."
      },
      "fqn": "projen.github.workflows.WorkflowCallOutput",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1472
      },
      "name": "WorkflowCallOutput",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "This must reference a job output from within\nthe reusable workflow, e.g. `${{ jobs.<job_id>.outputs.<output_name> }}`.",
            "stability": "experimental",
            "summary": "The value of the output."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1482
          },
          "name": "value",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A description of the output parameter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1476
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowCallOutput"
    },
    "projen.github.workflows.WorkflowCallSecret": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_callsecrets",
        "stability": "experimental",
        "summary": "A secret definition for a `workflow_call` trigger."
      },
      "fqn": "projen.github.workflows.WorkflowCallSecret",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1452
      },
      "name": "WorkflowCallSecret",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A description of the secret parameter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1456
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "If `true`, the caller must supply\nthis secret when calling the workflow.",
            "stability": "experimental",
            "summary": "Whether the secret is required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1464
          },
          "name": "required",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowCallSecret"
    },
    "projen.github.workflows.WorkflowDispatchInput": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "An input for a workflow_dispatch event."
      },
      "fqn": "projen.github.workflows.WorkflowDispatchInput",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1353
      },
      "name": "WorkflowDispatchInput",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A description of the input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1357
          },
          "name": "description",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no default",
            "stability": "experimental",
            "summary": "The default value of the input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1369
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no options",
            "stability": "experimental",
            "summary": "Options for the input if type is 'choice'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1381
          },
          "name": "options",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether the input is required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1363
          },
          "name": "required",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"string\"",
            "stability": "experimental",
            "summary": "The type of the input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1375
          },
          "name": "type",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowDispatchInput"
    },
    "projen.github.workflows.WorkflowDispatchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The Workflow dispatch event options."
      },
      "fqn": "projen.github.workflows.WorkflowDispatchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1343
      },
      "name": "WorkflowDispatchOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Inputs for the workflow_dispatch event."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1347
          },
          "name": "inputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.WorkflowDispatchInput"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowDispatchOptions"
    },
    "projen.github.workflows.WorkflowRunOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Workflow run options."
      },
      "fqn": "projen.github.workflows.WorkflowRunOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/github/workflows-model.ts",
        "line": 1319
      },
      "name": "WorkflowRunOptions",
      "namespace": "github.workflows",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- no branch limits"
            },
            "stability": "experimental",
            "summary": "Which branches or branch-ignore to limit the trigger to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1337
          },
          "name": "branches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- all activity types"
            },
            "stability": "experimental",
            "summary": "Which activity types to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1331
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "defaults": "- any workflows"
            },
            "stability": "experimental",
            "summary": "Which workflow to trigger on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/github/workflows-model.ts",
            "line": 1325
          },
          "name": "workflows",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/github/workflows-model:WorkflowRunOptions"
    },
    "projen.gitlab.Action": {
      "assembly": "projen",
      "docs": {
        "remarks": "'start' (default) indicates the job will start the\ndeployment. 'prepare' indicates this will not affect the deployment. 'stop' indicates\nthis will stop the deployment.",
        "stability": "experimental",
        "summary": "Specifies what this job will do."
      },
      "fqn": "projen.gitlab.Action",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 400
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PREPARE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "START"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STOP"
        }
      ],
      "name": "Action",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:Action"
    },
    "projen.gitlab.AllowFailure": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The job fails for any other exit code.\nYou can list which exit codes are not considered failures. The job fails for any other\nexit code.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#allow_failure",
        "stability": "experimental",
        "summary": "Exit code that are not considered failure."
      },
      "fqn": "projen.gitlab.AllowFailure",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 287
      },
      "name": "AllowFailure",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 288
          },
          "name": "exitCodes",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "number"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "number"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:AllowFailure"
    },
    "projen.gitlab.Artifacts": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Artifacts are sent to Gitlab where they can be downloaded.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#artifacts",
        "stability": "experimental",
        "summary": "Used to specify a list of files and directories that should be attached to the job if it succeeds."
      },
      "fqn": "projen.gitlab.Artifacts",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 107
      },
      "name": "Artifacts",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of paths to files/folders that should be excluded in the artifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 109
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "They are saved 30 days by default. Artifacts that have expired are removed periodically via cron job. Supports a wide variety of formats, e.g. '1 week', '3 mins 4 sec', '2 hrs 20 min', '2h20min', '6 mos 1 day', '47 yrs 6 mos and 4d', '3 weeks and 2 days'.",
            "stability": "experimental",
            "summary": "How long artifacts should be kept."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 111
          },
          "name": "expireIn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "GitLab will add a link <expose_as> to the relevant merge request that points to the artifact.",
            "stability": "experimental",
            "summary": "Can be used to expose job artifacts in the merge request UI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 113
          },
          "name": "exposeAs",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Can use variables in the name, e.g. '$CI_JOB_NAME'",
            "stability": "experimental",
            "summary": "Name for the archive created on job success."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 115
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of paths to files/folders that should be included in the artifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 117
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 119
          },
          "name": "reports",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Reports"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Whether to add all untracked files (along with 'artifacts.paths') to the artifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 121
          },
          "name": "untracked",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configure when artifacts are uploaded depended on job status."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 123
          },
          "name": "when",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.CacheWhen"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Artifacts"
    },
    "projen.gitlab.Assets": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Asset configuration for a release."
      },
      "fqn": "projen.gitlab.Assets",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 516
      },
      "name": "Assets",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Include asset links in the release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 518
          },
          "name": "links",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Link"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Assets"
    },
    "projen.gitlab.Cache": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#cache",
        "stability": "experimental",
        "summary": "Cache Definition."
      },
      "fqn": "projen.gitlab.Cache",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 9
      },
      "name": "Cache",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Caches are retrieved in the order specified in the fallback_keys section.",
            "stability": "experimental",
            "summary": "Use cache:fallback_keys to specify a list of keys to try to restore cache from if there is no cache found for the cache:key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 26
          },
          "name": "fallbackKeys",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "All jobs that use the same cache key use the same cache.",
            "stability": "experimental",
            "summary": "Used the to give each cache a unique identifying key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 14
          },
          "name": "key",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "fqn": "projen.gitlab.CacheKeyFiles"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Defines which files or directories to cache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 11
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Defines the upload and download behaviour of the cache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 20
          },
          "name": "policy",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.CachePolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "If set to true all files that are untracked in your Git repository will be cached."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 17
          },
          "name": "untracked",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Defines when to save the cache, based on the status of the job (Default: Job Success)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 23
          },
          "name": "when",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.CacheWhen"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Cache"
    },
    "projen.gitlab.CacheKeyFiles": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#cachekeyfiles",
        "stability": "experimental",
        "summary": "Use this construct to generate a new key when one or two specific files change."
      },
      "fqn": "projen.gitlab.CacheKeyFiles",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 33
      },
      "name": "CacheKeyFiles",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If the SHA checksum changes, the cache becomes invalid.",
            "stability": "experimental",
            "summary": "The files that are checked against."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 35
          },
          "name": "files",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds a custom prefix to the checksums computed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 37
          },
          "name": "prefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:CacheKeyFiles"
    },
    "projen.gitlab.CachePolicy": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#cachepolicy",
        "stability": "experimental",
        "summary": "Configure the upload and download behaviour of a cache."
      },
      "fqn": "projen.gitlab.CachePolicy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 44
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only download the cache when the job starts, but never upload changes when the job finishes."
          },
          "name": "PULL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only upload a cache when the job finishes, but never download the cache when the job starts."
          },
          "name": "PUSH"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The job downloads the cache when the job starts, and uploads changes to the cache when the job ends."
          },
          "name": "PULL_PUSH"
        }
      ],
      "name": "CachePolicy",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:CachePolicy"
    },
    "projen.gitlab.CacheWhen": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#cachewhen",
        "stability": "experimental",
        "summary": "Configure when artifacts are uploaded depended on job status."
      },
      "fqn": "projen.gitlab.CacheWhen",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 57
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Upload artifacts regardless of job status."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Upload artifacts only when the job fails."
          },
          "name": "ON_FAILURE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Upload artifacts only when the job succeeds (this is the default)."
          },
          "name": "ON_SUCCESS"
        }
      ],
      "name": "CacheWhen",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:CacheWhen"
    },
    "projen.gitlab.CiConfiguration": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "A CI is a configurable automated process made up of one or more stages/jobs.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/",
        "stability": "experimental",
        "summary": "CI for GitLab."
      },
      "fqn": "projen.gitlab.CiConfiguration",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/gitlab/configuration.ts",
          "line": 159
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.gitlab.CiConfigurationOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/gitlab/configuration.ts",
        "line": 63
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds up to 4 default caches configuration to the CI configuration."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 354
          },
          "name": "addDefaultCaches",
          "parameters": [
            {
              "docs": {
                "summary": "Caches to add."
              },
              "name": "caches",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.gitlab.Cache"
                  },
                  "kind": "array"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Specify a list of commands to execute on the runner before cloning the Git repository and any submodules https://docs.gitlab.com/ci/yaml/#hookspre_get_sources_script."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 364
          },
          "name": "addDefaultHooks",
          "parameters": [
            {
              "name": "hooks",
              "type": {
                "fqn": "projen.gitlab.DefaultHooks"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a globally defined variable to the CI configuration."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 295
          },
          "name": "addGlobalVariables",
          "parameters": [
            {
              "docs": {
                "summary": "The variables to add."
              },
              "name": "variables",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add additional yml/yaml files to the CI includes."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 208
          },
          "name": "addIncludes",
          "parameters": [
            {
              "docs": {
                "summary": "The includes to add."
              },
              "name": "includes",
              "type": {
                "fqn": "projen.gitlab.Include"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add jobs and their stages to the CI configuration."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 322
          },
          "name": "addJobs",
          "parameters": [
            {
              "docs": {
                "summary": "Jobs to add."
              },
              "name": "jobs",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.gitlab.Job"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add additional services."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 275
          },
          "name": "addServices",
          "parameters": [
            {
              "docs": {
                "summary": "The services to add."
              },
              "name": "services",
              "type": {
                "fqn": "projen.gitlab.Service"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add stages to the CI configuration if not already present."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 310
          },
          "name": "addStages",
          "parameters": [
            {
              "docs": {
                "summary": "stages to add."
              },
              "name": "stages",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "CiConfiguration",
      "namespace": "gitlab",
      "properties": [
        {
          "docs": {
            "remarks": "Can be overriden by the job level `afterScript`.",
            "stability": "experimental",
            "summary": "Defines default scripts that should run *after* all jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 79
          },
          "name": "defaultAfterScript",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Can be overriden by the job level `afterScript`.",
            "stability": "experimental",
            "summary": "Defines default scripts that should run *before* all jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 87
          },
          "name": "defaultBeforeScript",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Used to select a specific runner from the list of all runners that are available for the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 115
          },
          "name": "defaultTags",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The workflow YAML file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 75
          },
          "name": "file",
          "type": {
            "fqn": "projen.YamlFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The jobs in the CI configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 157
          },
          "name": "jobs",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 67
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Path to CI file generated by the configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 71
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "All jobs in one stage must complete before next stage is\nexecuted. Defaults to ['build', 'test', 'deploy'].",
            "stability": "experimental",
            "summary": "Groups jobs into stages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 143
          },
          "name": "stages",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "If the job already has that variable defined, the job-level variable takes precedence.",
            "stability": "experimental",
            "summary": "Global variables that are passed to jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 148
          },
          "name": "variables",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    },
                    {
                      "fqn": "projen.gitlab.VariableConfig"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "remarks": "Artifacts are sent to Gitlab where they can be downloaded.",
            "stability": "experimental",
            "summary": "Default list of files and directories that should be attached to the job if it succeeds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 83
          },
          "name": "defaultArtifacts",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Artifacts"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 93
          },
          "name": "defaultCache",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Cache"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Default ID tokens (JSON Web Tokens) that are used for CI/CD authentication to use globally for all jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 123
          },
          "name": "defaultIdTokens",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.IDToken"
              },
              "kind": "map"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Specifies the default docker image to use globally for all jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 99
          },
          "name": "defaultImage",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Image"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The default behavior for whether a job should be canceled when a newer pipeline starts before the job completes (Default: false)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 103
          },
          "name": "defaultInterruptible",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "remarks": "If not defined, defaults to 0 and jobs do not retry.",
            "stability": "experimental",
            "summary": "How many times a job is retried if it fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 107
          },
          "name": "defaultRetry",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Retry"
          }
        },
        {
          "docs": {
            "remarks": "one hour, 3600 seconds, 60 minutes).",
            "stability": "experimental",
            "summary": "A default timeout job written in natural language (Ex."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 119
          },
          "name": "defaultTimeout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Requires a `public/` directory\nwith `artifacts.path` pointing to it.",
            "stability": "experimental",
            "summary": "A special job used to upload static sites to Gitlab pages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 138
          },
          "name": "pages",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Job"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Used to control pipeline behavior."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 153
          },
          "name": "workflow",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Workflow"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration:CiConfiguration"
    },
    "projen.gitlab.CiConfigurationOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `CiConfiguration`."
      },
      "fqn": "projen.gitlab.CiConfigurationOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration.ts",
        "line": 24
      },
      "name": "CiConfigurationOptions",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Jobs that do not define one or more of the listed keywords use the value defined in the default section.",
            "stability": "experimental",
            "summary": "Default settings for the CI Configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 28
          },
          "name": "default",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Default"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An initial set of jobs to add to the configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 51
          },
          "name": "jobs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Job"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Requires a `public/` directory\nwith `artifacts.path` pointing to it.",
            "stability": "experimental",
            "summary": "A special job used to upload static sites to Gitlab pages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 33
          },
          "name": "pages",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Job"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The path of the file to generate."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 55
          },
          "name": "path",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "All jobs in one stage must complete before next stage is\nexecuted. If no stages are specified. Defaults to ['build', 'test', 'deploy'].",
            "stability": "experimental",
            "summary": "Groups jobs into stages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 42
          },
          "name": "stages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If the job already has that variable defined, the job-level variable takes precedence.",
            "stability": "experimental",
            "summary": "Global variables that are passed to jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 47
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Used to control pipeline behavior."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration.ts",
            "line": 37
          },
          "name": "workflow",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Workflow"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration:CiConfigurationOptions"
    },
    "projen.gitlab.CoverageReport": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "link": "https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportscoverage_report"
        },
        "stability": "experimental",
        "summary": "Code coverage report interface."
      },
      "fqn": "projen.gitlab.CoverageReport",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 130
      },
      "name": "CoverageReport",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 131
          },
          "name": "coverageFormat",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 132
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:CoverageReport"
    },
    "projen.gitlab.Default": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Jobs that do not define one or more of the listed keywords use the value defined in the default section.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#default",
        "stability": "experimental",
        "summary": "Default settings for the CI Configuration."
      },
      "fqn": "projen.gitlab.Default",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 75
      },
      "name": "Default",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 77
          },
          "name": "afterScript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 79
          },
          "name": "artifacts",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Artifacts"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 81
          },
          "name": "beforeScript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 83
          },
          "name": "cache",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Cache"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Specify a list of commands to execute on the runner before cloning the Git repository and any submodules https://docs.gitlab.com/ci/yaml/#hookspre_get_sources_script."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 99
          },
          "name": "hooks",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.DefaultHooks"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Specifies the default ID tokens (JSON Web Tokens) that are used for CI/CD authentication to use globally for all jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 85
          },
          "name": "idTokens",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.IDToken"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 87
          },
          "name": "image",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Image"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 89
          },
          "name": "interruptible",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 91
          },
          "name": "retry",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Retry"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 93
          },
          "name": "services",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Service"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 95
          },
          "name": "tags",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 97
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Default"
    },
    "projen.gitlab.DefaultElement": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.gitlab.DefaultElement",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 461
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "AFTER_SCRIPT"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ARTIFACTS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "BEFORE_SCRIPT"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "CACHE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "IMAGE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INTERRUPTIBLE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "RETRY"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "SERVICES"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "TAGS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "TIMEOUT"
        }
      ],
      "name": "DefaultElement",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:DefaultElement"
    },
    "projen.gitlab.DefaultHooks": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.gitlab.DefaultHooks",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 66
      },
      "name": "DefaultHooks",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Specify a list of commands to execute on the runner before cloning the Git repository and any submodules https://docs.gitlab.com/ci/yaml/#hookspre_get_sources_script."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 68
          },
          "name": "preGetSourcesScript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:DefaultHooks"
    },
    "projen.gitlab.DeploymentTier": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Explicitly specifies the tier of the deployment environment if non-standard environment name is used."
      },
      "fqn": "projen.gitlab.DeploymentTier",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 410
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEVELOPMENT"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "OTHER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PRODUCTION"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STAGING"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "TESTING"
        }
      ],
      "name": "DeploymentTier",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:DeploymentTier"
    },
    "projen.gitlab.Engine": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The engine configuration for a secret."
      },
      "fqn": "projen.gitlab.Engine",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 569
      },
      "name": "Engine",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Name of the secrets engine."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 571
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the secrets engine."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 573
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Engine"
    },
    "projen.gitlab.Environment": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "The environment that a job deploys to."
      },
      "fqn": "projen.gitlab.Environment",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 378
      },
      "name": "Environment",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the environment, e.g. 'qa', 'staging', 'production'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 388
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "'start' (default) indicates the job will start the deployment. 'prepare' indicates this will not affect the deployment. 'stop' indicates this will stop the deployment.",
            "stability": "experimental",
            "summary": "Specifies what this job will do."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 380
          },
          "name": "action",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Action"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Supports a wide variety of formats, e.g. '1 week', '3 mins 4 sec', '2 hrs 20 min', '2h20min', '6 mos 1 day', '47 yrs 6 mos and 4d', '3 weeks and 2 days'.",
            "stability": "experimental",
            "summary": "The amount of time it should take before Gitlab will automatically stop the environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 382
          },
          "name": "autoStopIn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Explicitly specifies the tier of the deployment environment if non-standard environment name is used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 384
          },
          "name": "deploymentTier",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.DeploymentTier"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This is currently not supported for kubernetes clusters that are managed by Gitlab.",
            "stability": "experimental",
            "summary": "Used to configure the kubernetes deployment for this environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 386
          },
          "name": "kubernetes",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.KubernetesConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of a job to execute when the environment is about to be stopped."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 390
          },
          "name": "onStop",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "When set, this will expose buttons in various places for the current environment in Gitlab, that will take you to the defined URL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 392
          },
          "name": "url",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Environment"
    },
    "projen.gitlab.Filter": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Filtering options for when a job will run."
      },
      "fqn": "projen.gitlab.Filter",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 430
      },
      "name": "Filter",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Filter job creation based on files that were modified in a git push."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 432
          },
          "name": "changes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Filter job based on if Kubernetes integration is active."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 434
          },
          "name": "kubernetes",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.KubernetesEnum"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Control when to add jobs to a pipeline based on branch names or pipeline types."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 436
          },
          "name": "refs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Read more about variable expressions: https://docs.gitlab.com/ee/ci/variables/README.html#variables-expressions",
            "stability": "experimental",
            "summary": "Filter job by checking comparing values of environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 438
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Filter"
    },
    "projen.gitlab.GitlabConfiguration": {
      "assembly": "projen",
      "base": "projen.gitlab.CiConfiguration",
      "docs": {
        "stability": "experimental",
        "summary": "A GitLab CI for the main `.gitlab-ci.yml` file."
      },
      "fqn": "projen.gitlab.GitlabConfiguration",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/gitlab/gitlab-configuration.ts",
          "line": 11
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.gitlab.CiConfigurationOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/gitlab/gitlab-configuration.ts",
        "line": 9
      },
      "methods": [
        {
          "docs": {
            "remarks": "Additionally adds their stages to the main CI if they are not already present.\nYou can futher customize nested templates through the `nestedTemplates` property.\nE.g. gitlabConfig.nestedTemplates['templateName']?.addStages('stageName')",
            "stability": "experimental",
            "summary": "Creates and adds nested templates to the includes of the main CI."
          },
          "locationInModule": {
            "filename": "src/gitlab/gitlab-configuration.ts",
            "line": 22
          },
          "name": "createNestedTemplates",
          "parameters": [
            {
              "docs": {
                "summary": "a record the names and configuraitons of the templates."
              },
              "name": "config",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.gitlab.CiConfigurationOptions"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        }
      ],
      "name": "GitlabConfiguration",
      "namespace": "gitlab",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/gitlab-configuration.ts",
            "line": 10
          },
          "name": "nestedTemplates",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.NestedConfiguration"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/gitlab-configuration:GitlabConfiguration"
    },
    "projen.gitlab.IDToken": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#id_tokens",
        "stability": "experimental",
        "summary": "id_tokens Definition."
      },
      "fqn": "projen.gitlab.IDToken",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 179
      },
      "name": "IDToken",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The required aud sub-keyword is used to configure the aud claim for the JWT."
          },
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 181
          },
          "name": "aud",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:IDToken"
    },
    "projen.gitlab.Image": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Job configuration\ntakes precedence over global setting. Requires a certain kind of Gitlab runner executor.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#image",
        "stability": "experimental",
        "summary": "Specifies the docker image to use for the job or globally for all jobs."
      },
      "fqn": "projen.gitlab.Image",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 189
      },
      "name": "Image",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "It should contain the Registry part if needed.",
            "stability": "experimental",
            "summary": "Full name of the image that should be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 193
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "It will be translated to Docker's --entrypoint option while creating the container. The syntax is similar to Dockerfile's ENTRYPOINT directive, where each shell token is a separate string in the array.",
            "stability": "experimental",
            "summary": "Command or script that should be executed as the container's entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 191
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Image"
    },
    "projen.gitlab.Include": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#include",
        "stability": "experimental",
        "summary": "An included YAML file."
      },
      "fqn": "projen.gitlab.Include",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 240
      },
      "name": "Include",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use `file` in combination with `project` only.",
            "stability": "experimental",
            "summary": "Files from another private project on the same GitLab instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 246
          },
          "name": "file",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The file must be on the same branch, and does not work across git submodules.",
            "stability": "experimental",
            "summary": "Relative path from local repository root (`/`) to the `yaml`/`yml` file template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 242
          },
          "name": "local",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the project, e.g. `group/project`, or `group/sub-group/project`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 248
          },
          "name": "project",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Branch/Tag/Commit-hash for the target project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 250
          },
          "name": "ref",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "URL to a `yaml`/`yml` template file using HTTP/HTTPS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 254
          },
          "name": "remote",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 244
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.IncludeRule"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Use a `.gitlab-ci.yml` template as a base, e.g. `Nodejs.gitlab-ci.yml`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 252
          },
          "name": "template",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Include"
    },
    "projen.gitlab.IncludeRule": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/includes.html#use-rules-with-include",
        "stability": "experimental",
        "summary": "Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job."
      },
      "fqn": "projen.gitlab.IncludeRule",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 262
      },
      "name": "IncludeRule",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 264
          },
          "name": "allowFailure",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "boolean"
                },
                {
                  "fqn": "projen.gitlab.AllowFailure"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 266
          },
          "name": "changes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 268
          },
          "name": "exists",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 270
          },
          "name": "if",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 272
          },
          "name": "needs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 274
          },
          "name": "startIn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 276
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 278
          },
          "name": "when",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.JobWhen"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:IncludeRule"
    },
    "projen.gitlab.Inherit": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Boolean values control\ninheritance of all default: or variables: keywords. To inherit only a subset of default:\nor variables: keywords, specify what you wish to inherit. Anything not listed is not\ninherited.",
        "stability": "experimental",
        "summary": "Controls inheritance of globally-defined defaults and variables."
      },
      "fqn": "projen.gitlab.Inherit",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 454
      },
      "name": "Inherit",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Or subset of inherited defaults",
            "stability": "experimental",
            "summary": "Whether to inherit all globally-defined defaults or not."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 456
          },
          "name": "default",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "boolean"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.gitlab.DefaultElement"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Or subset of inherited variables",
            "stability": "experimental",
            "summary": "Whether to inherit all globally-defined variables or not."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 458
          },
          "name": "variables",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "boolean"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Inherit"
    },
    "projen.gitlab.Job": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/jobs/",
        "stability": "experimental",
        "summary": "Jobs are the most fundamental element of a .gitlab-ci.yml file."
      },
      "fqn": "projen.gitlab.Job",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 308
      },
      "name": "Job",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 310
          },
          "name": "afterScript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Whether to allow the pipeline to continue running on job failure (Default: false)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 312
          },
          "name": "allowFailure",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "boolean"
                },
                {
                  "fqn": "projen.gitlab.AllowFailure"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 314
          },
          "name": "artifacts",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Artifacts"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 316
          },
          "name": "beforeScript",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 318
          },
          "name": "cache",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Cache"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Example: '/Code coverage: \\d+\\.\\d+/'",
            "stability": "experimental",
            "summary": "Must be a regular expression, optionally but recommended to be quoted, and must be surrounded with '/'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 320
          },
          "name": "coverage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "By default, all previous artifacts are passed. Use an empty array to skip downloading artifacts.",
            "stability": "experimental",
            "summary": "Specify a list of job names from earlier stages from which artifacts should be loaded."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 322
          },
          "name": "dependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Environment can have a name and URL attached to it, and will be displayed under /environments under the project.",
            "stability": "experimental",
            "summary": "Used to associate environment metadata with a deploy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 324
          },
          "name": "environment",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "fqn": "projen.gitlab.Environment"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Job will run *except* for when these filtering options match."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 326
          },
          "name": "except",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                },
                {
                  "fqn": "projen.gitlab.Filter"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of one or more jobs to inherit configuration from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 328
          },
          "name": "extends",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 372
          },
          "name": "hooks",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.DefaultHooks"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configurable ID tokens (JSON Web Tokens) that are used for CI/CD authentication."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 330
          },
          "name": "idTokens",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.IDToken"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 332
          },
          "name": "image",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Image"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Boolean values control inheritance of all default: or variables: keywords. To inherit only a subset of default: or variables: keywords, specify what you wish to inherit. Anything not listed is not inherited.",
            "stability": "experimental",
            "summary": "Controls inheritance of globally-defined defaults and variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 334
          },
          "name": "inherit",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Inherit"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 336
          },
          "name": "interruptible",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The list of jobs in previous stages whose sole completion is needed to start the current job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 338
          },
          "name": "needs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "fqn": "projen.gitlab.Need"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Job will run *only* when these filtering options match."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 340
          },
          "name": "only",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                },
                {
                  "fqn": "projen.gitlab.Filter"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parallel will split up a single job into several, and provide `CI_NODE_INDEX` and `CI_NODE_TOTAL` environment variables for the running jobs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 342
          },
          "name": "parallel",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "number"
                },
                {
                  "fqn": "projen.gitlab.Parallel"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Indicates that the job creates a Release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 344
          },
          "name": "release",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Release"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Can be used to ensure that the Runner will not run certain jobs simultaneously.",
            "stability": "experimental",
            "summary": "Limit job concurrency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 346
          },
          "name": "resourceGroup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 348
          },
          "name": "retry",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Retry"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Rules allows for an array of individual rule objects to be evaluated in order, until one matches and dynamically provides attributes to the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 350
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.IncludeRule"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The only required property of jobs. Be careful with special characters (e.g. `:`, `{`, `}`, `&`) and use single or double quotes to avoid issues.",
            "stability": "experimental",
            "summary": "Shell scripts executed by the Runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 352
          },
          "name": "script",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "CI/CD secrets."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 354
          },
          "name": "secrets",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.gitlab.Secret"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 356
          },
          "name": "services",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.Service"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Define what stage the job will run in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 358
          },
          "name": "stage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 360
          },
          "name": "startIn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 362
          },
          "name": "tags",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 364
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "When a job created from trigger definition is started by GitLab, a downstream pipeline gets created. Read more: https://docs.gitlab.com/ee/ci/yaml/README.html#trigger",
            "stability": "experimental",
            "summary": "Trigger allows you to define downstream pipeline trigger."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 366
          },
          "name": "trigger",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "fqn": "projen.gitlab.Trigger"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configurable values that are passed to the Job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 368
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Defaults to 'on_success'.",
            "stability": "experimental",
            "summary": "Describes the conditions for when to run the job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 370
          },
          "name": "when",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.JobWhen"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Job"
    },
    "projen.gitlab.JobWhen": {
      "assembly": "projen",
      "docs": {
        "remarks": "Defaults to 'on_success'.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#when",
        "stability": "experimental",
        "summary": "Describes the conditions for when to run the job."
      },
      "fqn": "projen.gitlab.JobWhen",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 295
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DELAYED"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "MANUAL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ON_FAILURE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ON_SUCCESS"
        }
      ],
      "name": "JobWhen",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:JobWhen"
    },
    "projen.gitlab.KubernetesConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "This is currently not\nsupported for kubernetes clusters that are managed by Gitlab.",
        "stability": "experimental",
        "summary": "Used to configure the kubernetes deployment for this environment."
      },
      "fqn": "projen.gitlab.KubernetesConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 422
      },
      "name": "KubernetesConfig",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The kubernetes namespace where this environment should be deployed to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 424
          },
          "name": "namespace",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:KubernetesConfig"
    },
    "projen.gitlab.KubernetesEnum": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Filter job based on if Kubernetes integration is active."
      },
      "fqn": "projen.gitlab.KubernetesEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 444
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ACTIVE"
        }
      ],
      "name": "KubernetesEnum",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:KubernetesEnum"
    },
    "projen.gitlab.Link": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Link configuration for an asset."
      },
      "fqn": "projen.gitlab.Link",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 524
      },
      "name": "Link",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the link."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 530
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The URL to download a file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 532
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The redirect link to the url."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 526
          },
          "name": "filepath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The content kind of what users can download via url."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 528
          },
          "name": "linkType",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.LinkType"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Link"
    },
    "projen.gitlab.LinkType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The content kind of what users can download via url."
      },
      "fqn": "projen.gitlab.LinkType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 538
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "IMAGE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "OTHER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PACKAGE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "RUNBOOK"
        }
      ],
      "name": "LinkType",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:LinkType"
    },
    "projen.gitlab.Need": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A jobs in a previous stage whose sole completion is needed to start the current job."
      },
      "fqn": "projen.gitlab.Need",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 477
      },
      "name": "Need",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 479
          },
          "name": "job",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 478
          },
          "name": "artifacts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 480
          },
          "name": "optional",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 481
          },
          "name": "pipeline",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 482
          },
          "name": "project",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 483
          },
          "name": "ref",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Need"
    },
    "projen.gitlab.NestedConfiguration": {
      "assembly": "projen",
      "base": "projen.gitlab.CiConfiguration",
      "docs": {
        "stability": "experimental",
        "summary": "A GitLab CI for templates that are created and included in the `.gitlab-ci.yml` file."
      },
      "fqn": "projen.gitlab.NestedConfiguration",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/gitlab/nested-configuration.ts",
          "line": 11
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "parent",
            "type": {
              "fqn": "projen.gitlab.GitlabConfiguration"
            }
          },
          {
            "docs": {
              "summary": "The name of the configuration."
            },
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.gitlab.CiConfigurationOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/gitlab/nested-configuration.ts",
        "line": 9
      },
      "name": "NestedConfiguration",
      "namespace": "gitlab",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/nested-configuration.ts",
            "line": 10
          },
          "name": "parent",
          "type": {
            "fqn": "projen.gitlab.GitlabConfiguration"
          }
        }
      ],
      "symbolId": "src/gitlab/nested-configuration:NestedConfiguration"
    },
    "projen.gitlab.Parallel": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Used to run a job multiple times in parallel in a single pipeline."
      },
      "fqn": "projen.gitlab.Parallel",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 489
      },
      "name": "Parallel",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Defines different variables for jobs that are running in parallel."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 491
          },
          "name": "matrix",
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "collection": {
                      "elementtype": {
                        "primitive": "any"
                      },
                      "kind": "array"
                    }
                  },
                  "kind": "map"
                }
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Parallel"
    },
    "projen.gitlab.PullPolicy": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#servicepull_policy",
        "stability": "experimental",
        "summary": "Describes the conditions for when to pull an image."
      },
      "fqn": "projen.gitlab.PullPolicy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 230
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "IF_NOT_PRESENT"
        }
      ],
      "name": "PullPolicy",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:PullPolicy"
    },
    "projen.gitlab.Release": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Indicates that the job creates a Release."
      },
      "fqn": "projen.gitlab.Release",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 497
      },
      "name": "Release",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Specifies the longer description of the Release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 500
          },
          "name": "description",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "It can refer to an existing Git tag or can be specified by the user.",
            "stability": "experimental",
            "summary": "The tag_name must be specified."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 510
          },
          "name": "tagName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 498
          },
          "name": "assets",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Assets"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The title of each milestone the release is associated with."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 502
          },
          "name": "milestones",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If omitted, it is populated with the value of release: tag_name.",
            "stability": "experimental",
            "summary": "The Release name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 504
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "ref can be a commit SHA, another tag name, or a branch name.",
            "stability": "experimental",
            "summary": "If the release: tag_name doesn’t exist yet, the release is created from ref."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 506
          },
          "name": "ref",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Defaults to the current date and time if not defined. Should be enclosed in quotes and expressed in ISO 8601 format.",
            "stability": "experimental",
            "summary": "The date and time when the release is ready."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 508
          },
          "name": "releasedAt",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Release"
    },
    "projen.gitlab.Reports": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#artifactsreports",
        "stability": "experimental",
        "summary": "Reports will be uploaded as artifacts, and often displayed in the Gitlab UI, such as in Merge Requests."
      },
      "fqn": "projen.gitlab.Reports",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 140
      },
      "name": "Reports",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with code quality report(s) (such as Code Climate)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 142
          },
          "name": "codequality",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with Container scanning vulnerabilities report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 144
          },
          "name": "containerScanning",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Code coverage report information."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 146
          },
          "name": "coverageReport",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.CoverageReport"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with DAST vulnerabilities report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 148
          },
          "name": "dast",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with Dependency scanning vulnerabilities report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 150
          },
          "name": "dependencyScanning",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files containing runtime-created variables for this job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 152
          },
          "name": "dotenv",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path for file(s) that should be parsed as JUnit XML result."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 154
          },
          "name": "junit",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Deprecated in 12.8: Path to file or list of files with license report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 156
          },
          "name": "licenseManagement",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with license report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 158
          },
          "name": "licenseScanning",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files containing code intelligence (Language Server Index Format)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 160
          },
          "name": "lsif",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with custom metrics report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 162
          },
          "name": "metrics",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with performance metrics report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 164
          },
          "name": "performance",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with requirements report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 166
          },
          "name": "requirements",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with SAST vulnerabilities report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 168
          },
          "name": "sast",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with secret detection report(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 170
          },
          "name": "secretDetection",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to file or list of files with terraform plan(s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 172
          },
          "name": "terraform",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Reports"
    },
    "projen.gitlab.Retry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "If not defined, defaults to 0 and jobs do not retry.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#retry",
        "stability": "experimental",
        "summary": "How many times a job is retried if it fails."
      },
      "fqn": "projen.gitlab.Retry",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 200
      },
      "name": "Retry",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "0 (default), 1, or 2."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 202
          },
          "name": "max",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Either a single or array of error types to trigger job retry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 204
          },
          "name": "when",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Retry"
    },
    "projen.gitlab.Secret": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A CI/CD secret."
      },
      "fqn": "projen.gitlab.Secret",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 548
      },
      "name": "Secret",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 550
          },
          "name": "vault",
          "type": {
            "fqn": "projen.gitlab.VaultConfig"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Secret"
    },
    "projen.gitlab.Service": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "Default": "image keyword."
        },
        "remarks": "The service image is linked to the image specified in the",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#services",
        "stability": "experimental",
        "summary": "Used to specify an additional Docker image to run scripts in."
      },
      "fqn": "projen.gitlab.Service",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 211
      },
      "name": "Service",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "It should contain the Registry part if needed.",
            "stability": "experimental",
            "summary": "Full name of the image that should be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 219
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Read Accessing the services for more information.",
            "stability": "experimental",
            "summary": "Additional alias that can be used to access the service from the job's container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 213
          },
          "name": "alias",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "It will be translated to arguments passed to Docker after the image's name. The syntax is similar to Dockerfile's CMD directive, where each shell token is a separate string in the array.",
            "stability": "experimental",
            "summary": "Command or script that should be used as the container's command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 215
          },
          "name": "command",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "It will be translated to Docker's --entrypoint option while creating the container. The syntax is similar to Dockerfile's ENTRYPOINT directive, where each shell token is a separate string in the array.",
            "stability": "experimental",
            "summary": "Command or script that should be executed as the container's entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 217
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The pull policy that the runner uses to fetch the Docker image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 221
          },
          "name": "pullPolicy",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.PullPolicy"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional environment variables that are passed exclusively to the service.."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 223
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Service"
    },
    "projen.gitlab.Strategy": {
      "assembly": "projen",
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#triggerstrategy",
        "stability": "experimental",
        "summary": "You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend or mirror."
      },
      "fqn": "projen.gitlab.Strategy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 621
      },
      "members": [
        {
          "docs": {
            "remarks": "The trigger job status shows failed, success, or running, depending on the downstream pipeline status.",
            "stability": "experimental",
            "summary": "Not recommended, use mirror instead."
          },
          "name": "DEPEND"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Mirrors the status of the downstream pipeline exactly."
          },
          "name": "MIRROR"
        }
      ],
      "name": "Strategy",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:Strategy"
    },
    "projen.gitlab.Trigger": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Read more:",
        "see": "https://docs.gitlab.com/ee/ci/yaml/README.html#trigger-syntax-for-child-pipeline",
        "stability": "experimental",
        "summary": "Trigger a multi-project or a child pipeline."
      },
      "fqn": "projen.gitlab.Trigger",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 581
      },
      "name": "Trigger",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The branch name that a downstream pipeline will use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 583
          },
          "name": "branch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of local files or artifacts from other jobs to define the pipeline."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 589
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.TriggerInclude"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Input parameters for the downstream pipeline when using spec:inputs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 591
          },
          "name": "inputs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the project, e.g. `group/project`, or `group/sub-group/project`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 585
          },
          "name": "project",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "You can mirror the pipeline status from the triggered pipeline to the source bridge job by using strategy: depend."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 587
          },
          "name": "strategy",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.Strategy"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Trigger"
    },
    "projen.gitlab.TriggerInclude": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#triggerinclude",
        "stability": "experimental",
        "summary": "References a local file or an artifact from another job to define the pipeline configuration."
      },
      "fqn": "projen.gitlab.TriggerInclude",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 599
      },
      "name": "TriggerInclude",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Relative path to the generated YAML file which is extracted from the artifacts and used as the configuration for triggering the child pipeline."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 605
          },
          "name": "artifact",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Relative path from repository root (`/`) to the pipeline configuration YAML file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 609
          },
          "name": "file",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Job name which generates the artifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 607
          },
          "name": "job",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Relative path from local repository root (`/`) to the local YAML file to define the pipeline configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 601
          },
          "name": "local",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to another private project under the same GitLab instance, like `group/project` or `group/sub-group/project`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 611
          },
          "name": "project",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Branch/Tag/Commit hash for the target project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 613
          },
          "name": "ref",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Name of the template YAML file to use in the pipeline configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 603
          },
          "name": "template",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:TriggerInclude"
    },
    "projen.gitlab.VariableConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#variables",
        "stability": "experimental",
        "summary": "Explains what the global variable is used for, what the acceptable values are."
      },
      "fqn": "projen.gitlab.VariableConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 632
      },
      "name": "VariableConfig",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Must be used with value.",
            "stability": "experimental",
            "summary": "Define a global variable that is prefilled when running a pipeline manually."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 634
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The variable value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 636
          },
          "name": "value",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:VariableConfig"
    },
    "projen.gitlab.VaultConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://www.vaultproject.io/",
        "stability": "experimental",
        "summary": "Specification for a secret provided by a HashiCorp Vault."
      },
      "fqn": "projen.gitlab.VaultConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 557
      },
      "name": "VaultConfig",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 559
          },
          "name": "engine",
          "type": {
            "fqn": "projen.gitlab.Engine"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 561
          },
          "name": "field",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the secret."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 563
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:VaultConfig"
    },
    "projen.gitlab.Workflow": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#workflow",
        "stability": "experimental",
        "summary": "Used to control pipeline behavior."
      },
      "fqn": "projen.gitlab.Workflow",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 643
      },
      "name": "Workflow",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "You can use name to define a name for pipelines."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 645
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Used to control whether or not a whole pipeline is created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 647
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.gitlab.WorkflowRule"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:Workflow"
    },
    "projen.gitlab.WorkflowRule": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.gitlab.com/ee/ci/yaml/#workflowrules",
        "stability": "experimental",
        "summary": "Used to control whether or not a whole pipeline is created."
      },
      "fqn": "projen.gitlab.WorkflowRule",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 654
      },
      "name": "WorkflowRule",
      "namespace": "gitlab",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 656
          },
          "name": "changes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 658
          },
          "name": "exists",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 660
          },
          "name": "if",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 662
          },
          "name": "variables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "number"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/gitlab/configuration-model.ts",
            "line": 664
          },
          "name": "when",
          "optional": true,
          "type": {
            "fqn": "projen.gitlab.WorkflowWhen"
          }
        }
      ],
      "symbolId": "src/gitlab/configuration-model:WorkflowRule"
    },
    "projen.gitlab.WorkflowWhen": {
      "assembly": "projen",
      "docs": {
        "remarks": "Defaults to 'on_success'.\nThe value can only be 'always' or 'never' when used with workflow.",
        "see": "https://docs.gitlab.com/ee/ci/yaml/#workflowrules",
        "stability": "experimental",
        "summary": "Describes the conditions for when to run the job."
      },
      "fqn": "projen.gitlab.WorkflowWhen",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/gitlab/configuration-model.ts",
        "line": 672
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NEVER"
        }
      ],
      "name": "WorkflowWhen",
      "namespace": "gitlab",
      "symbolId": "src/gitlab/configuration-model:WorkflowWhen"
    },
    "projen.java.ChecksumPolicy": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.java.ChecksumPolicy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 196
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "IGNORE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "FAIL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "WARN"
        }
      ],
      "name": "ChecksumPolicy",
      "namespace": "java",
      "symbolId": "src/java/pom:ChecksumPolicy"
    },
    "projen.java.JavaProject": {
      "assembly": "projen",
      "base": "projen.github.GitHubProject",
      "docs": {
        "custom": {
          "pjid": "java"
        },
        "stability": "experimental",
        "summary": "Java project."
      },
      "fqn": "projen.java.JavaProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/java-project.ts",
          "line": 150
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.java.JavaProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/java-project.ts",
        "line": 119
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 225
          },
          "name": "addDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<groupId>/<artifactId>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "The plug in is also added as a BUILD dep to the project.",
            "stability": "experimental",
            "summary": "Adds a build plugin to the pom."
          },
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 246
          },
          "name": "addPlugin",
          "parameters": [
            {
              "docs": {
                "summary": "dependency spec (`group/artifact@version`)."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "plugin options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.java.PluginOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a test dependency."
          },
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 234
          },
          "name": "addTestDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<groupId>/<artifactId>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "JavaProject",
      "namespace": "java",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Compile component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 138
          },
          "name": "compile",
          "type": {
            "fqn": "projen.java.MavenCompile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maven artifact output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 148
          },
          "name": "distdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Packaging component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 133
          },
          "name": "packaging",
          "type": {
            "fqn": "projen.java.MavenPackaging"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "API for managing `pom.xml`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 123
          },
          "name": "pom",
          "type": {
            "fqn": "projen.java.Pom"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "JUnit component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 128
          },
          "name": "junit",
          "optional": true,
          "type": {
            "fqn": "projen.java.Junit"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Projenrc component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 143
          },
          "name": "projenrc",
          "optional": true,
          "type": {
            "fqn": "projen.java.Projenrc"
          }
        }
      ],
      "symbolId": "src/java/java-project:JavaProject"
    },
    "projen.java.JavaProjectCommonOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JavaProject`."
      },
      "fqn": "projen.java.JavaProjectCommonOptions",
      "interfaces": [
        "projen.github.GitHubProjectOptions",
        "projen.java.PomOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/java-project.ts",
        "line": 19
      },
      "name": "JavaProjectCommonOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "Compile options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 78
          },
          "name": "compileOptions",
          "optional": true,
          "type": {
            "fqn": "projen.java.MavenCompileOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "remarks": "Dependencies use the format: `<groupId>/<artifactId>@<semver>`\n\nAdditional dependencies can be added via `project.addDependency()`.",
            "stability": "experimental",
            "summary": "List of runtime dependencies for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 40
          },
          "name": "deps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"dist/java\"",
            "stability": "experimental",
            "summary": "Final artifact output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 26
          },
          "name": "distdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include junit tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 60
          },
          "name": "junit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "junit options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 66
          },
          "name": "junitOptions",
          "optional": true,
          "type": {
            "fqn": "projen.java.JunitOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "Packaging options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 72
          },
          "name": "packagingOptions",
          "optional": true,
          "type": {
            "fqn": "projen.java.MavenPackagingOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This will install `projen` as a java dependency and will add a `synth` task which\nwill compile & execute `main()` from `src/main/java/projenrc.java`.",
            "stability": "experimental",
            "summary": "Use projenrc in java."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 88
          },
          "name": "projenrcJava",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options related to projenrc in java."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 94
          },
          "name": "projenrcJavaOptions",
          "optional": true,
          "type": {
            "fqn": "projen.java.ProjenrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "remarks": "Dependencies use the format: `<groupId>/<artifactId>@<semver>`\n\nAdditional dependencies can be added via `project.addTestDependency()`.",
            "stability": "experimental",
            "summary": "List of test dependencies for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 52
          },
          "name": "testDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/java/java-project:JavaProjectCommonOptions"
    },
    "projen.java.JavaProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `JavaProject`."
      },
      "fqn": "projen.java.JavaProjectOptions",
      "interfaces": [
        "projen.java.JavaProjectCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/java-project.ts",
        "line": 100
      },
      "name": "JavaProjectOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include sample code and test if the relevant directories don't exist."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 105
          },
          "name": "sample",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"org.acme\"",
            "stability": "experimental",
            "summary": "The java package to use for the code sample."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/java-project.ts",
            "line": 111
          },
          "name": "sampleJavaPackage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/java-project:JavaProjectOptions"
    },
    "projen.java.Junit": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Implements JUnit-based testing."
      },
      "fqn": "projen.java.Junit",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/junit.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.java.JunitOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/junit.ts",
        "line": 35
      },
      "name": "Junit",
      "namespace": "java",
      "symbolId": "src/java/junit:Junit"
    },
    "projen.java.JunitOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Junit`."
      },
      "fqn": "projen.java.JunitOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/junit.ts",
        "line": 12
      },
      "name": "JunitOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Java pom."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/junit.ts",
            "line": 16
          },
          "name": "pom",
          "type": {
            "fqn": "projen.java.Pom"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"org.acme\"",
            "stability": "experimental",
            "summary": "Java package for test sample."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/junit.ts",
            "line": 29
          },
          "name": "sampleJavaPackage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"5.7.0\"",
            "stability": "experimental",
            "summary": "Junit version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/junit.ts",
            "line": 23
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/junit:JunitOptions"
    },
    "projen.java.MavenCompile": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Adds the maven-compiler plugin to a POM file and the `compile` task."
      },
      "fqn": "projen.java.MavenCompile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/maven-compile.ts",
          "line": 28
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "pom",
            "type": {
              "fqn": "projen.java.Pom"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.java.MavenCompileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/maven-compile.ts",
        "line": 27
      },
      "name": "MavenCompile",
      "namespace": "java",
      "symbolId": "src/java/maven-compile:MavenCompile"
    },
    "projen.java.MavenCompileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `MavenCompile`."
      },
      "fqn": "projen.java.MavenCompileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/maven-compile.ts",
        "line": 8
      },
      "name": "MavenCompileOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"1.8\"",
            "stability": "experimental",
            "summary": "Source language version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-compile.ts",
            "line": 14
          },
          "name": "source",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"1.8\"",
            "stability": "experimental",
            "summary": "Target JVM version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-compile.ts",
            "line": 21
          },
          "name": "target",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/maven-compile:MavenCompileOptions"
    },
    "projen.java.MavenPackaging": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Configures a maven project to produce a .jar archive with sources and javadocs."
      },
      "fqn": "projen.java.MavenPackaging",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/maven-packaging.ts",
          "line": 43
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "pom",
            "type": {
              "fqn": "projen.java.Pom"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.java.MavenPackagingOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/maven-packaging.ts",
        "line": 37
      },
      "name": "MavenPackaging",
      "namespace": "java",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory containing the package output, relative to the project outdir."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-packaging.ts",
            "line": 41
          },
          "name": "distdir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/maven-packaging:MavenPackaging"
    },
    "projen.java.MavenPackagingOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `MavenPackage`."
      },
      "fqn": "projen.java.MavenPackagingOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/maven-packaging.ts",
        "line": 8
      },
      "name": "MavenPackagingOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"dist/java\"",
            "stability": "experimental",
            "summary": "Where to place the package output?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-packaging.ts",
            "line": 19
          },
          "name": "distdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include javadocs jar in package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-packaging.ts",
            "line": 25
          },
          "name": "javadocs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Exclude source files from docs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-packaging.ts",
            "line": 31
          },
          "name": "javadocsExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include sources jar in package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-packaging.ts",
            "line": 13
          },
          "name": "sources",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/java/maven-packaging:MavenPackagingOptions"
    },
    "projen.java.MavenRepository": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://maven.apache.org/guides/introduction/introduction-to-repositories.html",
        "stability": "experimental",
        "summary": "Represents a Maven repository."
      },
      "fqn": "projen.java.MavenRepository",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 132
      },
      "name": "MavenRepository",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The identifier for the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 136
          },
          "name": "id",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The url of the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 140
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The layout of the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 148
          },
          "name": "layout",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 144
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Repository Policy for Releases."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 156
          },
          "name": "releases",
          "optional": true,
          "type": {
            "fqn": "projen.java.MavenRepositoryPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Repository Policy for Snapshots."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 152
          },
          "name": "snapshots",
          "optional": true,
          "type": {
            "fqn": "projen.java.MavenRepositoryPolicy"
          }
        }
      ],
      "symbolId": "src/java/pom:MavenRepository"
    },
    "projen.java.MavenRepositoryPolicy": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://maven.apache.org/settings.html#repositories",
        "stability": "experimental",
        "summary": "Represents a Maven Repository Policy."
      },
      "fqn": "projen.java.MavenRepositoryPolicy",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 163
      },
      "name": "MavenRepositoryPolicy",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Checksum Policy When Maven deploys files to the repository, it also deploys corresponding checksum files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 180
          },
          "name": "checksumPolicy",
          "optional": true,
          "type": {
            "fqn": "projen.java.ChecksumPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 167
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "UpdatePolicy.DAILY",
            "remarks": "Maven will compare the local POM's timestamp (stored in a repository's maven-metadata file) to the remote.",
            "stability": "experimental",
            "summary": "Update Policy This element specifies how often updates should attempt to occur."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 174
          },
          "name": "updatePolicy",
          "optional": true,
          "type": {
            "fqn": "projen.java.UpdatePolicy"
          }
        }
      ],
      "symbolId": "src/java/pom:MavenRepositoryPolicy"
    },
    "projen.java.MavenSample": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Java code sample."
      },
      "fqn": "projen.java.MavenSample",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/maven-sample.ts",
          "line": 17
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.java.MavenSampleOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/maven-sample.ts",
        "line": 16
      },
      "name": "MavenSample",
      "namespace": "java",
      "symbolId": "src/java/maven-sample:MavenSample"
    },
    "projen.java.MavenSampleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.java.MavenSampleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/maven-sample.ts",
        "line": 6
      },
      "name": "MavenSampleOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Project root java package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/maven-sample.ts",
            "line": 10
          },
          "name": "package",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/maven-sample:MavenSampleOptions"
    },
    "projen.java.ParentPom": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.java.ParentPom",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 109
      },
      "name": "ParentPom",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parent Pom Artifact ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 117
          },
          "name": "artifactId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parent Pom Group ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 113
          },
          "name": "groupId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parent Pom Relative path from the current pom."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 125
          },
          "name": "relativePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Parent Pom Version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 121
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/pom:ParentPom"
    },
    "projen.java.PluginExecution": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Plugin execution definition."
      },
      "fqn": "projen.java.PluginExecution",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 449
      },
      "name": "PluginExecution",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Which Maven goals this plugin should be associated with."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 458
          },
          "name": "goals",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 453
          },
          "name": "id",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Execution key/value configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 469
          },
          "name": "configuration",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The phase in which the plugin should execute."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 463
          },
          "name": "phase",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/pom:PluginExecution"
    },
    "projen.java.PluginOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Maven plugins."
      },
      "fqn": "projen.java.PluginOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 423
      },
      "name": "PluginOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Plugin key/value configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 428
          },
          "name": "configuration",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Dependencies are in `<groupId>/<artifactId>@<semver>` format.",
            "stability": "experimental",
            "summary": "You could configure the dependencies for the plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 443
          },
          "name": "dependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Plugin executions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 434
          },
          "name": "executions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.java.PluginExecution"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/java/pom:PluginOptions"
    },
    "projen.java.Pom": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "It is\nan XML file that contains information about the project and configuration\ndetails used by Maven to build the project.",
        "stability": "experimental",
        "summary": "A Project Object Model or POM is the fundamental unit of work in Maven."
      },
      "fqn": "projen.java.Pom",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/pom.ts",
          "line": 259
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.java.PomOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 207
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 289
          },
          "name": "addDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<groupId>/<artifactId>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "The plug in is also added as a BUILD dep to the project.",
            "stability": "experimental",
            "summary": "Adds a build plugin to the pom."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 310
          },
          "name": "addPlugin",
          "parameters": [
            {
              "docs": {
                "summary": "dependency spec (`group/artifact@version`)."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "plugin options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.java.PluginOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Dependency"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 329
          },
          "name": "addPluginRepository",
          "parameters": [
            {
              "name": "repository",
              "type": {
                "fqn": "projen.java.MavenRepository"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a key/value property to the pom."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 280
          },
          "name": "addProperty",
          "parameters": [
            {
              "docs": {
                "summary": "the key."
              },
              "name": "key",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "the value."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a repository to the pom."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 321
          },
          "name": "addRepository",
          "parameters": [
            {
              "docs": {
                "summary": "the repository to add."
              },
              "name": "repository",
              "type": {
                "fqn": "projen.java.MavenRepository"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a test dependency."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 298
          },
          "name": "addTestDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<groupId>/<artifactId>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "Pom",
      "namespace": "java",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maven artifact ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 221
          },
          "name": "artifactId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the pom file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 211
          },
          "name": "fileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maven group ID."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 216
          },
          "name": "groupId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maven packaging format."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 231
          },
          "name": "packaging",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 226
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project description."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 241
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project display name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 236
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project URL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 246
          },
          "name": "url",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/pom:Pom"
    },
    "projen.java.PomOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Pom`."
      },
      "fqn": "projen.java.PomOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 19
      },
      "name": "PomOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"my-app\"",
            "remarks": "Although\nthe groupId is important, people within the group will rarely mention the\ngroupId in discussion (they are often all be the same ID, such as the\nMojoHaus project groupId: org.codehaus.mojo). It, along with the groupId,\ncreates a key that separates this project from every other project in the\nworld (at least, it should :) ). Along with the groupId, the artifactId\nfully defines the artifact's living quarters within the repository. In the\ncase of the above project, my-project lives in\n$M2_REPO/org/codehaus/mojo/my-project.",
            "stability": "experimental",
            "summary": "The artifactId is generally the name that the project is known by."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 50
          },
          "name": "artifactId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"org.acme\"",
            "remarks": "For example,\nall core Maven artifacts do (well, should) live under the groupId\norg.apache.maven. Group ID's do not necessarily use the dot notation, for\nexample, the junit project. Note that the dot-notated groupId does not have\nto correspond to the package structure that the project contains. It is,\nhowever, a good practice to follow. When stored within a repository, the\ngroup acts much like the Java packaging structure does in an operating\nsystem. The dots are replaced by OS specific directory separators (such as\n'/' in Unix) which becomes a relative directory structure from the base\nrepository. In the example given, the org.codehaus.mojo group lives within\nthe directory $M2_REPO/org/codehaus/mojo.",
            "stability": "experimental",
            "summary": "This is generally unique amongst an organization or a project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 35
          },
          "name": "groupId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"0.1.0\"",
            "remarks": "groupId:artifactId denotes a\nsingle project but they cannot delineate which incarnation of that project\nwe are talking about. Do we want the junit:junit of 2018 (version 4.12), or\nof 2007 (version 3.8.2)? In short: code changes, those changes should be\nversioned, and this element keeps those versions in line. It is also used\nwithin an artifact's repository to separate versions from each other.\nmy-project version 1.0 files live in the directory structure\n$M2_REPO/org/codehaus/mojo/my-project/1.0.",
            "stability": "experimental",
            "summary": "This is the last piece of the naming puzzle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 64
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "undefined",
            "remarks": "Although this should not replace\nformal documentation, a quick comment to any readers of the POM is always\nhelpful.",
            "stability": "experimental",
            "summary": "Description of a project is always good."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 81
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"jar\"",
            "stability": "experimental",
            "summary": "Project packaging format."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 71
          },
          "name": "packaging",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "undefined",
            "stability": "experimental",
            "summary": "A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 100
          },
          "name": "parentPom",
          "optional": true,
          "type": {
            "fqn": "projen.java.ParentPom"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "undefined",
            "remarks": "This is a nice gesture for\nprojects users, however, so that they know where the project lives.",
            "stability": "experimental",
            "summary": "The URL, like the name, is not required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 90
          },
          "name": "url",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/pom:PomOptions"
    },
    "projen.java.Projenrc": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "remarks": "This will install `org.projen/projen` as a Maven dependency and will add a\n`synth` task which will compile & execute `main()` from\n`src/main/java/projenrc.java`.",
        "stability": "experimental",
        "summary": "Allows writing projenrc files in java."
      },
      "fqn": "projen.java.Projenrc",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/java/projenrc.ts",
          "line": 61
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "pom",
            "type": {
              "fqn": "projen.java.Pom"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.java.ProjenrcOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/projenrc.ts",
        "line": 50
      },
      "methods": [
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 98
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Projenrc",
      "namespace": "java",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the java class that includes the projen entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 54
          },
          "name": "className",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 121
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/projenrc:Projenrc"
    },
    "projen.java.ProjenrcOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Projenrc`."
      },
      "fqn": "projen.java.ProjenrcOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/java/projenrc.ts",
        "line": 15
      },
      "name": "ProjenrcOptions",
      "namespace": "java",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"projenrc\"",
            "stability": "experimental",
            "summary": "The name of the Java class which contains the `main()` method for projen."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 20
          },
          "name": "className",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- current version",
            "stability": "experimental",
            "summary": "The projen version to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 26
          },
          "name": "projenVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This means that projenrc will be under\n`src/test/java/projenrc.java` and projen will be defined as a test\ndependency. This enforces that application code does not take a dependency\non projen code.\n\nIf this is disabled, projenrc should be under\n`src/main/java/projenrc.java`.",
            "stability": "experimental",
            "summary": "Defines projenrc under the test scope instead of the main scope, which is reserved to the app."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/projenrc.ts",
            "line": 40
          },
          "name": "testScope",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/java/projenrc:ProjenrcOptions"
    },
    "projen.java.UpdatePolicy": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.java.UpdatePolicy",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/java/pom.ts",
        "line": 183
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Updates at an interval of X minutes."
          },
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 191
          },
          "name": "interval",
          "parameters": [
            {
              "name": "minutes",
              "type": {
                "primitive": "number"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          },
          "static": true
        }
      ],
      "name": "UpdatePolicy",
      "namespace": "java",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 184
          },
          "name": "ALWAYS",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 185
          },
          "name": "DAILY",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/java/pom.ts",
            "line": 186
          },
          "name": "NEVER",
          "static": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/java/pom:UpdatePolicy"
    },
    "projen.javascript.AddBundleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `addBundle()`."
      },
      "fqn": "projen.javascript.AddBundleOptions",
      "interfaces": [
        "projen.javascript.BundlingOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 322
      },
      "name": "AddBundleOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "\"node\"",
            "stability": "experimental",
            "summary": "esbuild platform."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 335
          },
          "name": "platform",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"node12\"",
            "stability": "experimental",
            "summary": "esbuild target."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 328
          },
          "name": "target",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no comments are passed",
            "remarks": "This is similar to footer which inserts at the end instead of the beginning.\n\nThis is commonly used to insert comments:",
            "stability": "experimental",
            "summary": "Use this to insert an arbitrary string at the beginning of generated JavaScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 464
          },
          "name": "banner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Charset.ASCII",
            "remarks": "By default esbuild's output is ASCII-only. Any non-ASCII characters are escaped\nusing backslash escape sequences. Using escape sequences makes the generated output\nslightly bigger, and also makes it harder to read. If you would like for esbuild to print\nthe original characters without using escape sequences, use `Charset.UTF8`.",
            "see": "https://esbuild.github.io/api/#charset",
            "stability": "experimental",
            "summary": "The charset to use for esbuild's output."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 488
          },
          "name": "charset",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.Charset"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no replacements are made",
            "remarks": "For example, `{ 'process.env.DEBUG': 'true' }`.\n\nAnother example, `{ 'process.env.API_KEY': JSON.stringify('xxx-xxxx-xxx') }`.\n\nEach entry is passed to esbuild as a single `--define:` argument, exactly as\ngiven: no shell parses it, so values are not unquoted along the way and a\nstring replacement keeps the quotes it needs (`JSON.stringify('xxx')`).",
            "stability": "experimental",
            "summary": "Replace global identifiers with constant expressions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 503
          },
          "name": "define",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional esbuild arguments are passed",
            "remarks": "For example, to add the [--log-limit](https://esbuild.github.io/api/#log-limit) flag:\n\n```text\nproject.bundler.addBundle(\"./src/hello.ts\", {\n  platform: \"node\",\n  target: \"node22\",\n  sourcemap: true,\n  format: \"esm\",\n  esbuildArgs: {\n    \"--log-limit\": \"0\",\n  },\n});\n```\n\nEach entry is passed to esbuild as a single argument, exactly as given: no\nshell parses it, so values must not be quoted (a value containing spaces is\npassed through as one argument on its own).",
            "stability": "experimental",
            "summary": "Build arguments to pass into esbuild."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 528
          },
          "name": "esbuildArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Mark the output file as executable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 347
          },
          "name": "executable",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no comments are passed",
            "remarks": "This is similar to banner which inserts at the beginning instead of the end.\n\nThis is commonly used to insert comments",
            "stability": "experimental",
            "summary": "Use this to insert an arbitrary string at the end of generated JavaScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 475
          },
          "name": "footer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "There are currently three possible values that can be configured: `\"iife\"`, `\"cjs\"`, and `\"esm\"`.\n\nIf not set (`undefined`), esbuild picks an output format for you based on `platform`:\n- `\"cjs\"` if `platform` is `\"node\"`\n- `\"iife\"` if `platform` is `\"browser\"`\n- `\"esm\"` if `platform` is `\"neutral\"`\n\nNote: If making a bundle to run under node with ESM, set `format` to `\"esm\"` instead of setting `platform` to `\"neutral\"`.",
            "see": "https://esbuild.github.io/api/#format",
            "stability": "experimental",
            "summary": "Output format for the generated JavaScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 376
          },
          "name": "format",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no code is injected",
            "see": "https://esbuild.github.io/api/#inject",
            "stability": "experimental",
            "summary": "This option allows you to automatically replace a global variable with an import from another file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 545
          },
          "name": "inject",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "In JavaScript the `name` property on functions and classes defaults to a\nnearby identifier in the source code.\n\nHowever, minification renames symbols to reduce code size and bundling\nsometimes need to rename symbols to avoid collisions. That changes value of\nthe `name` property for many of these cases. This is usually fine because\nthe `name` property is normally only used for debugging. However, some\nframeworks rely on the `name` property for registration and binding purposes.\nIf this is the case, you can enable this option to preserve the original\n`name` values even in minified code.",
            "stability": "experimental",
            "summary": "Whether to preserve the original `name` values even in minified code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 426
          },
          "name": "keepNames",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Loaders are appended to the esbuild command by `--loader:.extension=loader`",
            "stability": "experimental",
            "summary": "Map of file extensions (without dot) and loaders to use for this file type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 359
          },
          "name": "loaders",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LogLevel.WARNING",
            "remarks": "This is also propagated to the package manager and\napplies to its specific install command.",
            "stability": "experimental",
            "summary": "Log level for esbuild."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 408
          },
          "name": "logLevel",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BundleLogLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Try ['module', 'main'] to default to ES module versions.",
            "stability": "experimental",
            "summary": "How to determine the entry point for modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 536
          },
          "name": "mainFields",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "The metadata in this JSON file follows this schema (specified using TypeScript syntax):\n\n```text\n{\n  outputs: {\n    [path: string]: {\n      bytes: number\n      inputs: {\n        [path: string]: { bytesInOutput: number }\n      }\n      imports: { path: string }[]\n      exports: string[]\n    }\n  }\n}\n```\nThis data can then be analyzed by other tools. For example,\nbundle buddy can consume esbuild's metadata format and generates a treemap visualization\nof the modules in your bundle and how much space each one takes up.",
            "see": "https://esbuild.github.io/api/#metafile",
            "stability": "experimental",
            "summary": "This option tells esbuild to write out a JSON file relative to output directory with metadata about the build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 453
          },
          "name": "metafile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to minify files when bundling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 383
          },
          "name": "minify",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"index.js\"",
            "stability": "experimental",
            "summary": "Bundler output path relative to the asset's output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 341
          },
          "name": "outfile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "SourceMapMode.DEFAULT",
            "see": "https://esbuild.github.io/api/#sourcemap",
            "stability": "experimental",
            "summary": "Source map mode to be used when bundling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 391
          },
          "name": "sourceMapMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.SourceMapMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "see": "https://esbuild.github.io/api/#sources-content",
            "stability": "experimental",
            "summary": "Whether to include original source code in source maps when bundling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 400
          },
          "name": "sourcesContent",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"tsconfig.json\"",
            "stability": "experimental",
            "summary": "The path of the tsconfig.json file to use for bundling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 353
          },
          "name": "tsconfigPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/bundler:AddBundleOptions"
    },
    "projen.javascript.ArrowParens": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.ArrowParens",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 214
      },
      "members": [
        {
          "docs": {
            "remarks": "Example: `(x) => x`",
            "stability": "experimental",
            "summary": "Always include parens."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "remarks": "Example: `x => x`",
            "stability": "experimental",
            "summary": "Omit parens when possible."
          },
          "name": "AVOID"
        }
      ],
      "name": "ArrowParens",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:ArrowParens"
    },
    "projen.javascript.AuditOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for security audit configuration."
      },
      "fqn": "projen.javascript.AuditOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 74
      },
      "name": "AuditOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"high\"",
            "stability": "experimental",
            "summary": "Minimum vulnerability level to check for during audit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 79
          },
          "name": "level",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "When false, both production and development dependencies are audited.\nThis is recommended as build dependencies can also contain security vulnerabilities.",
            "stability": "experimental",
            "summary": "Only audit production dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 89
          },
          "name": "prodOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"build\"",
            "remarks": "- \"build\": Run during every build (default)\n- \"release\": Only run during release workflow\n- \"manual\": Create the task but don't run it automatically",
            "stability": "experimental",
            "summary": "When to run the audit task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 100
          },
          "name": "runOn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-project:AuditOptions"
    },
    "projen.javascript.AutoRelease": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Automatic bump modes."
      },
      "fqn": "projen.javascript.AutoRelease",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 433
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Automatically bump & release a new version for every commit to \"main\"."
          },
          "name": "EVERY_COMMIT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Automatically bump & release a new version on a daily basis."
          },
          "name": "DAILY"
        }
      ],
      "name": "AutoRelease",
      "namespace": "javascript",
      "symbolId": "src/javascript/node-project:AutoRelease"
    },
    "projen.javascript.Biome": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Biome component."
      },
      "fqn": "projen.javascript.Biome",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/biome/biome.ts",
          "line": 159
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.BiomeOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/biome/biome.ts",
        "line": 135
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 136
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.Biome"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Use ! or !! to ignore a file pattern.",
            "see": "https://biomejs.dev/guides/configure-biome/#control-files-via-configuration",
            "stability": "experimental",
            "summary": "Add a file pattern to biome."
          },
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 260
          },
          "name": "addFilePattern",
          "parameters": [
            {
              "docs": {
                "summary": "Biome glob pattern."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "see": "https://biomejs.dev/reference/configuration/#overrides",
            "stability": "experimental",
            "summary": "Add a biome override to set rules for a specific file pattern."
          },
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 269
          },
          "name": "addOverride",
          "parameters": [
            {
              "docs": {
                "summary": "Override object."
              },
              "name": "override",
              "type": {
                "fqn": "projen.javascript.biome_config.OverridePattern"
              }
            }
          ]
        },
        {
          "docs": {
            "example": "biome.expandLintingRules({\n  style: undefined,\n  suspicious: {\n    noExplicitAny: undefined,\n    noDuplicateCase: \"info\",\n  }\n})",
            "remarks": "Use `undefined` to remove the rule or group.",
            "see": "https://biomejs.dev/reference/configuration/#linterrulesgroup",
            "stability": "experimental",
            "summary": "Expand the linting rules applied."
          },
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 293
          },
          "name": "expandLinterRules",
          "parameters": [
            {
              "docs": {
                "summary": "Rules to apply."
              },
              "name": "rules",
              "type": {
                "fqn": "projen.javascript.biome_config.Rules"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs biome once, right after the project is first created, so the generated code is linted and formatted immediately."
          },
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 249
          },
          "name": "postProjectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "_initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Biome",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Biome configuration file content."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 157
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Biome task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 153
          },
          "name": "task",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome:Biome"
    },
    "projen.javascript.BiomeOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.BiomeOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome.ts",
        "line": 81
      },
      "name": "BiomeOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable code assist with recommended actions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 105
          },
          "name": "assist",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This configuration dictates the final outcome if value is set.\nFor example, if the linter is disabled at the top-level, it can be enabled with `biomeConfig.linter.enabled`.",
            "stability": "experimental",
            "summary": "Full Biome configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 129
          },
          "name": "biomeConfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.BiomeConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable code formatter with recommended settings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 99
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This prevents Biome from trying to format or lint files that are marked as generated,\nwhich would fail since generated files are typically read-only.",
            "stability": "experimental",
            "summary": "Automatically ignore all generated files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 122
          },
          "name": "ignoreGeneratedFiles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enable linting with recommended rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 93
          },
          "name": "linter",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "By default arrays are merged and duplicate values are removed",
            "stability": "experimental",
            "summary": "Should arrays be merged or overwritten when creating Biome configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 113
          },
          "name": "mergeArraysInConfiguration",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"^2.5\"",
            "stability": "experimental",
            "summary": "Version of Biome to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome.ts",
            "line": 87
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome:BiomeOptions"
    },
    "projen.javascript.BuildWorkflowOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Build workflow options for NodeProject."
      },
      "fqn": "projen.javascript.BuildWorkflowOptions",
      "interfaces": [
        "projen.build.BuildWorkflowCommonOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 392
      },
      "name": "BuildWorkflowOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This means that any files synthesized by projen or e.g. test snapshots will\nalways be up-to-date before a PR is merged.\n\nImplies that PR builds do not have anti-tamper checks.",
            "stability": "experimental",
            "summary": "Automatically update files modified during builds to pull-request branches."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 402
          },
          "name": "mutableBuild",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- value of `mutableBuild`",
            "remarks": "This will update the\npackage lockfile during installs, which is useful when build steps modify\ndependencies. Set to `false` to use frozen lockfile installs even when\n`mutableBuild` is enabled.",
            "stability": "experimental",
            "summary": "Perform a mutable (non-frozen) install during builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 412
          },
          "name": "mutableInstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 420
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 427
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/javascript/node-project:BuildWorkflowOptions"
    },
    "projen.javascript.Bundle": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.Bundle",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 258
      },
      "name": "Bundle",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The task that produces this bundle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 262
          },
          "name": "bundleTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Base directory containing the output file (relative to project root)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 277
          },
          "name": "outdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Location of the output file (relative to project root)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 272
          },
          "name": "outfile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The \"watch\" task for this bundle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 267
          },
          "name": "watchTask",
          "optional": true,
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/javascript/bundler:Bundle"
    },
    "projen.javascript.BundleLogLevel": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Log levels for esbuild and package managers' install commands."
      },
      "fqn": "projen.javascript.BundleLogLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 646
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show everything."
          },
          "name": "VERBOSE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show everything from info and some additional messages for debugging."
          },
          "name": "DEBUG"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show warnings, errors, and an output file summary."
          },
          "name": "INFO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show warnings and errors."
          },
          "name": "WARNING"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show errors only."
          },
          "name": "ERROR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Show nothing."
          },
          "name": "SILENT"
        }
      ],
      "name": "BundleLogLevel",
      "namespace": "javascript",
      "symbolId": "src/javascript/bundler:BundleLogLevel"
    },
    "projen.javascript.Bundler": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "In the future, this will also supports bundling websites.",
        "stability": "experimental",
        "summary": "Adds support for bundling JavaScript applications and dependencies into a single file."
      },
      "fqn": "projen.javascript.Bundler",
      "initializer": {
        "docs": {
          "stability": "experimental",
          "summary": "Creates a `Bundler`."
        },
        "locationInModule": {
          "filename": "src/javascript/bundler.ts",
          "line": 81
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.BundlerOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 52
      },
      "methods": [
        {
          "docs": {
            "returns": "A bundler",
            "stability": "experimental",
            "summary": "Returns the `Bundler` instance associated with a project or `undefined` if there is no Bundler."
          },
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 59
          },
          "name": "of",
          "parameters": [
            {
              "docs": {
                "summary": "The project."
              },
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.Bundler"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a task to the project which bundles a specific entrypoint and all of its dependencies into a single javascript output file."
          },
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 122
          },
          "name": "addBundle",
          "parameters": [
            {
              "docs": {
                "summary": "The relative path of the artifact within the project."
              },
              "name": "entrypoint",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Bundling options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.javascript.AddBundleOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.Bundle"
            }
          }
        }
      ],
      "name": "Bundler",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Root bundle directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 72
          },
          "name": "bundledir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "If the project doesn't have a \"bundle\" task, it will be created and spawned\nduring the pre-compile phase.",
            "stability": "experimental",
            "summary": "Gets or creates the singleton \"bundle\" task of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 97
          },
          "name": "bundleTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The semantic version requirement for `esbuild` (if defined)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 67
          },
          "name": "esbuildVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/bundler:Bundler"
    },
    "projen.javascript.BundlerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Bundler`."
      },
      "fqn": "projen.javascript.BundlerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 15
      },
      "name": "BundlerOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"assets\"",
            "stability": "experimental",
            "summary": "Output directory for all bundles."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 27
          },
          "name": "assetsDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no specific version (implies latest)",
            "stability": "experimental",
            "summary": "The semantic version requirement for `esbuild`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 21
          },
          "name": "esbuildVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Loaders are appended to the esbuild command by `--loader:.extension=loader`",
            "stability": "experimental",
            "summary": "Map of file extensions (without dot) and loaders to use for this file type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 45
          },
          "name": "loaders",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RunBundleTask.PRE_COMPILE",
            "remarks": "Note: If using `addBundle()` with the `bundleCompiledResults`, this option\nmust be set to `RunBundleTask.POST_COMPILE` or `RunBundleTask.MANUAL`.",
            "see": "AddBundleOptions.bundleCompiledResults *",
            "stability": "experimental",
            "summary": "Choose which phase (if any) to add the `bundle` command to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 39
          },
          "name": "runBundleTask",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.RunBundleTask"
          }
        }
      ],
      "symbolId": "src/javascript/bundler:BundlerOptions"
    },
    "projen.javascript.BundlingOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for bundling."
      },
      "fqn": "projen.javascript.BundlingOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 283
      },
      "name": "BundlingOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Instead of being bundled, the import will be preserved (using require for\nthe iife and cjs formats and using import for the esm format) and will be\nevaluated at run time instead.\n\nThis has several uses. First of all, it can be used to trim unnecessary\ncode from your bundle for a code path that you know will never be executed.\nFor example, a package may contain code that only runs in node but you will\nonly be using that package in the browser. It can also be used to import\ncode in node at run time from a package that cannot be bundled. For\nexample, the fsevents package contains a native extension, which esbuild\ndoesn't support.",
            "stability": "experimental",
            "summary": "You can mark a file or a package as external to exclude it from your build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 300
          },
          "name": "externals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Include a source map in the bundle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 307
          },
          "name": "sourcemap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This can be used\nto continusouly watch for changes.",
            "stability": "experimental",
            "summary": "In addition to the `bundle:xyz` task, creates `bundle:xyz:watch` task which will invoke the same esbuild command with the `--watch` flag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/bundler.ts",
            "line": 316
          },
          "name": "watchTask",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/bundler:BundlingOptions"
    },
    "projen.javascript.Charset": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Charset for esbuild's output."
      },
      "fqn": "projen.javascript.Charset",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 627
      },
      "members": [
        {
          "docs": {
            "remarks": "Any non-ASCII characters are escaped using backslash escape sequences",
            "stability": "experimental",
            "summary": "ASCII."
          },
          "name": "ASCII"
        },
        {
          "docs": {
            "remarks": "Keep original characters without using escape sequences",
            "stability": "experimental",
            "summary": "UTF-8."
          },
          "name": "UTF8"
        }
      ],
      "name": "Charset",
      "namespace": "javascript",
      "symbolId": "src/javascript/bundler:Charset"
    },
    "projen.javascript.CodeArtifactAuthProvider": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Options for authorizing requests to a AWS CodeArtifact npm repository."
      },
      "fqn": "projen.javascript.CodeArtifactAuthProvider",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 516
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Fixed credentials provided via Github secrets."
          },
          "name": "ACCESS_AND_SECRET_KEY_PAIR"
        },
        {
          "docs": {
            "remarks": "See:\nhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html\nhttps://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services",
            "stability": "experimental",
            "summary": "Ephemeral credentials provided via Github's OIDC integration with an IAM role."
          },
          "name": "GITHUB_OIDC"
        }
      ],
      "name": "CodeArtifactAuthProvider",
      "namespace": "javascript",
      "symbolId": "src/javascript/node-package:CodeArtifactAuthProvider"
    },
    "projen.javascript.CodeArtifactOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for publishing npm packages to AWS CodeArtifact."
      },
      "fqn": "projen.javascript.CodeArtifactOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 534
      },
      "name": "CodeArtifactOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- When the `authProvider` value is set to\n`CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is\n\"AWS_ACCESS_KEY_ID\". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this\nvalue must be left undefined.",
            "remarks": "This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).",
            "stability": "experimental",
            "summary": "GitHub secret which contains the AWS access key ID to use when publishing packages to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 551
          },
          "name": "accessKeyIdSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR",
            "stability": "experimental",
            "summary": "Provider to use for authorizing requests to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 540
          },
          "name": "authProvider",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.CodeArtifactAuthProvider"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "When using the `CodeArtifactAuthProvider.GITHUB_OIDC` auth provider, this value must be defined.",
            "stability": "experimental",
            "summary": "ARN of AWS role to be assumed prior to get authorization token from AWS CodeArtifact This property must be specified only when publishing to AWS CodeArtifact (`registry` contains AWS CodeArtifact URL)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 571
          },
          "name": "roleToAssume",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- When the `authProvider` value is set to\n`CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is\n\"AWS_SECRET_ACCESS_KEY\". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this\nvalue must be left undefined.",
            "remarks": "This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).",
            "stability": "experimental",
            "summary": "GitHub secret which contains the AWS secret access key to use when publishing packages to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 562
          },
          "name": "secretAccessKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:CodeArtifactOptions"
    },
    "projen.javascript.CoverageThreshold": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.CoverageThreshold",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 694
      },
      "name": "CoverageThreshold",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 695
          },
          "name": "branches",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 696
          },
          "name": "functions",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 697
          },
          "name": "lines",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 698
          },
          "name": "statements",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/javascript/jest:CoverageThreshold"
    },
    "projen.javascript.DevEngineDependency": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "A dependency entry for the `devEngines` field in `package.json`."
      },
      "fqn": "projen.javascript.DevEngineDependency",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 460
      },
      "name": "DevEngineDependency",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the dependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 464
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"error\"",
            "stability": "experimental",
            "summary": "What action to take if validation fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 478
          },
          "name": "onFail",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"*\"",
            "stability": "experimental",
            "summary": "The version range for the dependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 471
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:DevEngineDependency"
    },
    "projen.javascript.DevEngines": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines",
        "stability": "experimental",
        "summary": "The `devEngines` field in `package.json`."
      },
      "fqn": "projen.javascript.DevEngines",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 486
      },
      "name": "DevEngines",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Supported CPU architectures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 495
          },
          "name": "cpu",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "projen.javascript.DevEngineDependency"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.javascript.DevEngineDependency"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Supported C standard libraries."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 500
          },
          "name": "libc",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "projen.javascript.DevEngineDependency"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.javascript.DevEngineDependency"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Supported operating systems."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 490
          },
          "name": "os",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "projen.javascript.DevEngineDependency"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.javascript.DevEngineDependency"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Supported package managers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 510
          },
          "name": "packageManager",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "projen.javascript.DevEngineDependency"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.javascript.DevEngineDependency"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Supported JavaScript runtimes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 505
          },
          "name": "runtime",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "projen.javascript.DevEngineDependency"
                },
                {
                  "collection": {
                    "elementtype": {
                      "fqn": "projen.javascript.DevEngineDependency"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/javascript/node-package:DevEngines"
    },
    "projen.javascript.EmbeddedLanguageFormatting": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.EmbeddedLanguageFormatting",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 226
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Format embedded code if Prettier can automatically identify it."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Never automatically format embedded code."
          },
          "name": "OFF"
        }
      ],
      "name": "EmbeddedLanguageFormatting",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:EmbeddedLanguageFormatting"
    },
    "projen.javascript.EndOfLine": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.EndOfLine",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 238
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Maintain existing (mixed values within one file are normalised by looking at what's used after the first line)."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Carriage Return character only (\\r), used very rarely."
          },
          "name": "CR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Carriage Return + Line Feed characters (\\r\\n), common on Windows."
          },
          "name": "CRLF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos."
          },
          "name": "LF"
        }
      ],
      "name": "EndOfLine",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:EndOfLine"
    },
    "projen.javascript.Eslint": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Represents eslint configuration."
      },
      "fqn": "projen.javascript.Eslint",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/eslint.ts",
          "line": 216
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.javascript.EslintOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/eslint.ts",
        "line": 166
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the singleton Eslint component of a project or undefined if there is none."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 170
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.Eslint"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds an `extends` item to the eslint configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 530
          },
          "name": "addExtends",
          "parameters": [
            {
              "docs": {
                "summary": "The list of \"extends\" to add."
              },
              "name": "extendList",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Do not lint these files."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 522
          },
          "name": "addIgnorePattern",
          "parameters": [
            {
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a file, glob pattern or directory with source files to lint (e.g. [ \"src\" ])."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 488
          },
          "name": "addLintPattern",
          "parameters": [
            {
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add an eslint override."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 515
          },
          "name": "addOverride",
          "parameters": [
            {
              "name": "override",
              "type": {
                "fqn": "projen.javascript.EslintOverride"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds an eslint plugin."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 506
          },
          "name": "addPlugins",
          "parameters": [
            {
              "docs": {
                "summary": "The names of plugins to add."
              },
              "name": "plugins",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add an eslint rule."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 496
          },
          "name": "addRules",
          "parameters": [
            {
              "name": "rules",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Only has an effect when the project service is enabled (see\n`EslintOptions.projectService`). This is typically used for loose files\nthat live outside `src`/`test` (e.g. `.projenrc.ts`).",
            "see": "https://typescript-eslint.io/packages/parser/#allowdefaultproject",
            "stability": "experimental",
            "summary": "Allow files matching these patterns to be linted with the typescript-eslint \"default project\" when they are not included by any `tsconfig.json`."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 555
          },
          "name": "allowDefaultProjectFiles",
          "parameters": [
            {
              "docs": {
                "summary": "glob patterns, relative to the project root."
              },
              "name": "patterns",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a glob file pattern which allows importing dev dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 540
          },
          "name": "allowDevDeps",
          "parameters": [
            {
              "docs": {
                "summary": "glob pattern."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Runs eslint once, right after the project is first created, so the generated code is linted (and auto-fixed) immediately."
          },
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 599
          },
          "name": "postProjectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "_initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Eslint",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Direct access to the eslint configuration (escape hatch)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 198
          },
          "name": "config",
          "type": {
            "primitive": "any"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "eslint task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 193
          },
          "name": "eslintTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The underlying config file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 178
          },
          "name": "file",
          "type": {
            "fqn": "projen.ObjectFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "File patterns that should not be linted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 203
          },
          "name": "ignorePatterns",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns an immutable copy of the lintPatterns being used by this eslint configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 477
          },
          "name": "lintPatterns",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "eslint overrides."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 188
          },
          "name": "overrides",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.EslintOverride"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "eslint rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 183
          },
          "name": "rules",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/javascript/eslint:Eslint"
    },
    "projen.javascript.EslintCommandOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.EslintCommandOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/eslint.ts",
        "line": 107
      },
      "name": "EslintCommandOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "[\"--cache\", \"--max-warnings=0\"]",
            "remarks": "Each element is passed to eslint as a single argument, exactly as given: no\nshell parses these, so a flag and its value need separate elements\n(`[\"--rulesdir\", \"my rules\"]`, not `[\"--rulesdir 'my rules'\"]`) and values\nmust not be quoted.",
            "stability": "experimental",
            "summary": "Extra flag arguments to pass to eslint command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 124
          },
          "name": "extraArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether to fix eslint issues when running the eslint task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 112
          },
          "name": "fix",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/eslint:EslintCommandOptions"
    },
    "projen.javascript.EslintOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.EslintOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/eslint.ts",
        "line": 12
      },
      "name": "EslintOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Files or glob patterns or directories with source files to lint (e.g. [ \"src\" ])."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 39
          },
          "name": "dirs",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Enable import alias for module paths."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 91
          },
          "name": "aliasExtensions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Enable import alias for module paths."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 85
          },
          "name": "aliasMap",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for eslint command executed by eslint task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 57
          },
          "name": "commandOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.EslintCommandOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "These sources are linted but may also import packages from `devDependencies`.",
            "stability": "experimental",
            "summary": "Files or glob patterns or directories with source files that include tests and build tools."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 47
          },
          "name": "devdirs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[\".ts\"]",
            "stability": "experimental",
            "summary": "File types that should be linted (e.g. [ \".js\", \".ts\" ])."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 52
          },
          "name": "fileExtensions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[ '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage' ]",
            "stability": "experimental",
            "summary": "List of file patterns that should not be linted, using the same syntax as .gitignore patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 65
          },
          "name": "ignorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable prettier for code formatting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 71
          },
          "name": "prettier",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "When enabled, typescript-eslint resolves the nearest `tsconfig.json` for\neach linted file (the same resolution model used by the TypeScript language\nservice / `tsserver`). This allows files in different directories (e.g.\n`src` and `test`) to be linted against the `tsconfig.json` that actually\nincludes them, without maintaining a single config that lists every file.\n\nRequires `@typescript-eslint/*` v8 or newer.",
            "see": "https://typescript-eslint.io/blog/project-service/",
            "stability": "experimental",
            "summary": "Use the typescript-eslint \"project service\" for typed linting instead of a single `parserOptions.project`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 34
          },
          "name": "projectService",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Use known ESLint best practices to place \"prettier\" plugins at the end of the array",
            "remarks": "This option allows to sort the extends array in any way seen fit.",
            "stability": "experimental",
            "summary": "The extends array in eslint is order dependent."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 79
          },
          "name": "sortExtends",
          "optional": true,
          "type": {
            "fqn": "projen.ICompareString"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This prevents `import/no-unresolved` eslint errors when importing a `@types/*` module that would otherwise remain unresolved.",
            "stability": "experimental",
            "summary": "Always try to resolve types under `<root>@types` directory even it doesn't contain any source code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 98
          },
          "name": "tsAlwaysTryTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"./tsconfig.json\"",
            "stability": "experimental",
            "summary": "Path to `tsconfig.json` which should be used by eslint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 17
          },
          "name": "tsconfigPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Write eslint configuration as YAML instead of JSON."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 104
          },
          "name": "yaml",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/eslint:EslintOptions"
    },
    "projen.javascript.EslintOverride": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "eslint rules override."
      },
      "fqn": "projen.javascript.EslintOverride",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/eslint.ts",
        "line": 130
      },
      "name": "EslintOverride",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Files or file patterns on which to apply the override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 134
          },
          "name": "files",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If a file matches any of the excluded patterns, the configuration won’t apply.",
            "stability": "experimental",
            "summary": "Pattern(s) to exclude from this override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 140
          },
          "name": "excludedFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Config(s) to extend in this override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 155
          },
          "name": "extends",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The overridden parser."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 150
          },
          "name": "parser",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "`plugins` override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 160
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The overridden rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/eslint.ts",
            "line": 145
          },
          "name": "rules",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/javascript/eslint:EslintOverride"
    },
    "projen.javascript.FakeTimers": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://jestjs.io/docs/configuration#faketimers-object",
        "stability": "experimental",
        "summary": "The default configuration of fake timers for all tests."
      },
      "fqn": "projen.javascript.FakeTimers",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 726
      },
      "name": "FakeTimers",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "A custom time delta may be provided by passing a number.",
            "stability": "experimental",
            "summary": "If set to `true` all timers will be advanced automatically by 20 milliseconds every 20 milliseconds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 732
          },
          "name": "advanceTimers",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "number"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [] (all APIs are faked)",
            "stability": "experimental",
            "summary": "List of names of APIs (e.g. `Date`, `nextTick`, `setTimeout`) that should not be faked."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 738
          },
          "name": "doNotFake",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Whether fake timers should be enabled for all test files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 744
          },
          "name": "enableGlobally",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Use the old fake timers implementation instead of one backed by `@sinonjs/fake-timers`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 750
          },
          "name": "legacyFakeTimers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Date.now()",
            "stability": "experimental",
            "summary": "Sets current system time to be used by fake timers, in milliseconds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 756
          },
          "name": "now",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 100000",
            "stability": "experimental",
            "summary": "Maximum number of recursive timers that will be run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 762
          },
          "name": "timerLimit",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/javascript/jest:FakeTimers"
    },
    "projen.javascript.HTMLWhitespaceSensitivity": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.HTMLWhitespaceSensitivity",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 261
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Respect the default value of CSS display property."
          },
          "name": "CSS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whitespaces are considered insignificant."
          },
          "name": "IGNORE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whitespaces are considered significant."
          },
          "name": "STRICT"
        }
      ],
      "name": "HTMLWhitespaceSensitivity",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:HTMLWhitespaceSensitivity"
    },
    "projen.javascript.HasteConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.HasteConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 713
      },
      "name": "HasteConfig",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 714
          },
          "name": "computeSha1",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 715
          },
          "name": "defaultPlatform",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 716
          },
          "name": "hasteImplModulePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 717
          },
          "name": "platforms",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 718
          },
          "name": "throwOnModuleCollision",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/jest:HasteConfig"
    },
    "projen.javascript.InstallReason": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Why a dependency install was triggered during synthesis."
      },
      "fqn": "projen.javascript.InstallReason",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2423
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The node_modules directory does not exist."
          },
          "name": "NO_NODE_MODULES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The package.json file was modified during synthesis."
          },
          "name": "PACKAGE_JSON_CHANGED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Wildcard dependency versions were resolved to concrete ranges."
          },
          "name": "DEPS_RESOLVED"
        }
      ],
      "name": "InstallReason",
      "namespace": "javascript",
      "symbolId": "src/javascript/node-package:InstallReason"
    },
    "projen.javascript.InstallTrigger": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Describes why dependencies need to be installed."
      },
      "fqn": "projen.javascript.InstallTrigger",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2435
      },
      "name": "InstallTrigger",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The reason for the install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2437
          },
          "name": "reason",
          "type": {
            "fqn": "projen.javascript.InstallReason"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A unified diff of the package.json changes. Only present when reason is `PACKAGE_JSON_CHANGED`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2443
          },
          "name": "diff",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only present when reason is `DEPS_RESOLVED`.",
            "stability": "experimental",
            "summary": "Human-readable descriptions of resolved dependency version changes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2449
          },
          "name": "resolutions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/node-package:InstallTrigger"
    },
    "projen.javascript.Jest": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "- `test`, intended for testing locally and in CI. Will update snapshots unless `updateSnapshot: UpdateSnapshot: NEVER` is set.\n- `test:watch`, intended for automatically rerunning tests when files change.\n- `test:update`, intended for testing locally and updating snapshots to match the latest unit under test. Only available when `updateSnapshot: UpdateSnapshot: NEVER`.",
        "stability": "experimental",
        "summary": "Installs the following npm scripts:."
      },
      "fqn": "projen.javascript.Jest",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/jest.ts",
          "line": 898
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.JestOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 859
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the singleton Jest component of a project or undefined if there is none."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 863
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.Jest"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1077
          },
          "name": "addIgnorePattern",
          "parameters": [
            {
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Will overwrite if the same key is used as a pre-existing one.",
            "stability": "experimental",
            "summary": "Adds one or more moduleNameMapper entries to Jest's configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1119
          },
          "name": "addModuleNameMappers",
          "parameters": [
            {
              "docs": {
                "summary": "- A map from regular expressions to module names or to arrays of module names that allow to stub out resources, like images or styles with a single module."
              },
              "name": "moduleNameMapperAdditions",
              "type": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "primitive": "string"
                        },
                        {
                          "collection": {
                            "elementtype": {
                              "primitive": "string"
                            },
                            "kind": "array"
                          }
                        }
                      ]
                    }
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds one or more modulePaths to Jest's configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1134
          },
          "name": "addModulePaths",
          "parameters": [
            {
              "docs": {
                "summary": "- An array of absolute paths to additional locations to search when resolving modules   *."
              },
              "name": "modulePaths",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1081
          },
          "name": "addReporter",
          "parameters": [
            {
              "name": "reporter",
              "type": {
                "fqn": "projen.javascript.JestReporter"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds one or more roots to Jest's configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1146
          },
          "name": "addRoots",
          "parameters": [
            {
              "docs": {
                "summary": "- A list of paths to directories that Jest should use to search for files in."
              },
              "name": "roots",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a a setup file to Jest's setupFiles configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1089
          },
          "name": "addSetupFile",
          "parameters": [
            {
              "docs": {
                "summary": "File path to setup file."
              },
              "name": "file",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a a setup file to Jest's setupFilesAfterEnv configuration."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1100
          },
          "name": "addSetupFileAfterEnv",
          "parameters": [
            {
              "docs": {
                "summary": "File path to setup file."
              },
              "name": "file",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1107
          },
          "name": "addSnapshotResolver",
          "parameters": [
            {
              "name": "file",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a test match pattern."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1030
          },
          "name": "addTestMatch",
          "parameters": [
            {
              "docs": {
                "summary": "glob pattern to match for tests."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a watch ignore pattern."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1073
          },
          "name": "addWatchIgnorePattern",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern (regular expression)."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Build standard test match patterns for a directory."
          },
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 1039
          },
          "name": "discoverTestMatchPatternsForDirs",
          "parameters": [
            {
              "docs": {
                "remarks": "Matches any folder if not specified or an empty array.",
                "summary": "The directories to add test matches for."
              },
              "name": "dirs",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            },
            {
              "docs": {
                "summary": "Options for building test match patterns."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.javascript.JestDiscoverTestMatchPatternsForDirsOptions"
              }
            }
          ]
        }
      ],
      "name": "Jest",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Escape hatch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 873
          },
          "name": "config",
          "type": {
            "primitive": "any"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Jest version, including `@` symbol, like `@^29`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 878
          },
          "name": "jestVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 868
          },
          "name": "project",
          "overrides": "projen.Component",
          "type": {
            "fqn": "projen.javascript.NodeProject"
          }
        },
        {
          "docs": {
            "remarks": "`undefined` if settings are written to `package.json`",
            "stability": "experimental",
            "summary": "Jest config file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 883
          },
          "name": "file",
          "optional": true,
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/javascript/jest:Jest"
    },
    "projen.javascript.JestConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.JestConfigOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 13
      },
      "name": "JestConfigOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Escape hatch to allow any value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 569
          },
          "name": "additionalOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "All modules used in your tests will have a replacement implementation, keeping the API surface",
            "stability": "experimental",
            "summary": "This option tells Jest that all imported modules in your tests should be mocked automatically."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 19
          },
          "name": "automock",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 0",
            "remarks": "The bail config option can be used here to have Jest stop running tests after n failures.\nSetting bail to true is the same as setting bail to 1.",
            "stability": "experimental",
            "summary": "By default, Jest runs all tests and produces all errors into the console upon completion."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 27
          },
          "name": "bail",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "number"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"/tmp/<path>\"",
            "stability": "experimental",
            "summary": "The directory where Jest should store its cached dependency information."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 33
          },
          "name": "cacheDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Equivalent to calling jest.clearAllMocks() before each test.\nThis does not remove any mock implementation that may have been provided",
            "stability": "experimental",
            "summary": "Automatically clear mock calls and instances before every test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 41
          },
          "name": "clearMocks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Because this retrofits all executed files with coverage collection statements,\nit may significantly slow down your tests",
            "stability": "experimental",
            "summary": "Indicates whether the coverage information should be collected while executing the test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 49
          },
          "name": "collectCoverage",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "An array of glob patterns indicating a set of files for which coverage information should be collected."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 55
          },
          "name": "collectCoverageFrom",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"coverage\"",
            "stability": "experimental",
            "summary": "The directory where Jest should output its coverage files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 61
          },
          "name": "coverageDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"/node_modules/\"",
            "remarks": "If the file path matches any of the patterns, coverage information will be skipped",
            "stability": "experimental",
            "summary": "An array of regexp pattern strings that are matched against all file paths before executing the test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 68
          },
          "name": "coveragePathIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"v8\"",
            "remarks": "Allowed values are v8 (default) or babel",
            "stability": "experimental",
            "summary": "Indicates which provider should be used to instrument code for coverage."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 75
          },
          "name": "coverageProvider",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"json\", \"lcov\", \"clover\", \"cobertura\", \"text\"]",
            "remarks": "Any istanbul reporter can be used",
            "stability": "experimental",
            "summary": "A list of reporter names that Jest uses when writing coverage reports."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 81
          },
          "name": "coverageReporters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This will be used to configure minimum threshold enforcement\nfor coverage results. Thresholds can be specified as global, as a glob, and as a directory or file path.\nIf thresholds aren't met, jest will fail.",
            "stability": "experimental",
            "summary": "Specify the global coverage thresholds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 89
          },
          "name": "coverageThreshold",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.CoverageThreshold"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "It must be a node module that exports an object with an extract function",
            "stability": "experimental",
            "summary": "This option allows the use of a custom dependency extractor."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 96
          },
          "name": "dependencyExtractor",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "Allows for a label to be printed alongside a test while it is running."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 102
          },
          "name": "displayName",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Useful for easing the upgrade process.",
            "stability": "experimental",
            "summary": "Make calling deprecated APIs throw helpful error messages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 108
          },
          "name": "errorOnDeprecated",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "stability": "experimental",
            "summary": "Jest will run `.mjs` and `.js` files with nearest package.json's `type` field set to `module` as ECMAScript Modules. If you have any other files that should run with native ESM, you need to specify their file extension here."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 116
          },
          "name": "extensionsToTreatAsEsm",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "deprecated": "Renamed to `sandboxInjectedGlobals` in Jest 28. Use `sandboxInjectedGlobals` instead.",
            "stability": "deprecated",
            "summary": "Test files run inside a vm, which slows calls to global context properties (e.g. Math). With this option you can specify extra properties to be defined inside the vm for faster lookups."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 124
          },
          "name": "extraGlobals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {}",
            "remarks": "This option provides the default configuration of fake timers for all tests.",
            "stability": "experimental",
            "summary": "The fake timers may be useful when a piece of code sets a long timeout that we don't want to wait for in a test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 131
          },
          "name": "fakeTimers",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.FakeTimers"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ['']",
            "remarks": "With this option, you can overwrite this behavior and include otherwise ignored files in code coverage.",
            "stability": "experimental",
            "summary": "Test files are normally ignored from collecting code coverage."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 138
          },
          "name": "forceCoverageMatch",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {}",
            "stability": "experimental",
            "summary": "A set of global variables that need to be available in all test environments."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 144
          },
          "name": "globals",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This function gets Jest's globalConfig object as a parameter.",
            "stability": "experimental",
            "summary": "This option allows the use of a custom global setup module which exports an async function that is triggered once before all test suites."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 151
          },
          "name": "globalSetup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This function gets Jest's globalConfig object as a parameter.",
            "stability": "experimental",
            "summary": "This option allows the use of a custom global teardown module which exports an async function that is triggered once after all test suites."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 158
          },
          "name": "globalTeardown",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {}",
            "stability": "experimental",
            "summary": "This will be used to configure the behavior of jest-haste-map, Jest's internal file crawler/cache system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 164
          },
          "name": "haste",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.HasteConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "jest": "/globals"
            },
            "default": "- true",
            "stability": "experimental",
            "summary": "Insert Jest's globals (expect, test, describe, beforeEach etc.) into the global environment. If you set this to false, you should import from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 171
          },
          "name": "injectGlobals",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 5",
            "stability": "experimental",
            "summary": "A number limiting the number of tests that are allowed to run at the same time when using test.concurrent. Any test above this limit will be queued and executed once a slot is released."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 178
          },
          "name": "maxConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the number of the cores available on your machine minus one for the main thread",
            "remarks": "In single run mode,\nthis defaults to the number of the cores available on your machine minus one for the main thread\nIn watch mode, this defaults to half of the available cores on your machine.\nFor environments with variable CPUs available, you can use percentage based configuration: \"maxWorkers\": \"50%\"",
            "stability": "experimental",
            "summary": "Specifies the maximum number of workers the worker-pool will spawn for running tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 187
          },
          "name": "maxWorkers",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "number"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"node_modules\"]",
            "remarks": "Setting this option will override the default, if you wish to still search node_modules for packages\ninclude it along with any other options: [\"node_modules\", \"bower_components\"]",
            "stability": "experimental",
            "summary": "An array of directory names to be searched recursively up from the requiring module's location."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 195
          },
          "name": "moduleDirectories",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"js\", \"json\", \"jsx\", \"ts\", \"tsx\", \"node\"]",
            "remarks": "If you require modules without specifying a file extension,\nthese are the extensions Jest will look for, in left-to-right order.",
            "stability": "experimental",
            "summary": "An array of file extensions your modules use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 202
          },
          "name": "moduleFileExtensions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- null",
            "stability": "experimental",
            "summary": "A map from regular expressions to module names or to arrays of module names that allow to stub out resources, like images or styles with a single module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 209
          },
          "name": "moduleNameMapper",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "primitive": "string"
                        },
                        "kind": "array"
                      }
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "remarks": "If a given module's path matches any of the patterns,\nit will not be require()-able in the test environment.",
            "stability": "experimental",
            "summary": "An array of regexp pattern strings that are matched against all module paths before those paths are to be considered 'visible' to the module loader."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 217
          },
          "name": "modulePathIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "remarks": "Use the <rootDir> string token to include\nthe path to your project's root directory. Example: [\"<rootDir>/app/\"].",
            "stability": "experimental",
            "summary": "An alternative API to setting the NODE_PATH env variable, modulePaths is an array of absolute paths to additional locations to search when resolving modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 225
          },
          "name": "modulePaths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Activates notifications for test results."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 231
          },
          "name": "notify",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- failure-change",
            "remarks": "Requires notify: true",
            "stability": "experimental",
            "summary": "Specifies notification mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 237
          },
          "name": "notifyMode",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 1000",
            "remarks": "Use `0` to disable the warning.",
            "stability": "experimental",
            "summary": "Print a warning indicating that there are probable open handles if Jest does not exit cleanly this number of milliseconds after it completes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 250
          },
          "name": "openHandlesTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "A preset should point to an npm module\nthat has a jest-preset.json or jest-preset.js file at the root.",
            "stability": "experimental",
            "summary": "A preset that is used as a base for Jest's configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 257
          },
          "name": "preset",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"prettier\"",
            "stability": "experimental",
            "summary": "Sets the path to the prettier node module used to update inline snapshots."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 263
          },
          "name": "prettierPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This is great for monorepos or\nwhen working on multiple projects at the same time.",
            "stability": "experimental",
            "summary": "When the projects configuration is provided with an array of paths or glob patterns, Jest will run tests in all of the specified projects at the same time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 271
          },
          "name": "projects",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "primitive": "any"
                        },
                        "kind": "map"
                      }
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "The equivalent of the `--randomize` flag to randomize the order of the tests in a file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 277
          },
          "name": "randomize",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "A custom reporter is a class\nthat implements onRunStart, onTestStart, onTestResult, onRunComplete methods that will be\ncalled when any of those events occurs.",
            "stability": "experimental",
            "summary": "Use this configuration option to add custom reporters to Jest."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 285
          },
          "name": "reporters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.JestReporter"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Equivalent to calling jest.resetAllMocks()\nbefore each test. This will lead to any mocks having their fake implementations removed but\ndoes not restore their initial implementation.",
            "stability": "experimental",
            "summary": "Automatically reset mock state before every test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 293
          },
          "name": "resetMocks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Enabling resetModules\ngoes a step further and resets the module registry before running each individual test.",
            "stability": "experimental",
            "summary": "By default, each test file gets its own independent module registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 300
          },
          "name": "resetModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "https://jestjs.io/docs/en/configuration#resolver-string",
            "stability": "experimental",
            "summary": "This option allows the use of a custom resolver."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 307
          },
          "name": "resolver",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Equivalent to calling jest.restoreAllMocks()\nbefore each test. This will lead to any mocks having their fake implementations removed and\nrestores their initial implementation.",
            "stability": "experimental",
            "summary": "Automatically restore mock state before every test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 315
          },
          "name": "restoreMocks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- directory of the package.json",
            "remarks": "If you put your Jest\nconfig inside your package.json and want the root directory to be the root of your repo, the\nvalue for this config param will default to the directory of the package.json.",
            "stability": "experimental",
            "summary": "The root directory that Jest should scan for tests and modules within."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 323
          },
          "name": "rootDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"<rootDir>\"]",
            "stability": "experimental",
            "summary": "A list of paths to directories that Jest should use to search for files in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 329
          },
          "name": "roots",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"jest-runner\"",
            "stability": "experimental",
            "summary": "This option allows you to use a custom runner instead of Jest's default test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 342
          },
          "name": "runner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"jest-runtime\"",
            "remarks": "A custom runtime can be\nprovided by specifying a path to a runtime implementation.",
            "stability": "experimental",
            "summary": "This option allows the use of a custom runtime to execute test files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 336
          },
          "name": "runtime",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "Test files run inside a vm, which slows calls to global context properties (e.g. Math). With this option you can specify extra properties to be defined inside the vm for faster lookups."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 349
          },
          "name": "sandboxInjectedGlobals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "remarks": "Each setupFile will be run once per test file. Since every test runs in its own environment,\nthese scripts will be executed in the testing environment immediately before executing the\ntest code itself.",
            "stability": "experimental",
            "summary": "A list of paths to modules that run some code to configure or set up the testing environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 358
          },
          "name": "setupFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "remarks": "Since setupFiles executes before the test\nframework is installed in the environment, this script file presents you the opportunity of\nrunning some code immediately after the test framework has been installed in the environment.",
            "stability": "experimental",
            "summary": "A list of paths to modules that run some code to configure or set up the testing framework before each test file in the suite is executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 367
          },
          "name": "setupFilesAfterEnv",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "The equivalent of the `--showSeed` flag to print the seed in the test report summary."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 373
          },
          "name": "showSeed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 5",
            "stability": "experimental",
            "summary": "The number of seconds after which a test is considered as slow and reported as such in the results."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 379
          },
          "name": "slowTestThreshold",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {escapeString: false, printBasicPrototype: false}",
            "stability": "experimental",
            "summary": "Allows overriding specific snapshot formatting options documented in the pretty-format readme, with the exceptions of `compareKeys` and `plugins`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 386
          },
          "name": "snapshotFormat",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.SnapshotFormatOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This config option lets you customize\nwhere Jest stores snapshot files on disk.",
            "stability": "experimental",
            "summary": "The path to a module that can resolve test<->snapshot path."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 393
          },
          "name": "snapshotResolver",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "= []",
            "stability": "experimental",
            "summary": "A list of paths to snapshot serializer modules Jest should use for snapshot testing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 399
          },
          "name": "snapshotSerializers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"node\"",
            "remarks": "The default environment in Jest is a\nNode.js environment. If you are building a web app, you can use a browser-like environment\nthrough jsdom instead.",
            "stability": "experimental",
            "summary": "The test environment that will be used for testing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 407
          },
          "name": "testEnvironment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {}",
            "remarks": "The relevant options depend on the environment.",
            "stability": "experimental",
            "summary": "Test environment options that will be passed to the testEnvironment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 414
          },
          "name": "testEnvironmentOptions",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 1",
            "stability": "experimental",
            "summary": "The exit code Jest returns on test failure."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 420
          },
          "name": "testFailureExitCode",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['**\\/__tests__/**\\/*.[jt]s?(x)', '**\\/*(*.)@(spec|test).[tj]s?(x)']",
            "remarks": "By default it looks for .js, .jsx, .ts and .tsx\nfiles inside of __tests__ folders, as well as any files with a suffix of .test or .spec\n(e.g. Component.test.js or Component.spec.js). It will also find files called test.js or spec.js.",
            "stability": "experimental",
            "summary": "The glob patterns Jest uses to detect test files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 428
          },
          "name": "testMatch",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"/node_modules/\"]",
            "remarks": "If the test path matches any of the patterns, it will be skipped.",
            "stability": "experimental",
            "summary": "An array of regexp pattern strings that are matched against all test paths before executing the test."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 435
          },
          "name": "testPathIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- (/__tests__/.*|(\\\\.|/)(test|spec))\\\\.[jt]sx?$",
            "remarks": "By default it looks for .js, .jsx, .ts and .tsx\nfiles inside of __tests__ folders, as well as any files with a suffix of .test or .spec\n(e.g. Component.test.js or Component.spec.js). It will also find files called test.js or spec.js.",
            "stability": "experimental",
            "summary": "The pattern or patterns Jest uses to detect test files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 443
          },
          "name": "testRegex",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "This option allows the use of a custom results processor."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 449
          },
          "name": "testResultsProcessor",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"jest-circus/runner\"",
            "remarks": "The default is jest-circus. A custom test runner\ncan be provided by specifying a path to a test runner implementation.",
            "stability": "experimental",
            "summary": "This option allows the use of a custom test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 456
          },
          "name": "testRunner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"@jest/test-sequencer\"",
            "remarks": "Sort may optionally return a Promise.",
            "stability": "experimental",
            "summary": "This option allows you to use a custom sequencer instead of Jest's default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 463
          },
          "name": "testSequencer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 5000",
            "stability": "experimental",
            "summary": "Default timeout of a test in milliseconds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 469
          },
          "name": "testTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"http://localhost\"",
            "deprecated": "Removed in Jest 28. Use `testEnvironmentOptions.url` instead.",
            "remarks": "It is reflected in properties such as location.href.",
            "stability": "deprecated",
            "summary": "This option sets the URL for the jsdom environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 476
          },
          "name": "testURL",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"real\"",
            "deprecated": "Renamed to `fakeTimers` in Jest 27. Use `fakeTimers` instead.",
            "remarks": "Fake timers are useful when a piece of code sets a long timeout that we don't want to wait for in a test.",
            "stability": "deprecated",
            "summary": "Setting this value to legacy or fake allows the use of fake timers for functions such as setTimeout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 484
          },
          "name": "timers",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- {\"\\\\.[jt]sx?$\": \"babel-jest\"}",
            "remarks": "A transformer is a module that provides a\nsynchronous function for transforming source files.",
            "stability": "experimental",
            "summary": "A map from regular expressions to paths to transformers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 491
          },
          "name": "transform",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.Transform"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"/node_modules/\", \"\\\\.pnp\\\\.[^\\\\\\/]+$\"]",
            "remarks": "If the test path matches any of the patterns, it will not be transformed.",
            "stability": "experimental",
            "summary": "An array of regexp pattern strings that are matched against all source file paths before transformation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 498
          },
          "name": "transformIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- []",
            "remarks": "If a module's path matches any of the patterns in this list, it\nwill not be automatically mocked by the module loader.",
            "stability": "experimental",
            "summary": "An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 506
          },
          "name": "unmockedModulePathPatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "All errors will also\nstill be shown on the bottom after execution. Note that if there is only one test file being run\nit will default to true.",
            "stability": "experimental",
            "summary": "Indicates whether each individual test should be reported during the run."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 514
          },
          "name": "verbose",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Without this flag Jest may report false-positive errors or fail to report actually unhandled rejections.\nThis option may add a noticeable overhead for fast test suites.",
            "stability": "experimental",
            "summary": "Gives one event loop turn to handle `rejectionHandled`, `uncaughtException` or `unhandledRejection`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 522
          },
          "name": "waitForUnhandledRejections",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true",
            "stability": "experimental",
            "summary": "Whether to use watchman for file crawling."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 542
          },
          "name": "watchman",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- [\"/node_modules/\"]",
            "remarks": "If the file path matches any of the patterns, when it is updated, it will not trigger\na re-run of tests.",
            "stability": "experimental",
            "summary": "An array of RegExp patterns that are matched against all source file paths before re-running tests in watch mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 530
          },
          "name": "watchPathIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "-",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 536
          },
          "name": "watchPlugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.WatchPlugin"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 500",
            "remarks": "If a worker does not exit within this timeout, it is force-killed.",
            "stability": "experimental",
            "summary": "Timeout in milliseconds for a worker process to exit gracefully after all tests have completed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 549
          },
          "name": "workerGracefulExitTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "The limit can be specified as a percentage of system memory (e.g. `0.5` or `\"50%\"`)\nor as a fixed byte value (e.g. `\"512MB\"`).",
            "stability": "experimental",
            "summary": "Specifies the memory limit for workers before they are recycled and is primarily a work-around for memory leaks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 557
          },
          "name": "workerIdleMemoryLimit",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "number"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Child processes are used by default.\nUsing worker threads may help to improve performance.",
            "stability": "experimental",
            "summary": "Whether to use worker threads for parallelization."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 564
          },
          "name": "workerThreads",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/jest:JestConfigOptions"
    },
    "projen.javascript.JestDiscoverTestMatchPatternsForDirsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for discoverTestMatchPatternsForDirs."
      },
      "fqn": "projen.javascript.JestDiscoverTestMatchPatternsForDirsOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 575
      },
      "name": "JestDiscoverTestMatchPatternsForDirsOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Defaults to \"[jt]s?(x)\".",
            "stability": "experimental",
            "summary": "The file extension pattern to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 577
          },
          "name": "fileExtensionPattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/jest:JestDiscoverTestMatchPatternsForDirsOptions"
    },
    "projen.javascript.JestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.JestOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 616
      },
      "name": "JestOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- No separate config file, jest settings are stored in package.json",
            "stability": "experimental",
            "summary": "Path to JSON config file for Jest."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 665
          },
          "name": "configFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include the `text` coverage reporter, which means that coverage summary is printed at the end of the jest execution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 623
          },
          "name": "coverageText",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no extra options",
            "example": "[\"--runInBand\", \"--testNamePattern=a test name with spaces\"]",
            "remarks": "Each element is passed to jest as a single argument, exactly as given: no\nshell parses these, so a flag and its value need separate elements\n(`[\"--reporters\", \"jest-junit\"]`, not `[\"--reporters jest-junit\"]`) and\nvalues must not be quoted (`[\"--testPathIgnorePatterns=/node_modules/\"]`,\nnot `[\"--testPathIgnorePatterns='/node_modules/'\"]`).",
            "stability": "experimental",
            "summary": "Additional options to pass to the Jest CLI invocation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 685
          },
          "name": "extraCliOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default jest configuration",
            "stability": "experimental",
            "summary": "Jest configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 671
          },
          "name": "jestConfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.JestConfigOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- installs the latest jest version",
            "remarks": "Note that same version is used as version of `@types/jest` and `ts-jest` (if Typescript in use), so given version should work also for those.\n\nWith Jest 30 ts-jest version 29 is used (if Typescript in use)",
            "stability": "experimental",
            "summary": "The version of jest to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 658
          },
          "name": "jestVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Output directory is `test-reports/`.",
            "stability": "experimental",
            "summary": "Result processing with jest-junit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 632
          },
          "name": "junitReporting",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true",
            "stability": "experimental",
            "summary": "Pass with no tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 691
          },
          "name": "passWithNoTests",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Preserve the default Jest reporter when additional reporters are added."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 639
          },
          "name": "preserveDefaultReporters",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ALWAYS",
            "stability": "experimental",
            "summary": "Whether to update snapshots in task \"test\" (which is executed in task \"build\" and build workflows), or create a separate task \"test:update\" for updating snapshots."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 647
          },
          "name": "updateSnapshot",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.UpdateSnapshot"
          }
        }
      ],
      "symbolId": "src/javascript/jest:JestOptions"
    },
    "projen.javascript.JestReporter": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.JestReporter",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/jest.ts",
          "line": 834
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "any"
                },
                "kind": "map"
              }
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 833
      },
      "name": "JestReporter",
      "namespace": "javascript",
      "symbolId": "src/javascript/jest:JestReporter"
    },
    "projen.javascript.LicenseChecker": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Enforces allowed licenses used by dependencies."
      },
      "fqn": "projen.javascript.LicenseChecker",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/license-checker.ts",
          "line": 54
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.javascript.LicenseCheckerOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/license-checker.ts",
        "line": 51
      },
      "name": "LicenseChecker",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 52
          },
          "name": "task",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/javascript/license-checker:LicenseChecker"
    },
    "projen.javascript.LicenseCheckerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options to configure the license checker."
      },
      "fqn": "projen.javascript.LicenseCheckerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/license-checker.ts",
        "line": 9
      },
      "name": "LicenseCheckerOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no licenses are allowed",
            "remarks": "For the license check to pass, all detected licenses MUST be in this list.\nOnly one of `allowedLicenses` and `prohibitedLicenses` can be provided and must not be empty.",
            "stability": "experimental",
            "summary": "List of SPDX license identifiers that are allowed to be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 29
          },
          "name": "allow",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no licenses are prohibited",
            "remarks": "For the license check to pass, no detected licenses can be in this list.\nOnly one of `allowedLicenses` and `prohibitedLicenses` can be provided and must not be empty.",
            "stability": "experimental",
            "summary": "List of SPDX license identifiers that are prohibited to be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 38
          },
          "name": "deny",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Check development dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 20
          },
          "name": "development",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Check production dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 14
          },
          "name": "production",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"check-licenses\"",
            "stability": "experimental",
            "summary": "The name of the task that is added to check licenses."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/license-checker.ts",
            "line": 45
          },
          "name": "taskName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/license-checker:LicenseCheckerOptions"
    },
    "projen.javascript.NodeConfigFile": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "see": "https://nodejs.org/api/cli.html#configuration-via-nodeconfig",
        "stability": "experimental",
        "summary": "Represents a Node.js configuration file, loaded via `--experimental-config-file`."
      },
      "fqn": "projen.javascript.NodeConfigFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/node-config-file.ts",
          "line": 48
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.NodeConfigFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/node-config-file.ts",
        "line": 27
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the `NodeConfigFile` instance associated with a project or `undefined` if there is none."
          },
          "locationInModule": {
            "filename": "src/javascript/node-config-file.ts",
            "line": 32
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.NodeConfigFile"
            }
          },
          "static": true
        }
      ],
      "name": "NodeConfigFile",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Escape hatch for the generated configuration file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config-file.ts",
            "line": 41
          },
          "name": "config",
          "type": {
            "fqn": "projen.javascript.NodeConfigSchema"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The underlying Node.js configuration file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config-file.ts",
            "line": 46
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/javascript/node-config-file:NodeConfigFile"
    },
    "projen.javascript.NodeConfigFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://nodejs.org/api/cli.html#configuration-via-nodeconfig",
        "stability": "experimental",
        "summary": "Options for `NodeConfigFile`."
      },
      "fqn": "projen.javascript.NodeConfigFileOptions",
      "interfaces": [
        "projen.javascript.NodeConfigSchema"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config-file.ts",
        "line": 12
      },
      "name": "NodeConfigFileOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"node.config.json\"",
            "stability": "experimental",
            "summary": "The path of the generated Node.js configuration file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config-file.ts",
            "line": 18
          },
          "name": "filePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-config-file:NodeConfigFileOptions"
    },
    "projen.javascript.NodeConfigSchema": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "NodeConfigSchema"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeConfigSchema",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config.ts",
        "line": 5
      },
      "name": "NodeConfigSchema",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#nodeOptions"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 14
          },
          "name": "nodeOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NodeConfigSchemaNodeOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#nodeVersion"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 19
          },
          "name": "nodeVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#permission"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 24
          },
          "name": "permission",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NodeConfigSchemaPermission"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#$schema"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 9
          },
          "name": "schema",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#test"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 29
          },
          "name": "test",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NodeConfigSchemaTest"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchema#watch"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 34
          },
          "name": "watch",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NodeConfigSchemaWatch"
          }
        }
      ],
      "symbolId": "src/javascript/node-config:NodeConfigSchema"
    },
    "projen.javascript.NodeConfigSchemaNodeOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "NodeConfigSchemaNodeOptions"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeConfigSchemaNodeOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config.ts",
        "line": 60
      },
      "name": "NodeConfigSchemaNodeOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#addons"
            },
            "stability": "experimental",
            "summary": "disable loading native addons."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 66
          },
          "name": "addons",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-addons"
            },
            "stability": "experimental",
            "summary": "allow use of addons when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 73
          },
          "name": "allowAddons",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-child-process"
            },
            "stability": "experimental",
            "summary": "allow use of child process when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 80
          },
          "name": "allowChildProcess",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-ffi"
            },
            "stability": "experimental",
            "summary": "allow use of FFI when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 87
          },
          "name": "allowFfi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-fs-read"
            },
            "stability": "experimental",
            "summary": "allow permissions to read the filesystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 94
          },
          "name": "allowFsRead",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-fs-write"
            },
            "stability": "experimental",
            "summary": "allow permissions to write in the filesystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 101
          },
          "name": "allowFsWrite",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-inspector"
            },
            "stability": "experimental",
            "summary": "allow use of inspector when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 108
          },
          "name": "allowInspector",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-net"
            },
            "stability": "experimental",
            "summary": "allow use of network when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 115
          },
          "name": "allowNet",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-openssl-store"
            },
            "stability": "experimental",
            "summary": "allow use of OpenSSL STORE loaders when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 122
          },
          "name": "allowOpensslStore",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-wasi"
            },
            "stability": "experimental",
            "summary": "allow wasi when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 129
          },
          "name": "allowWasi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#allow-worker"
            },
            "stability": "experimental",
            "summary": "allow worker threads when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 136
          },
          "name": "allowWorker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#async-context-frame"
            },
            "stability": "experimental",
            "summary": "Improve AsyncLocalStorage performance with AsyncContextFrame."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 143
          },
          "name": "asyncContextFrame",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#conditions"
            },
            "stability": "experimental",
            "summary": "additional user conditions for conditional exports and imports."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 150
          },
          "name": "conditions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#cpu-prof"
            },
            "remarks": "If --cpu-prof-dir is not specified, write the profile to the current working directory.",
            "stability": "experimental",
            "summary": "Start the V8 CPU profiler on start up, and write the CPU profile to disk before exit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 157
          },
          "name": "cpuProf",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#cpu-prof-dir"
            },
            "remarks": "Does not affect --prof.",
            "stability": "experimental",
            "summary": "Directory where the V8 profiles generated by --cpu-prof will be placed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 164
          },
          "name": "cpuProfDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#cpu-prof-interval"
            },
            "remarks": "(default: 1000)",
            "stability": "experimental",
            "summary": "specified sampling interval in microseconds for the V8 CPU profile generated with --cpu-prof."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 171
          },
          "name": "cpuProfInterval",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#cpu-prof-name"
            },
            "stability": "experimental",
            "summary": "specified file name of the V8 CPU profile generated with --cpu-prof."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 178
          },
          "name": "cpuProfName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#debug-arraybuffer-allocations"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 183
          },
          "name": "debugArraybufferAllocations",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#deprecation"
            },
            "stability": "experimental",
            "summary": "silence deprecation warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 190
          },
          "name": "deprecation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#diagnostic-dir"
            },
            "stability": "experimental",
            "summary": "set dir for all output files (default: current working directory)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 197
          },
          "name": "diagnosticDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#disable-proto"
            },
            "stability": "experimental",
            "summary": "disable Object.prototype.__proto__."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 204
          },
          "name": "disableProto",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#disable-sigusr1"
            },
            "stability": "experimental",
            "summary": "Disable inspector thread to be listening for SIGUSR1 signal."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 211
          },
          "name": "disableSigusr1",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#disable-warning"
            },
            "stability": "experimental",
            "summary": "silence specific process warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 218
          },
          "name": "disableWarning",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#disable-wasm-trap-handler"
            },
            "remarks": "V8 will insert inline bound checks when compiling WebAssembly which may slow down performance.",
            "stability": "experimental",
            "summary": "Disable trap-handler-based WebAssembly bound checks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 225
          },
          "name": "disableWasmTrapHandler",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#dns-result-order"
            },
            "stability": "experimental",
            "summary": "set default value of verbatim in dns.lookup. Options are 'ipv4first' (IPv4 addresses are placed before IPv6 addresses) 'ipv6first' (IPv6 addresses are placed before IPv4 addresses) 'verbatim' (addresses are in the order the DNS resolver returned)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 232
          },
          "name": "dnsResultOrder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#enable-fips"
            },
            "stability": "experimental",
            "summary": "enable FIPS crypto at startup."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 239
          },
          "name": "enableFips",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#enable-source-maps"
            },
            "stability": "experimental",
            "summary": "Source Map V3 support for stack traces."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 246
          },
          "name": "enableSourceMaps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#entry-url"
            },
            "stability": "experimental",
            "summary": "Treat the entrypoint as a URL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 253
          },
          "name": "entryUrl",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-addon-modules"
            },
            "stability": "experimental",
            "summary": "experimental import support for addons."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 260
          },
          "name": "experimentalAddonModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-detect-module"
            },
            "stability": "experimental",
            "summary": "when ambiguous modules fail to evaluate because they contain ES module syntax, try again to evaluate them as ES modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 267
          },
          "name": "experimentalDetectModule",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-eventsource"
            },
            "stability": "experimental",
            "summary": "experimental EventSource API."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 274
          },
          "name": "experimentalEventsource",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-ffi"
            },
            "stability": "experimental",
            "summary": "experimental node:ffi module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 281
          },
          "name": "experimentalFfi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-global-navigator"
            },
            "stability": "experimental",
            "summary": "expose experimental Navigator API on the global scope."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 288
          },
          "name": "experimentalGlobalNavigator",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-import-meta-resolve"
            },
            "stability": "experimental",
            "summary": "experimental ES Module import.meta.resolve() parentURL support."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 295
          },
          "name": "experimentalImportMetaResolve",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-loader"
            },
            "stability": "experimental",
            "summary": "use the specified module as a custom loader."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 302
          },
          "name": "experimentalLoader",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-print-required-tla"
            },
            "remarks": "If --require-module is true, evaluate asynchronous graphs loaded by `require()` but do not run the microtasks, in order to find and print top-level await in the graph",
            "stability": "experimental",
            "summary": "Print pending top-level await."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 309
          },
          "name": "experimentalPrintRequiredTla",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-repl-await"
            },
            "stability": "experimental",
            "summary": "experimental await keyword support in REPL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 316
          },
          "name": "experimentalReplAwait",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-require-module"
            },
            "stability": "experimental",
            "summary": "Legacy alias for --require-module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 323
          },
          "name": "experimentalRequireModule",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-shadow-realm"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 328
          },
          "name": "experimentalShadowRealm",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-sqlite"
            },
            "stability": "experimental",
            "summary": "experimental node:sqlite module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 335
          },
          "name": "experimentalSqlite",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-stream-iter"
            },
            "stability": "experimental",
            "summary": "experimental iterable streams API (node:stream/iter)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 342
          },
          "name": "experimentalStreamIter",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-vm-modules"
            },
            "stability": "experimental",
            "summary": "experimental ES Module support in vm module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 349
          },
          "name": "experimentalVmModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-websocket"
            },
            "stability": "experimental",
            "summary": "experimental WebSocket API."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 356
          },
          "name": "experimentalWebsocket",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#experimental-webstorage"
            },
            "stability": "experimental",
            "summary": "experimental Web Storage API."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 363
          },
          "name": "experimentalWebstorage",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#extra-info-on-fatal-exception"
            },
            "stability": "experimental",
            "summary": "hide extra information on fatal exception that causes exit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 370
          },
          "name": "extraInfoOnFatalException",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#force-async-hooks-checks"
            },
            "stability": "experimental",
            "summary": "disable checks for async_hooks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 377
          },
          "name": "forceAsyncHooksChecks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#force-context-aware"
            },
            "stability": "experimental",
            "summary": "disable loading non-context-aware addons."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 384
          },
          "name": "forceContextAware",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#force-fips"
            },
            "stability": "experimental",
            "summary": "force FIPS crypto (cannot be disabled)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 391
          },
          "name": "forceFips",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#force-node-api-uncaught-exceptions-policy"
            },
            "stability": "experimental",
            "summary": "enforces 'uncaughtException' event on Node API asynchronous callbacks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 398
          },
          "name": "forceNodeApiUncaughtExceptionsPolicy",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#frozen-intrinsics"
            },
            "stability": "experimental",
            "summary": "experimental frozen intrinsics support."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 405
          },
          "name": "frozenIntrinsics",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#global-search-paths"
            },
            "stability": "experimental",
            "summary": "disable global module search paths."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 412
          },
          "name": "globalSearchPaths",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heap-prof"
            },
            "remarks": "If --heap-prof-dir is not specified, write the profile to the current working directory.",
            "stability": "experimental",
            "summary": "Start the V8 heap profiler on start up, and write the heap profile to disk before exit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 419
          },
          "name": "heapProf",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heap-prof-dir"
            },
            "stability": "experimental",
            "summary": "Directory where the V8 heap profiles generated by --heap-prof will be placed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 426
          },
          "name": "heapProfDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heap-prof-interval"
            },
            "remarks": "(default: 512 * 1024)",
            "stability": "experimental",
            "summary": "specified sampling interval in bytes for the V8 heap profile generated with --heap-prof."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 433
          },
          "name": "heapProfInterval",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heap-prof-name"
            },
            "stability": "experimental",
            "summary": "specified file name of the V8 heap profile generated with --heap-prof."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 440
          },
          "name": "heapProfName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heapsnapshot-near-heap-limit"
            },
            "remarks": "No more than the specified number of heap snapshots will be generated.",
            "stability": "experimental",
            "summary": "Generate heap snapshots whenever V8 is approaching the heap limit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 447
          },
          "name": "heapsnapshotNearHeapLimit",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#heapsnapshot-signal"
            },
            "stability": "experimental",
            "summary": "Generate heap snapshot on specified signal."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 454
          },
          "name": "heapsnapshotSignal",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#icu-data-dir"
            },
            "stability": "experimental",
            "summary": "set ICU data load path to dir (overrides NODE_ICU_DATA) (note: linked-in ICU data is present)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 461
          },
          "name": "icuDataDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#import"
            },
            "stability": "experimental",
            "summary": "ES module to preload (option can be repeated)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 468
          },
          "name": "import",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#input-type"
            },
            "stability": "experimental",
            "summary": "set module type for string input."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 475
          },
          "name": "inputType",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#insecure-http-parser"
            },
            "stability": "experimental",
            "summary": "use an insecure HTTP parser that accepts invalid HTTP headers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 482
          },
          "name": "insecureHttpParser",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#inspect"
            },
            "stability": "experimental",
            "summary": "activate inspector on host:port (default: 127.0.0.1:9229)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 489
          },
          "name": "inspect",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#inspect-brk"
            },
            "stability": "experimental",
            "summary": "activate inspector on host:port and break at start of user script."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 496
          },
          "name": "inspectBrk",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#inspect-port"
            },
            "stability": "experimental",
            "summary": "set host:port for inspector."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 503
          },
          "name": "inspectPort",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#inspect-publish-uid"
            },
            "stability": "experimental",
            "summary": "comma separated list of destinations for inspector uid(default: stderr,http)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 510
          },
          "name": "inspectPublishUid",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#inspect-wait"
            },
            "stability": "experimental",
            "summary": "activate inspector on host:port and wait for debugger to be attached."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 517
          },
          "name": "inspectWait",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#localstorage-file"
            },
            "stability": "experimental",
            "summary": "file used to persist localStorage data."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 524
          },
          "name": "localstorageFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#max-http-header-size"
            },
            "stability": "experimental",
            "summary": "set the maximum size of HTTP headers (default: 16384 (16KB))."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 531
          },
          "name": "maxHttpHeaderSize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#max-old-space-size-percentage"
            },
            "stability": "experimental",
            "summary": "set V8's max old space size as a percentage of available memory (e.g., '50%'). Takes precedence over --max-old-space-size."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 538
          },
          "name": "maxOldSpaceSizePercentage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#network-family-autoselection"
            },
            "stability": "experimental",
            "summary": "Disable network address family autodetection algorithm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 545
          },
          "name": "networkFamilyAutoselection",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#network-family-autoselection-attempt-timeout"
            },
            "stability": "experimental",
            "summary": "Sets the default value for the network family autoselection attempt timeout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 552
          },
          "name": "networkFamilyAutoselectionAttemptTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#node-snapshot"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 557
          },
          "name": "nodeSnapshot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#openssl-config"
            },
            "stability": "experimental",
            "summary": "load OpenSSL configuration from the specified file (overrides OPENSSL_CONF)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 564
          },
          "name": "opensslConfig",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#openssl-legacy-provider"
            },
            "stability": "experimental",
            "summary": "enable OpenSSL 3.0 legacy provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 571
          },
          "name": "opensslLegacyProvider",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#openssl-shared-config"
            },
            "stability": "experimental",
            "summary": "enable OpenSSL shared configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 578
          },
          "name": "opensslSharedConfig",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#pending-deprecation"
            },
            "stability": "experimental",
            "summary": "emit pending deprecation warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 585
          },
          "name": "pendingDeprecation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#permission"
            },
            "stability": "experimental",
            "summary": "enable the permission system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 592
          },
          "name": "permission",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#permission-audit"
            },
            "stability": "experimental",
            "summary": "enable audit only for the permission system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 599
          },
          "name": "permissionAudit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#preserve-symlinks"
            },
            "stability": "experimental",
            "summary": "preserve symbolic links when resolving."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 606
          },
          "name": "preserveSymlinks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#preserve-symlinks-main"
            },
            "stability": "experimental",
            "summary": "preserve symbolic links when resolving the main module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 613
          },
          "name": "preserveSymlinksMain",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#redirect-warnings"
            },
            "stability": "experimental",
            "summary": "write warnings to file instead of stderr."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 620
          },
          "name": "redirectWarnings",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-compact"
            },
            "stability": "experimental",
            "summary": "output compact single-line JSON."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 627
          },
          "name": "reportCompact",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-dir"
            },
            "remarks": "(default: current working directory)",
            "stability": "experimental",
            "summary": "define custom report pathname."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 634
          },
          "name": "reportDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-exclude-env"
            },
            "stability": "experimental",
            "summary": "Exclude environment variables when generating report (default: false)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 641
          },
          "name": "reportExcludeEnv",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-exclude-network"
            },
            "remarks": "(default: false)",
            "stability": "experimental",
            "summary": "exclude network interface diagnostics."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 648
          },
          "name": "reportExcludeNetwork",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-filename"
            },
            "remarks": "(default: YYYYMMDD.HHMMSS.PID.SEQUENCE#.txt)",
            "stability": "experimental",
            "summary": "define custom report file name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 655
          },
          "name": "reportFilename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-on-fatalerror"
            },
            "stability": "experimental",
            "summary": "generate diagnostic report on fatal (internal) errors."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 662
          },
          "name": "reportOnFatalerror",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-on-signal"
            },
            "stability": "experimental",
            "summary": "generate diagnostic report upon receiving signals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 669
          },
          "name": "reportOnSignal",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-signal"
            },
            "remarks": "(default: SIGUSR2)",
            "stability": "experimental",
            "summary": "causes diagnostic report to be produced on provided signal, unsupported in Windows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 676
          },
          "name": "reportSignal",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#report-uncaught-exception"
            },
            "stability": "experimental",
            "summary": "generate diagnostic report on uncaught exceptions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 683
          },
          "name": "reportUncaughtException",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#require"
            },
            "stability": "experimental",
            "summary": "CommonJS module to preload (option can be repeated)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 690
          },
          "name": "require",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#require-module"
            },
            "stability": "experimental",
            "summary": "Allow loading synchronous ES Modules in require()."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 697
          },
          "name": "requireModule",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#secure-heap"
            },
            "stability": "experimental",
            "summary": "total size of the OpenSSL secure heap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 704
          },
          "name": "secureHeap",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#secure-heap-min"
            },
            "stability": "experimental",
            "summary": "minimum allocation size from the OpenSSL secure heap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 711
          },
          "name": "secureHeapMin",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#snapshot-blob"
            },
            "stability": "experimental",
            "summary": "Path to the snapshot blob that's either the result of snapshotbuilding, or the blob that is used to restore the application state."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 718
          },
          "name": "snapshotBlob",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#stack-trace-limit"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 723
          },
          "name": "stackTraceLimit",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#strip-types"
            },
            "stability": "experimental",
            "summary": "Type-stripping for TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 730
          },
          "name": "stripTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-coverage-branches"
            },
            "stability": "experimental",
            "summary": "the branch coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 737
          },
          "name": "testCoverageBranches",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-coverage-exclude"
            },
            "stability": "experimental",
            "summary": "exclude files from coverage report that match this glob pattern."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 744
          },
          "name": "testCoverageExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-coverage-functions"
            },
            "stability": "experimental",
            "summary": "the function coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 751
          },
          "name": "testCoverageFunctions",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-coverage-include"
            },
            "stability": "experimental",
            "summary": "include files in coverage report that match this glob pattern."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 758
          },
          "name": "testCoverageInclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-coverage-lines"
            },
            "stability": "experimental",
            "summary": "the line coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 765
          },
          "name": "testCoverageLines",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-global-setup"
            },
            "stability": "experimental",
            "summary": "specifies the path to the global setup file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 772
          },
          "name": "testGlobalSetup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-isolation"
            },
            "stability": "experimental",
            "summary": "configures the type of test isolation used in the test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 779
          },
          "name": "testIsolation",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-name-pattern"
            },
            "stability": "experimental",
            "summary": "run tests whose name matches this regular expression."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 786
          },
          "name": "testNamePattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-only"
            },
            "stability": "experimental",
            "summary": "run tests with 'only' option set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 793
          },
          "name": "testOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-randomize"
            },
            "stability": "experimental",
            "summary": "run tests in a random order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 807
          },
          "name": "testRandomize",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-random-seed"
            },
            "stability": "experimental",
            "summary": "seed used to randomize test execution order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 800
          },
          "name": "testRandomSeed",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-reporter"
            },
            "stability": "experimental",
            "summary": "report test output using the given reporter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 814
          },
          "name": "testReporter",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-reporter-destination"
            },
            "stability": "experimental",
            "summary": "report given reporter to the given destination."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 821
          },
          "name": "testReporterDestination",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-rerun-failures"
            },
            "stability": "experimental",
            "summary": "specifies the path to the rerun state file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 828
          },
          "name": "testRerunFailures",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-shard"
            },
            "stability": "experimental",
            "summary": "run test at specific shard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 835
          },
          "name": "testShard",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#test-skip-pattern"
            },
            "stability": "experimental",
            "summary": "run tests whose name do not match this regular expression."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 842
          },
          "name": "testSkipPattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#throw-deprecation"
            },
            "stability": "experimental",
            "summary": "throw an exception on deprecations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 849
          },
          "name": "throwDeprecation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#title"
            },
            "stability": "experimental",
            "summary": "the process title to use on startup."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 856
          },
          "name": "title",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-cipher-list"
            },
            "stability": "experimental",
            "summary": "use an alternative default TLS cipher list."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 863
          },
          "name": "tlsCipherList",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-keylog"
            },
            "stability": "experimental",
            "summary": "log TLS decryption keys to named file for traffic analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 870
          },
          "name": "tlsKeylog",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-max-v1.2"
            },
            "stability": "experimental",
            "summary": "set default TLS maximum to TLSv1.2 (default: TLSv1.3)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 877
          },
          "name": "tlsMaxV12",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-max-v1.3"
            },
            "stability": "experimental",
            "summary": "set default TLS maximum to TLSv1.3 (default: TLSv1.3)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 884
          },
          "name": "tlsMaxV13",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-min-v1.0"
            },
            "stability": "experimental",
            "summary": "set default TLS minimum to TLSv1.0 (default: TLSv1.2)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 891
          },
          "name": "tlsMinV10",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-min-v1.1"
            },
            "stability": "experimental",
            "summary": "set default TLS minimum to TLSv1.1 (default: TLSv1.2)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 898
          },
          "name": "tlsMinV11",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-min-v1.2"
            },
            "stability": "experimental",
            "summary": "set default TLS minimum to TLSv1.2 (default: TLSv1.2)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 905
          },
          "name": "tlsMinV12",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#tls-min-v1.3"
            },
            "stability": "experimental",
            "summary": "set default TLS minimum to TLSv1.3 (default: TLSv1.2)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 912
          },
          "name": "tlsMinV13",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-deprecation"
            },
            "stability": "experimental",
            "summary": "show stack traces on deprecations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 919
          },
          "name": "traceDeprecation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-env"
            },
            "stability": "experimental",
            "summary": "Print accesses to the environment variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 926
          },
          "name": "traceEnv",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-env-js-stack"
            },
            "stability": "experimental",
            "summary": "Print accesses to the environment variables and the JavaScript stack trace."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 933
          },
          "name": "traceEnvJsStack",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-env-native-stack"
            },
            "stability": "experimental",
            "summary": "Print accesses to the environment variables and the native stack trace."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 940
          },
          "name": "traceEnvNativeStack",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-event-categories"
            },
            "stability": "experimental",
            "summary": "comma separated list of trace event categories to record."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 947
          },
          "name": "traceEventCategories",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-event-file-pattern"
            },
            "stability": "experimental",
            "summary": "Template string specifying the filepath for the trace-events data, it supports ${rotation} and ${pid}."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 954
          },
          "name": "traceEventFilePattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-exit"
            },
            "stability": "experimental",
            "summary": "show stack trace when an environment exits."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 961
          },
          "name": "traceExit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-promises"
            },
            "stability": "experimental",
            "summary": "show stack traces on promise initialization and resolution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 968
          },
          "name": "tracePromises",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-require-module"
            },
            "remarks": "Options are 'all' (print all usage) and 'no-node-modules' (excluding usage from the node_modules folder)",
            "stability": "experimental",
            "summary": "Print access to require(esm)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 975
          },
          "name": "traceRequireModule",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-sigint"
            },
            "stability": "experimental",
            "summary": "enable printing JavaScript stacktrace on SIGINT."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 982
          },
          "name": "traceSigint",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-sync-io"
            },
            "stability": "experimental",
            "summary": "show stack trace when use of sync IO is detected after the first tick."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 989
          },
          "name": "traceSyncIo",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-tls"
            },
            "stability": "experimental",
            "summary": "prints TLS packet trace information to stderr."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 996
          },
          "name": "traceTls",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-uncaught"
            },
            "stability": "experimental",
            "summary": "show stack traces for the `throw` behind uncaught exceptions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1003
          },
          "name": "traceUncaught",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#trace-warnings"
            },
            "stability": "experimental",
            "summary": "show stack traces on process warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1010
          },
          "name": "traceWarnings",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#track-heap-objects"
            },
            "stability": "experimental",
            "summary": "track heap object allocations for heap snapshots."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1017
          },
          "name": "trackHeapObjects",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#unhandled-rejections"
            },
            "remarks": "Options are 'strict' (always raise an error), 'throw' (raise an error unless 'unhandledRejection' hook is set), 'warn' (log a warning), 'none' (silence warnings), 'warn-with-error-code' (log a warning and set exit code 1 unless 'unhandledRejection' hook is set). (default: throw)",
            "stability": "experimental",
            "summary": "define unhandled rejections behavior."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1024
          },
          "name": "unhandledRejections",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#use-bundled-ca"
            },
            "stability": "experimental",
            "summary": "use bundled CA store (default)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1031
          },
          "name": "useBundledCa",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#use-env-proxy"
            },
            "stability": "experimental",
            "summary": "parse proxy settings from HTTP_PROXY/HTTPS_PROXY/NO_PROXYenvironment variables and apply the setting in global HTTP/HTTPS clients."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1038
          },
          "name": "useEnvProxy",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#use-largepages"
            },
            "stability": "experimental",
            "summary": "Map the Node.js static code to large pages. Options are 'off' (the default value, meaning do not map), 'on' (map and ignore failure, reporting it to stderr), or 'silent' (map and silently ignore failure)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1045
          },
          "name": "useLargepages",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#use-openssl-ca"
            },
            "stability": "experimental",
            "summary": "use OpenSSL's default CA store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1052
          },
          "name": "useOpensslCa",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#use-system-ca"
            },
            "stability": "experimental",
            "summary": "use system's CA store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1059
          },
          "name": "useSystemCa",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#v8-pool-size"
            },
            "stability": "experimental",
            "summary": "set V8's thread pool size."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1066
          },
          "name": "v8PoolSize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#verify-base-objects"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1071
          },
          "name": "verifyBaseObjects",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#warnings"
            },
            "stability": "experimental",
            "summary": "silence all process warnings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1078
          },
          "name": "warnings",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#watch"
            },
            "stability": "experimental",
            "summary": "run in watch mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1085
          },
          "name": "watch",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#watch-kill-signal"
            },
            "stability": "experimental",
            "summary": "kill signal to send to the process on watch mode restarts(default: SIGTERM)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1092
          },
          "name": "watchKillSignal",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#watch-path"
            },
            "stability": "experimental",
            "summary": "path to watch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1099
          },
          "name": "watchPath",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#watch-preserve-output"
            },
            "stability": "experimental",
            "summary": "preserve outputs on watch mode restart."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1106
          },
          "name": "watchPreserveOutput",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaNodeOptions#zero-fill-buffers"
            },
            "stability": "experimental",
            "summary": "automatically zero-fill all newly allocated Buffer instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1113
          },
          "name": "zeroFillBuffers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-config:NodeConfigSchemaNodeOptions"
    },
    "projen.javascript.NodeConfigSchemaPermission": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "NodeConfigSchemaPermission"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeConfigSchemaPermission",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config.ts",
        "line": 1285
      },
      "name": "NodeConfigSchemaPermission",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-addons"
            },
            "stability": "experimental",
            "summary": "allow use of addons when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1291
          },
          "name": "allowAddons",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-child-process"
            },
            "stability": "experimental",
            "summary": "allow use of child process when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1298
          },
          "name": "allowChildProcess",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-ffi"
            },
            "stability": "experimental",
            "summary": "allow use of FFI when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1305
          },
          "name": "allowFfi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-fs-read"
            },
            "stability": "experimental",
            "summary": "allow permissions to read the filesystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1312
          },
          "name": "allowFsRead",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-fs-write"
            },
            "stability": "experimental",
            "summary": "allow permissions to write in the filesystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1319
          },
          "name": "allowFsWrite",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-inspector"
            },
            "stability": "experimental",
            "summary": "allow use of inspector when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1326
          },
          "name": "allowInspector",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-net"
            },
            "stability": "experimental",
            "summary": "allow use of network when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1333
          },
          "name": "allowNet",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-openssl-store"
            },
            "stability": "experimental",
            "summary": "allow use of OpenSSL STORE loaders when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1340
          },
          "name": "allowOpensslStore",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-wasi"
            },
            "stability": "experimental",
            "summary": "allow wasi when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1347
          },
          "name": "allowWasi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#allow-worker"
            },
            "stability": "experimental",
            "summary": "allow worker threads when any permissions are set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1354
          },
          "name": "allowWorker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaPermission#permission"
            },
            "stability": "experimental",
            "summary": "enable the permission system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1361
          },
          "name": "permission",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-config:NodeConfigSchemaPermission"
    },
    "projen.javascript.NodeConfigSchemaTest": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "NodeConfigSchemaTest"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeConfigSchemaTest",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config.ts",
        "line": 1392
      },
      "name": "NodeConfigSchemaTest",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#experimental-test-coverage"
            },
            "stability": "experimental",
            "summary": "enable code coverage in the test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1398
          },
          "name": "experimentalTestCoverage",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#experimental-test-module-mocks"
            },
            "stability": "experimental",
            "summary": "enable module mocking in the test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1405
          },
          "name": "experimentalTestModuleMocks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test"
            },
            "stability": "experimental",
            "summary": "launch test runner on startup."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1412
          },
          "name": "test",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-concurrency"
            },
            "stability": "experimental",
            "summary": "specify test runner concurrency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1419
          },
          "name": "testConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-coverage-branches"
            },
            "stability": "experimental",
            "summary": "the branch coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1426
          },
          "name": "testCoverageBranches",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-coverage-exclude"
            },
            "stability": "experimental",
            "summary": "exclude files from coverage report that match this glob pattern."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1433
          },
          "name": "testCoverageExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-coverage-functions"
            },
            "stability": "experimental",
            "summary": "the function coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1440
          },
          "name": "testCoverageFunctions",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-coverage-include"
            },
            "stability": "experimental",
            "summary": "include files in coverage report that match this glob pattern."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1447
          },
          "name": "testCoverageInclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-coverage-lines"
            },
            "stability": "experimental",
            "summary": "the line coverage minimum threshold."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1454
          },
          "name": "testCoverageLines",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-force-exit"
            },
            "stability": "experimental",
            "summary": "force test runner to exit upon completion."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1461
          },
          "name": "testForceExit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-global-setup"
            },
            "stability": "experimental",
            "summary": "specifies the path to the global setup file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1468
          },
          "name": "testGlobalSetup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-isolation"
            },
            "stability": "experimental",
            "summary": "configures the type of test isolation used in the test runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1475
          },
          "name": "testIsolation",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-name-pattern"
            },
            "stability": "experimental",
            "summary": "run tests whose name matches this regular expression."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1482
          },
          "name": "testNamePattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-only"
            },
            "stability": "experimental",
            "summary": "run tests with 'only' option set."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1489
          },
          "name": "testOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-randomize"
            },
            "stability": "experimental",
            "summary": "run tests in a random order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1503
          },
          "name": "testRandomize",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-random-seed"
            },
            "stability": "experimental",
            "summary": "seed used to randomize test execution order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1496
          },
          "name": "testRandomSeed",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-reporter"
            },
            "stability": "experimental",
            "summary": "report test output using the given reporter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1510
          },
          "name": "testReporter",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-reporter-destination"
            },
            "stability": "experimental",
            "summary": "report given reporter to the given destination."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1517
          },
          "name": "testReporterDestination",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-rerun-failures"
            },
            "stability": "experimental",
            "summary": "specifies the path to the rerun state file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1524
          },
          "name": "testRerunFailures",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-shard"
            },
            "stability": "experimental",
            "summary": "run test at specific shard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1531
          },
          "name": "testShard",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-skip-pattern"
            },
            "stability": "experimental",
            "summary": "run tests whose name do not match this regular expression."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1538
          },
          "name": "testSkipPattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-timeout"
            },
            "stability": "experimental",
            "summary": "specify test runner timeout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1545
          },
          "name": "testTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaTest#test-update-snapshots"
            },
            "stability": "experimental",
            "summary": "regenerate test snapshots."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1552
          },
          "name": "testUpdateSnapshots",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-config:NodeConfigSchemaTest"
    },
    "projen.javascript.NodeConfigSchemaWatch": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "NodeConfigSchemaWatch"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeConfigSchemaWatch",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-config.ts",
        "line": 1595
      },
      "name": "NodeConfigSchemaWatch",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaWatch#watch"
            },
            "stability": "experimental",
            "summary": "run in watch mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1601
          },
          "name": "watch",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaWatch#watch-kill-signal"
            },
            "stability": "experimental",
            "summary": "kill signal to send to the process on watch mode restarts(default: SIGTERM)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1608
          },
          "name": "watchKillSignal",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaWatch#watch-path"
            },
            "stability": "experimental",
            "summary": "path to watch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1615
          },
          "name": "watchPath",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "NodeConfigSchemaWatch#watch-preserve-output"
            },
            "stability": "experimental",
            "summary": "preserve outputs on watch mode restart."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-config.ts",
            "line": 1622
          },
          "name": "watchPreserveOutput",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-config:NodeConfigSchemaWatch"
    },
    "projen.javascript.NodePackage": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Represents the npm `package.json` file."
      },
      "fqn": "projen.javascript.NodePackage",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/node-package.ts",
          "line": 768
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.NodePackageOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 594
      },
      "methods": [
        {
          "docs": {
            "returns": "A NodePackage, or undefined",
            "stability": "experimental",
            "summary": "Returns the `NodePackage` instance associated with a project or `undefined` if there is no NodePackage."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 601
          },
          "name": "of",
          "parameters": [
            {
              "docs": {
                "summary": "The project."
              },
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.NodePackage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Useful for project types that want to allowlist a package by default\nwhile still letting consumers add further packages via `allowScripts`.",
            "see": "NodePackageOptions.allowScripts",
            "stability": "experimental",
            "summary": "Allows the given dependency (package) names to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`), in addition to any already allowed via the `allowScripts` option or previous calls."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1097
          },
          "name": "addAllowedScripts",
          "parameters": [
            {
              "docs": {
                "summary": "The dependency (package) names to allow."
              },
              "name": "packages",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1117
          },
          "name": "addBin",
          "parameters": [
            {
              "name": "bins",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Bundled dependencies will be added as normal dependencies as well as to the\n`bundledDependencies` section of your `package.json`.",
            "stability": "experimental",
            "summary": "Defines bundled dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1055
          },
          "name": "addBundledDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines normal dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 995
          },
          "name": "addDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines development/test dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1010
          },
          "name": "addDevDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds an `engines` requirement to your package."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1072
          },
          "name": "addEngine",
          "parameters": [
            {
              "docs": {
                "summary": "The engine (e.g. `node`)."
              },
              "name": "engine",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The semantic version requirement (e.g. `^10`)."
              },
              "name": "version",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "custom": {
              "escape": "true"
            },
            "stability": "experimental",
            "summary": "Directly set fields in `package.json`."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1150
          },
          "name": "addField",
          "parameters": [
            {
              "docs": {
                "summary": "field name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "field value."
              },
              "name": "value",
              "type": {
                "primitive": "any"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds keywords to package.json (deduplicated)."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1080
          },
          "name": "addKeywords",
          "parameters": [
            {
              "docs": {
                "summary": "The keywords to add."
              },
              "name": "keywords",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines resolutions for dependencies to change the normally resolved version of a dependency to something else."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1170
          },
          "name": "addPackageResolutions",
          "parameters": [
            {
              "docs": {
                "remarks": "Specify a version or\nrange with this syntax:\n`module@^7`",
                "summary": "Names resolutions to be added."
              },
              "name": "resolutions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "When adding peer dependencies, a devDependency will also be added on the\npinned version of the declared peer. This will ensure that you are testing\nyour code against the minimum version required from your consumers.",
            "stability": "experimental",
            "summary": "Defines peer dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1029
          },
          "name": "addPeerDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Sets the package version."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1158
          },
          "name": "addVersion",
          "parameters": [
            {
              "docs": {
                "summary": "Package version."
              },
              "name": "version",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Does not log — the caller is\nresponsible for informing the user before calling this method.",
            "stability": "experimental",
            "summary": "Runs the install or install:ci task."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2169
          },
          "name": "installDependencies",
          "parameters": [
            {
              "docs": {
                "summary": "the reason for the install, available for subclasses to act on."
              },
              "name": "_trigger",
              "type": {
                "fqn": "projen.javascript.InstallTrigger"
              }
            }
          ],
          "protected": true
        },
        {
          "docs": {
            "remarks": "Order is *not* guaranteed.",
            "stability": "experimental",
            "summary": "Called after synthesis."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1226
          },
          "name": "postSynthesize",
          "overrides": "projen.Component"
        },
        {
          "docs": {
            "see": "NodePackageOptions.allowScripts",
            "stability": "experimental",
            "summary": "Removes the given dependency (package) names from the `allowScripts` allowlist, whether they were added via the `allowScripts` option, a project type default, or a previous call to `addAllowedScripts`."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1111
          },
          "name": "removeAllowedScripts",
          "parameters": [
            {
              "docs": {
                "summary": "The dependency (package) names to remove."
              },
              "name": "packages",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Removes an npm script (always successful)."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1138
          },
          "name": "removeScript",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the script."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a npm package.json script."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1129
          },
          "name": "setScript",
          "parameters": [
            {
              "docs": {
                "summary": "The script name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The command to execute, run by the package manager's shell."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Synthesizes files to the project output directory."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1221
          },
          "name": "synthesize",
          "overrides": "projen.Component"
        },
        {
          "docs": {
            "custom": {
              "remarks": "This method will first look through the current project's dependencies.\nIf found and semantically valid (not '*'), that will be used.\nOtherwise, it will fall back to locating a `package.json` manifest for the dependency\nthrough node's internal resolution reading the version from there."
            },
            "stability": "experimental",
            "summary": "Attempt to resolve the currently installed version for a given dependency."
          },
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1205
          },
          "name": "tryResolveDependencyVersion",
          "parameters": [
            {
              "docs": {
                "summary": "Dependency to resolve for."
              },
              "name": "dependencyName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "NodePackage",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Allow project to take library dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 619
          },
          "name": "allowLibraryDependencies",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The module's entrypoint (e.g. `lib/index.js`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 614
          },
          "name": "entrypoint",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The command prefix to use when executing binary commands for this package manager (e.g. `npx`, `pnpm exec`, `yarn`, `bunx`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1301
          },
          "name": "execCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The package.json file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 755
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "remarks": "Prefer using `NodePackage.installTask`. The raw command string is intended for bootstrapping.",
            "stability": "experimental",
            "summary": "Returns the package manager's mutable install command with lockfile update, e.g. `npm install` or `pnpm install`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1190
          },
          "name": "installAndUpdateLockfileCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The task for installing project dependencies (frozen)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 745
          },
          "name": "installCiTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "remarks": "Prefer using `NodePackage.installCiTask`. The raw command string is intended for bootstrapping.",
            "stability": "experimental",
            "summary": "Returns the package manager's immutable install command with a frozen lockfile, e.g. `npm ci` or `pnpm ci`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 1181
          },
          "name": "installCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The task for installing project dependencies (non-frozen)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 740
          },
          "name": "installTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the lock file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 735
          },
          "name": "lockFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "deprecated": "use `addField(x, y)`",
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 629
          },
          "name": "manifest",
          "type": {
            "primitive": "any"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "npm package access level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 725
          },
          "name": "npmAccess",
          "type": {
            "fqn": "projen.javascript.NpmAccess"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Should provenance statements be generated when package is published."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 730
          },
          "name": "npmProvenance",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The npm registry host (e.g. `registry.npmjs.org`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 700
          },
          "name": "npmRegistry",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "npm registry (e.g. `https://registry.npmjs.org`). Use `npmRegistryHost` to get just the host name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 695
          },
          "name": "npmRegistryUrl",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The package manager to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 624
          },
          "name": "packageManager",
          "type": {
            "fqn": "projen.javascript.NodePackageManager"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the npm package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 609
          },
          "name": "packageName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "returns": "`undefined` if the package manager is not Bun.",
            "stability": "experimental",
            "summary": "The version of Bun to use if using Bun as a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 661
          },
          "name": "bunVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "default": "- undefined",
            "remarks": "This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact",
            "stability": "experimental",
            "summary": "Options for npm packages using AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 713
          },
          "name": "codeArtifactOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.CodeArtifactOptions"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The task for deduplicating project dependencies, if configured."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 750
          },
          "name": "dedupeTask",
          "optional": true,
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "remarks": "`undefined` if this package is not licensed.",
            "stability": "experimental",
            "summary": "The SPDX license of this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 690
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "The value indicates the package is incompatible with newer versions.",
            "stability": "experimental",
            "summary": "Maximum node version supported by this package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 643
          },
          "name": "maxNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "This value indicates the package is incompatible with older versions.",
            "stability": "experimental",
            "summary": "The minimum node version required by this package to function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 636
          },
          "name": "minNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "GitHub secret which contains the NPM token to use when publishing packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 705
          },
          "name": "npmTokenSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "returns": "`undefined` if the package manager is not PNPM.",
            "stability": "experimental",
            "summary": "The version of PNPM to use if using PNPM as a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 650
          },
          "name": "pnpmVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Options for privately hosted scoped packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 720
          },
          "name": "scopedPackagesOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.ScopedPackagesOptions"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "returns": "`undefined` if the package manager is not Yarn.",
            "stability": "experimental",
            "summary": "The version of Yarn to use if using Yarn as a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 672
          },
          "name": "yarnVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:NodePackage"
    },
    "projen.javascript.NodePackageManager": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "The node package manager to use."
      },
      "fqn": "projen.javascript.NodePackageManager",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2301
      },
      "members": [
        {
          "docs": {
            "deprecated": "For `yarn` 1.x use `YARN_CLASSIC` for `yarn` >= 2 use `YARN_BERRY`. Currently, `NodePackageManager.YARN` means `YARN_CLASSIC`. In the future, we might repurpose it to mean `YARN_BERRY`.",
            "stability": "deprecated",
            "summary": "Use `yarn` as the package manager."
          },
          "name": "YARN"
        },
        {
          "docs": {
            "deprecated": "use YARN_BERRY instead",
            "stability": "deprecated",
            "summary": "Use `yarn` versions >= 2 as the package manager."
          },
          "name": "YARN2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use `yarn` 1.x as the package manager."
          },
          "name": "YARN_CLASSIC"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use `yarn` versions >= 2 as the package manager."
          },
          "name": "YARN_BERRY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use `npm` as the package manager."
          },
          "name": "NPM"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use `pnpm` as the package manager."
          },
          "name": "PNPM"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use `bun` as the package manager."
          },
          "name": "BUN"
        }
      ],
      "name": "NodePackageManager",
      "namespace": "javascript",
      "symbolId": "src/javascript/node-package:NodePackageManager"
    },
    "projen.javascript.NodePackageOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodePackageOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 42
      },
      "name": "NodePackageOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 409
          },
          "name": "addPackageManagerToDevEngines",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This is normally only allowed for libraries. For apps, there's no meaning\nfor specifying these.",
            "stability": "experimental",
            "summary": "Allow the project to include `peerDependencies` and `bundledDependencies`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 136
          },
          "name": "allowLibraryDependencies",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all install scripts are allowed to run (package manager default)",
            "remarks": "These scripts can execute arbitrary code, making them a common\nsupply-chain attack vector. Package managers are moving toward\nblocking them by default and requiring an explicit allowlist.\nConfiguring `allowScripts` sets up that allowlist so scripts only run\nfor the packages you have explicitly reviewed and trust.\n\nSupport for this setting depends on the configured `packageManager`:\n\n- `NPM`: written to the native `allowScripts` field in `package.json`\n  (requires npm >= 11.16; see https://docs.npmjs.com/cli/v11/commands/npm-approve-scripts).\n- `BUN`: written to the native `trustedDependencies` field in\n  `package.json` (see https://bun.com/docs/pm/lifecycle).\n- `PNPM`: written to the `onlyBuiltDependencies` setting in\n  `pnpm-workspace.yaml` (see https://pnpm.io/settings#onlybuiltdependencies).\n- `YARN2`, `YARN_BERRY`: written to the native\n  `dependenciesMeta.<pkg>.built` allowlist in `package.json`, combined\n  with `enableScripts: false` in `.yarnrc.yml` (see\n  https://yarnpkg.com/features/security#postinstalls). If you set\n  `yarnBerryOptions.yarnRcOptions.enableScripts` explicitly, that value\n  is respected instead of being overridden.\n- `YARN`, `YARN_CLASSIC`: not supported. Yarn Classic has no native\n  mechanism to allowlist install scripts for specific dependencies.\n  Setting this option with one of these package managers throws an\n  error at synthesis time.",
            "stability": "experimental",
            "summary": "List of dependency (package) names that are allowed to run lifecycle install scripts (`preinstall`, `install`, `postinstall`, `prepare`) during dependency installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 454
          },
          "name": "allowScripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Author's e-mail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 219
          },
          "name": "authorEmail",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Author's name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 214
          },
          "name": "authorName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Is the author an organization."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 229
          },
          "name": "authorOrganization",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Author's URL / Website."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 224
          },
          "name": "authorUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 167
          },
          "name": "autoDetectBin",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can use this option to add/customize how binaries are represented in\nyour `package.json`, but unless `autoDetectBin` is `false`, every\nexecutable file under `bin` will automatically be added to this section.",
            "stability": "experimental",
            "summary": "Binary programs vended with your module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 159
          },
          "name": "bin",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The email address to which issues should be reported."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 321
          },
          "name": "bugsEmail",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The url to your project's issue tracker."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 316
          },
          "name": "bugsUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "These modules will be\nadded both to the `dependencies` section and `bundledDependencies` section of\nyour `package.json`.\n\nThe recommendation is to only specify the module name here (e.g.\n`express`). This will behave similar to `pnpm add` or `npm install` in the\nsense that it will add the module as a dependency to your `package.json`\nfile with the latest version (`^`). You can specify semver requirements in\nthe same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and\nthis will be what your `package.json` will eventually include.",
            "stability": "experimental",
            "summary": "List of dependencies to bundle into this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 122
          },
          "name": "bundledDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "stability": "experimental",
            "summary": "The version of Bun to use if using Bun as a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 286
          },
          "name": "bunVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "remarks": "This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact",
            "stability": "experimental",
            "summary": "Options for npm packages using AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 369
          },
          "name": "codeArtifactOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.CodeArtifactOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false, unless `yarnBerryOptions.dedupePackages` is set",
            "remarks": "Deduplication prevents multiple versions of the same package from being\ninstalled, if a single version can satisfy all requested version ranges.\nThis prevents version proliferation and reduces the size of the dependency\ntree.\n\nThe behavior depends on the package manager:\n- npm: runs `npm dedupe` after every mutating install.\n- pnpm: runs `pnpm dedupe` after every mutating install.\n- Yarn Berry: runs `yarn dedupe` after every mutating install. If\n  `yarnBerryOptions.dedupePackages` is set, only the listed packages are\n  deduplicated.\n- Yarn Classic: `yarn install` already deduplicates, so the task only\n  prints an informational message.\n- Bun: not supported, enabling this option throws an error.",
            "stability": "experimental",
            "summary": "Add a `dedupe` task that deduplicates project dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 197
          },
          "name": "dedupeDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Only triggered when the lockfile for the configured package\nmanager already exists.\n\nThis is useful when migrating between package managers to avoid conflicts.",
            "stability": "experimental",
            "summary": "Automatically delete lockfiles from package managers that are not the active one."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 420
          },
          "name": "deleteOrphanedLockFiles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "example": "[ 'express', 'lodash', 'foo@^2' ]",
            "remarks": "The recommendation is to only specify the module name here (e.g.\n`express`). This will behave similar to `pnpm add` or `npm install` in the\nsense that it will add the module as a dependency to your `package.json`\nfile with the latest version (`^`). You can specify semver requirements in\nthe same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and\nthis will be what your `package.json` will eventually include.",
            "stability": "experimental",
            "summary": "Runtime dependencies of this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 71
          },
          "name": "deps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "remarks": "It can be used when searching for packages in a package manager as well.\nSee https://classic.yarnpkg.com/en/docs/package-json/#toc-description",
            "stability": "experimental",
            "summary": "The description is just a string that helps people understand the purpose of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 55
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "example": "[ 'typescript', '@types/express' ]",
            "remarks": "These dependencies will only be\navailable in your build environment but will not be fetched when this\nmodule is consumed.\n\nThe recommendation is to only specify the module name here (e.g.\n`express`). This will behave similar to `pnpm add` or `npm install` in the\nsense that it will add the module as a dependency to your `package.json`\nfile with the latest version (`^`). You can specify semver requirements in\nthe same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and\nthis will be what your `package.json` will eventually include.",
            "stability": "experimental",
            "summary": "Build dependencies for this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 89
          },
          "name": "devDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "The `devEngines.packageManager` field is automatically populated based on\nthe resolved `packageManager` value. Any fields provided here are merged\nwith the auto-populated `packageManager` entry.",
            "see": "https://docs.npmjs.com/cli/v10/configuring-npm/package-json#devengines",
            "stability": "experimental",
            "summary": "Configure the `devEngines` field in `package.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 401
          },
          "name": "devEngines",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.DevEngines"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"lib/index.js\"",
            "remarks": "Set to an empty string to not include `main` in your package.json",
            "stability": "experimental",
            "summary": "Module entrypoint (`main` in `package.json`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 150
          },
          "name": "entrypoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Package's Homepage / Website."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 234
          },
          "name": "homepage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Keywords to include in `package.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 141
          },
          "name": "keywords",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"Apache-2.0\"",
            "remarks": "See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses.\nUse the `licensed` option if you want to no license to be specified.",
            "stability": "experimental",
            "summary": "License's SPDX identifier."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 295
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Indicates if a license should be added."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 302
          },
          "name": "licensed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no maximum version is enforced",
            "remarks": "The value indicates that the package is incompatible with any newer versions of node.\nThis requirement is enforced via the engines field.\n\nYou will normally not need to set this option.\nConsider this option only if your package is known to not function with newer versions of node.",
            "stability": "experimental",
            "summary": "The maximum node version supported by this package. Most projects should not use this option."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 272
          },
          "name": "maxNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no minimum version is enforced",
            "remarks": "The value indicates that the package is incompatible with any older versions of node.\nThis requirement is enforced via the engines field.\n\nYou will normally not need to set this option, even if your package is incompatible with EOL versions of node.\nConsider this option only if your package depends on a specific feature, that is not available in other LTS versions.\nSetting this option has very high impact on the consumers of your package,\nas package managers will actively prevent usage with node versions you have marked as incompatible.\n\nTo change the node version of your CI/CD workflows, use `workflowNodeVersion`.",
            "stability": "experimental",
            "summary": "The minimum node version required by this package to function. Most projects should not use this option."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 258
          },
          "name": "minNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- for scoped packages (e.g. `foo@bar`), the default is\n`NpmAccess.RESTRICTED`, for non-scoped packages, the default is\n`NpmAccess.PUBLIC`.",
            "stability": "experimental",
            "summary": "Access level of the npm package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 330
          },
          "name": "npmAccess",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NpmAccess"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true for public packages, false otherwise",
            "remarks": "A supported package manager is required to publish a package with npm provenance statements and\nyou will need to use a supported CI/CD provider.\n\nNote that the projen `Release` and `Publisher` components are using `publib` to publish packages,\nwhich is using npm internally and supports provenance statements independently of the package manager used.",
            "see": "https://docs.npmjs.com/generating-provenance-statements",
            "stability": "experimental",
            "summary": "Should provenance statements be generated when the package is published."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 344
          },
          "name": "npmProvenance",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"https://registry.npmjs.org\"",
            "remarks": "Must be a URL (e.g. start with \"https://\" or \"http://\")",
            "stability": "experimental",
            "summary": "The base URL of the npm package registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 311
          },
          "name": "npmRegistryUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"NPM_TOKEN\"",
            "stability": "experimental",
            "summary": "GitHub secret which contains the NPM token to use when publishing packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 351
          },
          "name": "npmTokenSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "see": "",
            "stability": "experimental",
            "summary": "Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 361
          },
          "name": "npmTrustedPublishing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "pjnew": "$PACKAGE_MANAGER"
            },
            "default": "- Detected from the calling process or `YARN_CLASSIC` if detection fails.",
            "stability": "experimental",
            "summary": "The Node Package Manager used to execute scripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 175
          },
          "name": "packageManager",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.NodePackageManager"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "- defaults to project name",
            "stability": "experimental",
            "summary": "The \"name\" in package.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 48
          },
          "name": "packageName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for `peerDeps`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 127
          },
          "name": "peerDependencyOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PeerDependencyOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Dependencies listed here are required to\nbe installed (and satisfied) by the _consumer_ of this library. Using peer\ndependencies allows you to ensure that only a single module of a certain\nlibrary exists in the `node_modules` tree of your consumers.\n\nNote that prior to npm@7, peer dependencies are _not_ automatically\ninstalled, which means that adding peer dependencies to a library will be a\nbreaking change for your customers.\n\nUnless `peerDependencyOptions.pinnedDevDependency` is disabled (it is\nenabled by default), projen will automatically add a dev dependency with a\npinned version for each peer dependency. This will ensure that you build &\ntest your module against the lowest peer version required.",
            "stability": "experimental",
            "summary": "Peer dependencies for this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 108
          },
          "name": "peerDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all default options",
            "stability": "experimental",
            "summary": "Options for pnpm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 390
          },
          "name": "pnpmOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"10.33.0\"",
            "stability": "experimental",
            "summary": "The version of PNPM to use if using PNPM as a package manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 279
          },
          "name": "pnpmVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository",
            "stability": "experimental",
            "summary": "The repository is the location where the actual code for your package lives."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 203
          },
          "name": "repository",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 209
          },
          "name": "repositoryDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- fetch all scoped packages from the public npm registry",
            "stability": "experimental",
            "summary": "Options for privately hosted scoped packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 376
          },
          "name": "scopedPackagesOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.ScopedPackagesOptions"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Package's Stability."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 239
          },
          "name": "stability",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Yarn Berry v4 with all default options",
            "stability": "experimental",
            "summary": "Options for Yarn Berry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 383
          },
          "name": "yarnBerryOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnBerryOptions"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:NodePackageOptions"
    },
    "projen.javascript.NodeProject": {
      "assembly": "projen",
      "base": "projen.github.GitHubProject",
      "docs": {
        "custom": {
          "pjid": "node"
        },
        "stability": "experimental",
        "summary": "Node.js project."
      },
      "fqn": "projen.javascript.NodeProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/node-project.ts",
          "line": 543
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.javascript.NodeProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 450
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 989
          },
          "name": "addBins",
          "parameters": [
            {
              "name": "bins",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Bundled dependencies will be added as normal dependencies as well as to the\n`bundledDependencies` section of your `package.json`.",
            "stability": "experimental",
            "summary": "Defines bundled dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1253
          },
          "name": "addBundledDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines normal dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1207
          },
          "name": "addDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines development/test dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1220
          },
          "name": "addDevDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Directly set fields in `package.json`."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1025
          },
          "name": "addFields",
          "parameters": [
            {
              "docs": {
                "summary": "The fields to set."
              },
              "name": "fields",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds keywords to package.json (deduplicated)."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1035
          },
          "name": "addKeywords",
          "parameters": [
            {
              "docs": {
                "summary": "The keywords to add."
              },
              "name": "keywords",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "custom": {
              "remarks": "If you are having trouble getting an ignore to populate, try using your construct or component's preSynthesize method to properly delay calling this method."
            },
            "stability": "experimental",
            "summary": "Adds patterns to be ignored by npm."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1265
          },
          "name": "addPackageIgnore",
          "overrides": "projen.Project",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern to ignore."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "When adding peer dependencies, a devDependency will also be added on the\npinned version of the declared peer. This will ensure that you are testing\nyour code against the minimum version required from your consumers.",
            "stability": "experimental",
            "summary": "Defines peer dependencies."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1237
          },
          "name": "addPeerDeps",
          "parameters": [
            {
              "docs": {
                "remarks": "By default, the the dependency will\nbe installed in the next `pnpm projen` run and the version will be recorded\nin your `package.json` file. You can upgrade manually or using `pnpm\nadd/update`. If you wish to specify a version range use this syntax:\n`module@^7`.",
                "summary": "Names modules to install."
              },
              "name": "deps",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Replaces the contents of multiple npm package.json scripts."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1007
          },
          "name": "addScripts",
          "parameters": [
            {
              "docs": {
                "summary": "The scripts to set."
              },
              "name": "scripts",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Removes the npm script (always successful)."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1017
          },
          "name": "removeScript",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the script."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "returns": "Job steps",
            "stability": "experimental",
            "summary": "Returns the set of workflow steps which should be executed to bootstrap a workflow."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1127
          },
          "name": "renderWorkflowSetup",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.javascript.RenderWorkflowSetupOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "projen.github.workflows.JobStep"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "This will\ntypically be `pnpm projen TASK`.",
            "stability": "experimental",
            "summary": "Returns the shell command to execute in order to run a task."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1338
          },
          "name": "runTaskCommand",
          "overrides": "projen.Project",
          "parameters": [
            {
              "docs": {
                "summary": "The task for which the command is required."
              },
              "name": "task",
              "type": {
                "fqn": "projen.Task"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Replaces the contents of an npm package.json script."
          },
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 999
          },
          "name": "setScript",
          "parameters": [
            {
              "docs": {
                "summary": "The script name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The command to execute."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "NodeProject",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "remarks": "An npm tarball will be created under the `js`\nsubdirectory. For example, if this is set to `dist` (the default), the npm\ntarball will be placed under `dist/js/boom-boom-1.2.3.tg`.",
            "stability": "experimental",
            "summary": "The build output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 524
          },
          "name": "artifactsDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The location of the npm tarball after build (`${artifactsDirectory}/js`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 529
          },
          "name": "artifactsJavascriptDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 517
          },
          "name": "bundler",
          "type": {
            "fqn": "projen.javascript.Bundler"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The .npmrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 464
          },
          "name": "npmrc",
          "type": {
            "fqn": "projen.javascript.NpmConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "API for managing the node package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 454
          },
          "name": "package",
          "type": {
            "fqn": "projen.javascript.NodePackage"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The command to use to run scripts (e.g. `yarn run` or `npm run` depends on the package manager)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 510
          },
          "name": "runScriptCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 536
          },
          "name": "workflowBootstrapSteps",
          "protected": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 538
          },
          "name": "workflowPackageCache",
          "protected": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Component that sets up mergify for merging approved pull requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 475
          },
          "name": "autoMerge",
          "optional": true,
          "type": {
            "fqn": "projen.github.AutoMerge"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 540
          },
          "name": "biome",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.Biome"
          }
        },
        {
          "docs": {
            "remarks": "`undefined` if `buildWorkflow` is disabled.",
            "stability": "experimental",
            "summary": "The PR build GitHub workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 480
          },
          "name": "buildWorkflow",
          "optional": true,
          "type": {
            "fqn": "projen.build.BuildWorkflow"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The job ID of the build workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1345
          },
          "name": "buildWorkflowJobId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The Jest configuration (if enabled)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 515
          },
          "name": "jest",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.Jest"
          }
        },
        {
          "docs": {
            "remarks": "The value indicates the package is incompatible with newer versions.",
            "stability": "experimental",
            "summary": "Maximum node version supported by this package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 501
          },
          "name": "maxNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "This value indicates the package is incompatible with older versions.",
            "stability": "experimental",
            "summary": "The minimum node version required by this package to function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 492
          },
          "name": "minNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 505
          },
          "name": "nodeVersion",
          "optional": true,
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The .npmignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 459
          },
          "name": "npmignore",
          "optional": true,
          "type": {
            "fqn": "projen.IgnoreFile"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 539
          },
          "name": "prettier",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.Prettier"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Release management."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 485
          },
          "name": "release",
          "optional": true,
          "type": {
            "fqn": "projen.release.Release"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The upgrade workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 534
          },
          "name": "upgradeWorkflow",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependencies"
          }
        }
      ],
      "symbolId": "src/javascript/node-project:NodeProject"
    },
    "projen.javascript.NodeProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.NodeProjectOptions",
      "interfaces": [
        "projen.github.GitHubProjectOptions",
        "projen.javascript.NodePackageOptions",
        "projen.release.ReleaseProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 103
      },
      "name": "NodeProjectOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"dist\"",
            "stability": "experimental",
            "summary": "A directory which will contain build artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 339
          },
          "name": "artifactsDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "When enabled, creates an \"audit\" task that checks for known security vulnerabilities\nin dependencies. By default, runs during every build and checks for \"high\" severity\nvulnerabilities or above in all dependencies (including dev dependencies).",
            "stability": "experimental",
            "summary": "Run security audit on dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 380
          },
          "name": "auditDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Security audit options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 386
          },
          "name": "auditDepsOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.AuditOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true",
            "remarks": "Throw if set to true but `autoApproveOptions` are not defined.",
            "stability": "experimental",
            "summary": "Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 256
          },
          "name": "autoApproveUpgrades",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Setup Biome."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 363
          },
          "name": "biome",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Biome options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 369
          },
          "name": "biomeOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BiomeOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true if not a subproject",
            "stability": "experimental",
            "summary": "Define a GitHub workflow for building PRs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 145
          },
          "name": "buildWorkflow",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for PR build workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 149
          },
          "name": "buildWorkflowOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BuildWorkflowOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for `Bundler`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 332
          },
          "name": "bundlerOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.BundlerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no license checks are run during the build and all licenses will be accepted",
            "remarks": "This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered.",
            "stability": "experimental",
            "summary": "Configure which licenses should be deemed acceptable for use by dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 356
          },
          "name": "checkLicenses",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.LicenseCheckerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Uses codecov/codecov-action. By default, OIDC auth is used.\nAlternatively a token can be provided via `codeCovTokenSecret`.",
            "stability": "experimental",
            "summary": "Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 158
          },
          "name": "codeCov",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- OIDC auth is used",
            "stability": "experimental",
            "summary": "Define the secret name for a specified https://codecov.io/ token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 165
          },
          "name": "codeCovTokenSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults to the value of authorName or \"\" if `authorName` is undefined.",
            "remarks": "This value is only used if the selected license text contains the\n`$copyright_owner` placeholder. For example, it has no effect on the\nMPL-2.0 license text.",
            "stability": "experimental",
            "summary": "License copyright owner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 114
          },
          "name": "copyrightOwner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- current year",
            "remarks": "This value is only used if the selected license text contains the\n`$copyright_period` placeholder. For example, it has no effect on the\nMPL-2.0 license text.",
            "stability": "experimental",
            "summary": "The copyright years to put in the LICENSE file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 125
          },
          "name": "copyrightPeriod",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"main\"",
            "stability": "experimental",
            "summary": "The name of the main release branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 180
          },
          "name": "defaultReleaseBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Cannot be used in conjunction with `depsUpgrade`.",
            "stability": "experimental",
            "summary": "Use dependabot to handle dependency upgrades."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 224
          },
          "name": "dependabot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for dependabot."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 231
          },
          "name": "dependabotOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.DependabotOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- `true` for root projects, `false` for subprojects",
            "remarks": "Cannot be used in conjunction with `dependabot`.",
            "stability": "experimental",
            "summary": "Use tasks and github workflows to handle dependency upgrades."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 239
          },
          "name": "depsUpgrade",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for `UpgradeDependencies`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 246
          },
          "name": "depsUpgradeOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional entries to .gitignore."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 301
          },
          "name": "gitignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Setup jest unit tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 307
          },
          "name": "jest",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Jest options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 313
          },
          "name": "jestOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.JestOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 264
          },
          "name": "npmignoreEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configuration options for .npmignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 269
          },
          "name": "npmIgnoreOptions",
          "optional": true,
          "type": {
            "fqn": "projen.IgnoreFileOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 347
          },
          "name": "package",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Setup prettier."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 290
          },
          "name": "prettier",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Prettier options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 296
          },
          "name": "prettierOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PrettierOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true if not a subproject",
            "stability": "experimental",
            "summary": "Indicates of \"projen\" should be installed as a devDependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 139
          },
          "name": "projenDevDependency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true if projenrcJson is false",
            "stability": "experimental",
            "summary": "Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 321
          },
          "name": "projenrcJs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options for .projenrc.js."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 327
          },
          "name": "projenrcJsOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.ProjenrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Defaults to the latest version.",
            "stability": "experimental",
            "summary": "Version of projen to install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 132
          },
          "name": "projenVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include a GitHub pull request template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 276
          },
          "name": "pullRequestTemplate",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default content",
            "stability": "experimental",
            "summary": "The contents of the pull request template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 283
          },
          "name": "pullRequestTemplateContents",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true (false for subprojects)",
            "stability": "experimental",
            "summary": "Add release management to this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 172
          },
          "name": "release",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Automatically release to npm when new versions are introduced."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 200
          },
          "name": "releaseToNpm",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"yarn install --frozen-lockfile && yarn projen\"",
            "stability": "experimental",
            "summary": "Workflow steps to use in order to bootstrap this repo."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 187
          },
          "name": "workflowBootstrapSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user",
            "stability": "experimental",
            "summary": "The git identity to use in workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 194
          },
          "name": "workflowGitIdentity",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- `minNodeVersion` if set, otherwise `lts/*`.",
            "remarks": "Always use this option if your GitHub Actions workflows require a specific to run.",
            "stability": "experimental",
            "summary": "The node version used in GitHub Actions workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 209
          },
          "name": "workflowNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Enable Node.js package cache in GitHub workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 216
          },
          "name": "workflowPackageCache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-project:NodeProjectOptions"
    },
    "projen.javascript.NpmAccess": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Npm package access level."
      },
      "fqn": "projen.javascript.NpmAccess",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2345
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Package is public."
          },
          "name": "PUBLIC"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Package can only be accessed with credentials."
          },
          "name": "RESTRICTED"
        }
      ],
      "name": "NpmAccess",
      "namespace": "javascript",
      "symbolId": "src/javascript/node-package:NpmAccess"
    },
    "projen.javascript.NpmConfig": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "File representing the local NPM config in .npmrc."
      },
      "fqn": "projen.javascript.NpmConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/npm-config.ts",
          "line": 35
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.NpmConfigOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/npm-config.ts",
        "line": 28
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "configure a generic property."
          },
          "locationInModule": {
            "filename": "src/javascript/npm-config.ts",
            "line": 64
          },
          "name": "addConfig",
          "parameters": [
            {
              "docs": {
                "summary": "the name of the property."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "the value of the property."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "configure a scoped registry."
          },
          "locationInModule": {
            "filename": "src/javascript/npm-config.ts",
            "line": 54
          },
          "name": "addRegistry",
          "parameters": [
            {
              "docs": {
                "summary": "the URL of the registry to use."
              },
              "name": "url",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "remarks": "leave empty for the default registry",
                "summary": "the scope the registry is used for;"
              },
              "name": "scope",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "NpmConfig",
      "namespace": "javascript",
      "symbolId": "src/javascript/npm-config:NpmConfig"
    },
    "projen.javascript.NpmConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options to configure the local NPM config."
      },
      "fqn": "projen.javascript.NpmConfigOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/npm-config.ts",
        "line": 8
      },
      "name": "NpmConfigOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Omits empty objects and arrays."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/npm-config.ts",
            "line": 22
          },
          "name": "omitEmpty",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- use npmjs default registry",
            "remarks": "You can change this or add scoped registries using the addRegistry method",
            "stability": "experimental",
            "summary": "URL of the registry mirror to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/npm-config.ts",
            "line": 16
          },
          "name": "registry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/npm-config:NpmConfigOptions"
    },
    "projen.javascript.PeerDependencyOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PeerDependencyOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2290
      },
      "name": "PeerDependencyOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Automatically add a pinned dev dependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2295
          },
          "name": "pinnedDevDependency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:PeerDependencyOptions"
    },
    "projen.javascript.PnpmOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Configure pnpm."
      },
      "fqn": "projen.javascript.PnpmOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2405
      },
      "name": "PnpmOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- a blank pnpm-workspace.yaml file",
            "stability": "experimental",
            "summary": "The `pnpm-workspace.yaml` configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2411
          },
          "name": "workspaceYamlOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlOptions"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:PnpmOptions"
    },
    "projen.javascript.PnpmWorkspaceYaml": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "see": "https://pnpm.io/pnpm-workspace_yaml",
        "stability": "experimental",
        "summary": "Represents a `pnpm-workspace.yaml` file."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYaml",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/pnpm-workspace.ts",
          "line": 35
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYamlOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace.ts",
        "line": 19
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the `PnpmWorkspaceYaml` instance associated with a project or `undefined` if there is none."
          },
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace.ts",
            "line": 24
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYaml"
            }
          },
          "static": true
        }
      ],
      "name": "PnpmWorkspaceYaml",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The underlying `pnpm-workspace.yaml` file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace.ts",
            "line": 33
          },
          "name": "file",
          "type": {
            "fqn": "projen.YamlFile"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace:PnpmWorkspaceYaml"
    },
    "projen.javascript.PnpmWorkspaceYamlOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://pnpm.io/pnpm-workspace_yaml",
        "stability": "experimental",
        "summary": "Options for `PnpmWorkspaceYaml`."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlOptions",
      "interfaces": [
        "projen.javascript.PnpmWorkspaceYamlSchema"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace.ts",
        "line": 12
      },
      "name": "PnpmWorkspaceYamlOptions",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace:PnpmWorkspaceYamlOptions"
    },
    "projen.javascript.PnpmWorkspaceYamlSchema": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchema"
        },
        "stability": "experimental",
        "summary": "JSON schema for pnpm-workspace.yaml files."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchema",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 7
      },
      "name": "PnpmWorkspaceYamlSchema",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#allowBuilds"
            },
            "remarks": "This field replaces `onlyBuiltDependencies` and `ignoredBuiltDependencies` (which are also deprecated by this new setting), providing a single source of truth.",
            "stability": "experimental",
            "summary": "A map of package matchers to explicitly allow (`true`) or disallow (`false`) script execution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1064
          },
          "name": "allowBuilds",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#allowedDeprecatedVersions"
            },
            "stability": "experimental",
            "summary": "A list of deprecated versions that the warnings are suppressed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 119
          },
          "name": "allowedDeprecatedVersions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#allowNonAppliedPatches"
            },
            "stability": "experimental",
            "summary": "When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 140
          },
          "name": "allowNonAppliedPatches",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#allowUnusedPatches"
            },
            "remarks": "(Previously named \"allowNonAppliedPatches\")",
            "stability": "experimental",
            "summary": "When true, installation won't fail if some of the patches from the \"patchedDependencies\" field were not applied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 133
          },
          "name": "allowUnusedPatches",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#audit"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 170
          },
          "name": "audit",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAudit"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#auditConfig"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 175
          },
          "name": "auditConfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAuditConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#auditLevel"
            },
            "remarks": "When set to 'low', all vulnerabilities are reported. When set to 'moderate', 'high', or 'critical', only vulnerabilities with that severity or higher are reported.",
            "stability": "experimental",
            "summary": "Controls the level of issues reported by `pnpm audit`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1085
          },
          "name": "auditLevel",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAuditLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#autoInstallPeers"
            },
            "stability": "experimental",
            "summary": "When true, any missing non-optional peer dependencies are automatically installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 537
          },
          "name": "autoInstallPeers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#blockExoticSubdeps"
            },
            "remarks": "Only direct dependencies are allowed to use exotic sources.",
            "stability": "experimental",
            "summary": "When set to true, it prevents the resolution of exotic protocols (like git+ssh: or direct https: tarballs) in transitive dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1071
          },
          "name": "blockExoticSubdeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ca"
            },
            "stability": "experimental",
            "summary": "The Certificate Authority signing certificate that is trusted for SSL connections to the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 397
          },
          "name": "ca",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#cacheDir"
            },
            "stability": "experimental",
            "summary": "The location of the cache (package metadata and dlx)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 839
          },
          "name": "cacheDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#cafile"
            },
            "stability": "experimental",
            "summary": "A path to a file containing one or multiple Certificate Authority signing certificates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 404
          },
          "name": "cafile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#catalog"
            },
            "stability": "experimental",
            "summary": "Define dependency version ranges as reusable constants, for later reference in package.json files. This (singular) field creates a catalog named default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 23
          },
          "name": "catalog",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#catalogMode"
            },
            "stability": "experimental",
            "summary": "Controlling if and how dependencies are added to the default catalog."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 37
          },
          "name": "catalogMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaCatalogMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#catalogPrune"
            },
            "remarks": "`cleanupUnusedCatalogs` is the deprecated spelling of this setting and continues to work; when both are set, `catalogPrune` wins.",
            "stability": "experimental",
            "summary": "When set to true, pnpm will remove unused catalog entries during installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 51
          },
          "name": "catalogPrune",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#catalogs"
            },
            "stability": "experimental",
            "summary": "Define arbitrarily named catalogs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 30
          },
          "name": "catalogs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#cert"
            },
            "stability": "experimental",
            "summary": "A client certificate to pass when accessing the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 411
          },
          "name": "cert",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#childConcurrency"
            },
            "stability": "experimental",
            "summary": "The maximum number of child processes to allocate simultaneously to build node_modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 650
          },
          "name": "childConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#cleanupUnusedCatalogs"
            },
            "stability": "experimental",
            "summary": "When set to `true`, pnpm will remove unused catalog entries during installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 44
          },
          "name": "cleanupUnusedCatalogs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#color"
            },
            "stability": "experimental",
            "summary": "Controls colors in the output."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 565
          },
          "name": "color",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaColor"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#configDependencies"
            },
            "remarks": "They are installed before all regular dependencies ('dependencies', 'devDependencies', 'optionalDependencies'), making them ideal for setting up custom hooks, patches, and catalog entries.",
            "stability": "experimental",
            "summary": "Config dependencies allow you to share and centralize configuration files, settings, and hooks across multiple projects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 165
          },
          "name": "configDependencies",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dangerouslyAllowAllBuilds"
            },
            "stability": "experimental",
            "summary": "If set to true, all build scripts (e.g. preinstall, install, postinstall) from dependencies will run automatically, without requiring approval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 98
          },
          "name": "dangerouslyAllowAllBuilds",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dedupeDirectDeps"
            },
            "stability": "experimental",
            "summary": "When set to true, dependencies that are already symlinked to the root node_modules directory of the workspace will not be symlinked to subproject node_modules directories."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 902
          },
          "name": "dedupeDirectDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dedupeInjectedDeps"
            },
            "stability": "experimental",
            "summary": "When this setting is enabled, dependencies that are injected will be symlinked from the workspace whenever possible."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 909
          },
          "name": "dedupeInjectedDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dedupePeerDependents"
            },
            "stability": "experimental",
            "summary": "When this setting is set to true, packages with peer dependencies will be deduplicated after peers resolution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 544
          },
          "name": "dedupePeerDependents",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dedupePeers"
            },
            "stability": "experimental",
            "summary": "When enabled, peer dependency suffixes use version-only identifiers (`name@version`) instead of full dep paths, eliminating nested suffixes like `(foo@1.0.0(bar@2.0.0))`. This dramatically reduces the number of package instances in projects with many recursive peer dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1092
          },
          "name": "dedupePeers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#deployAllFiles"
            },
            "stability": "experimental",
            "summary": "When deploying a package or installing a local package, all files of the package are copied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 895
          },
          "name": "deployAllFiles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#disallowWorkspaceCycles"
            },
            "stability": "experimental",
            "summary": "When set to true, installation will fail if the workspace has cycles."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 776
          },
          "name": "disallowWorkspaceCycles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#dlxCacheMaxAge"
            },
            "stability": "experimental",
            "summary": "The time in minutes after which dlx cache expires."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 313
          },
          "name": "dlxCacheMaxAge",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#embedReadme"
            },
            "remarks": "When `true`, `pnpm publish` writes the README file's content into the published package.json (the `readme` field), so registries such as npmjs.com render the package's README. Added in pnpm 6.28.0; pnpm does not embed the README unless this is enabled. It also won't override a `readme` field already set in the package.json",
            "stability": "experimental",
            "summary": "UNDOCUMENTED."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 930
          },
          "name": "embedReadme",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#enableGlobalVirtualStore"
            },
            "stability": "experimental",
            "summary": "When enabled, node_modules contains only symlinks to a central virtual store, rather than to node_modules/.pnpm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 341
          },
          "name": "enableGlobalVirtualStore",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#enableModulesDir"
            },
            "stability": "experimental",
            "summary": "When false, pnpm will not write any files to the modules directory (node_modules)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 278
          },
          "name": "enableModulesDir",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#enablePrePostScripts"
            },
            "stability": "experimental",
            "summary": "When true, pnpm will run any pre/post scripts automatically."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 986
          },
          "name": "enablePrePostScripts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#engineStrict"
            },
            "stability": "experimental",
            "summary": "If this is enabled, pnpm will not install any package that claims to not be compatible with the current Node version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 601
          },
          "name": "engineStrict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#executionEnv"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 201
          },
          "name": "executionEnv",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaExecutionEnv"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#extendNodePath"
            },
            "stability": "experimental",
            "summary": "When false, the NODE_PATH environment variable is not set in the command shims."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 888
          },
          "name": "extendNodePath",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#failIfNoMatch"
            },
            "stability": "experimental",
            "summary": "If true, pnpm will fail if no packages match the filter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 790
          },
          "name": "failIfNoMatch",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchMinSpeedKiBps"
            },
            "remarks": "Added in pnpm v10.18.0.",
            "stability": "experimental",
            "summary": "A warning message is displayed if the download speed of a tarball from the registry falls below the specified threshold (in KiB/s)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 530
          },
          "name": "fetchMinSpeedKiBps",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchRetries"
            },
            "stability": "experimental",
            "summary": "How many times to retry if pnpm fails to fetch from the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 488
          },
          "name": "fetchRetries",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchRetryFactor"
            },
            "stability": "experimental",
            "summary": "The exponential factor for retry backoff."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 495
          },
          "name": "fetchRetryFactor",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchRetryMaxtimeout"
            },
            "stability": "experimental",
            "summary": "The maximum fallback timeout to ensure the retry factor does not make requests too long."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 509
          },
          "name": "fetchRetryMaxtimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchRetryMintimeout"
            },
            "stability": "experimental",
            "summary": "The minimum (base) timeout for retrying requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 502
          },
          "name": "fetchRetryMintimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchTimeout"
            },
            "stability": "experimental",
            "summary": "The maximum amount of time to wait for HTTP requests to complete."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 516
          },
          "name": "fetchTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#fetchWarnTimeoutMs"
            },
            "remarks": "Added in pnpm v10.18.0.",
            "stability": "experimental",
            "summary": "A warning message is displayed if a metadata request to the registry takes longer than the specified threshold (in milliseconds)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 523
          },
          "name": "fetchWarnTimeoutMs",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#forceLegacyDeploy"
            },
            "remarks": "If this setting is set to true, the legacy deploy behavior will be used.",
            "stability": "experimental",
            "summary": "By default, pnpm deploy will try creating a dedicated lockfile from a shared lockfile for deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 797
          },
          "name": "forceLegacyDeploy",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#gitBranchLockfile"
            },
            "stability": "experimental",
            "summary": "When set to true, the generated lockfile name after installation will be named based on the current branch name to completely avoid merge conflicts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 369
          },
          "name": "gitBranchLockfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#gitChecks"
            },
            "stability": "experimental",
            "summary": "Check if current branch is your publish branch, clean, and up-to-date with remote."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 923
          },
          "name": "gitChecks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#gitShallowHosts"
            },
            "stability": "experimental",
            "summary": "When fetching dependencies that are Git repositories, if the host is listed in this setting, pnpm will use shallow cloning to fetch only the needed commit, not all the history."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 425
          },
          "name": "gitShallowHosts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#globalBinDir"
            },
            "stability": "experimental",
            "summary": "Allows to set the target directory for the bin files of globally installed packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 825
          },
          "name": "globalBinDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#globalDir"
            },
            "stability": "experimental",
            "summary": "Specify a custom directory to store global packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 818
          },
          "name": "globalDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#globalPnpmfile"
            },
            "remarks": "A global pnpmfile is used by all projects during installation.",
            "stability": "experimental",
            "summary": "The location of a global pnpmfile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 965
          },
          "name": "globalPnpmfile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#hoist"
            },
            "stability": "experimental",
            "summary": "When true, all dependencies are hoisted to node_modules/.pnpm/node_modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 208
          },
          "name": "hoist",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#hoistingLimits"
            },
            "remarks": "It accepts `none` (the default — hoist as far as possible), workspaces (hoist only as far as each workspace package), or dependencies (hoist only up to each workspace package's direct dependencies).",
            "stability": "experimental",
            "summary": "Added a new hoistingLimits setting for `nodeLinker: hoisted` installs, mirroring yarn's `nmHoistingLimits`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1162
          },
          "name": "hoistingLimits",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaHoistingLimits"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#hoistPattern"
            },
            "stability": "experimental",
            "summary": "Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 222
          },
          "name": "hoistPattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#hoistWorkspacePackages"
            },
            "stability": "experimental",
            "summary": "When true, packages from the workspaces are symlinked to either <workspace_root>/node_modules/.pnpm/node_modules or to <workspace_root>/node_modules depending on other hoisting settings (hoistPattern and publicHoistPattern)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 215
          },
          "name": "hoistWorkspacePackages",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#httpProxy"
            },
            "remarks": "If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library.",
            "stability": "experimental",
            "summary": "A proxy to use for outgoing HTTP requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 439
          },
          "name": "httpProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#httpsProxy"
            },
            "remarks": "If the HTTPS_PROXY, https_proxy, HTTP_PROXY or http_proxy environment variables are set, their values will be used instead.",
            "stability": "experimental",
            "summary": "A proxy to use for outgoing HTTPS requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 432
          },
          "name": "httpsProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoreCompatibilityDb"
            },
            "remarks": "If you want to disable this, set this config to false.",
            "stability": "experimental",
            "summary": "During installation the dependencies of some packages are automatically patched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 867
          },
          "name": "ignoreCompatibilityDb",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoredBuiltDependencies"
            },
            "stability": "experimental",
            "summary": "A list of package names that should not be built during installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 112
          },
          "name": "ignoredBuiltDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoreDepScripts"
            },
            "remarks": "Scripts of the projects are executed.",
            "stability": "experimental",
            "summary": "Do not execute any scripts of the installed packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 643
          },
          "name": "ignoreDepScripts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoredOptionalDependencies"
            },
            "stability": "experimental",
            "summary": "A list of optional dependencies that the install should be skipped."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 196
          },
          "name": "ignoredOptionalDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignorePatchFailures"
            },
            "default": "undefined. Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.",
            "remarks": "Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.",
            "stability": "experimental",
            "summary": "Default is undefined."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 148
          },
          "name": "ignorePatchFailures",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignorePnpmfile"
            },
            "stability": "experimental",
            "summary": ".pnpmfile.cjs will be ignored. Useful together with --ignore-scripts when you want to make sure that no script gets executed during install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 972
          },
          "name": "ignorePnpmfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoreScripts"
            },
            "stability": "experimental",
            "summary": "Do not execute any scripts defined in the project package.json and its dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 636
          },
          "name": "ignoreScripts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoreWorkspaceCycles"
            },
            "stability": "experimental",
            "summary": "When set to true, no workspace cycle warnings will be printed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 762
          },
          "name": "ignoreWorkspaceCycles",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#ignoreWorkspaceRootCheck"
            },
            "stability": "experimental",
            "summary": "Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 769
          },
          "name": "ignoreWorkspaceRootCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#includeWorkspaceRoot"
            },
            "stability": "experimental",
            "summary": "When executing commands recursively in a workspace, execute them on the root workspace project as well."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 755
          },
          "name": "includeWorkspaceRoot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#injectWorkspacePackages"
            },
            "stability": "experimental",
            "summary": "Enables hard-linking of all local workspace dependencies instead of symlinking them."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 720
          },
          "name": "injectWorkspacePackages",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#key"
            },
            "stability": "experimental",
            "summary": "A client key to pass when accessing the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 418
          },
          "name": "key",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#linkWorkspacePackages"
            },
            "stability": "experimental",
            "summary": "If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 713
          },
          "name": "linkWorkspacePackages",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLinkWorkspacePackages"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#localAddress"
            },
            "stability": "experimental",
            "summary": "The IP address of the local interface to use when making connections to the npm registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 453
          },
          "name": "localAddress",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#lockfile"
            },
            "stability": "experimental",
            "summary": "When set to false, pnpm won't read or generate a pnpm-lock.yaml file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 348
          },
          "name": "lockfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#lockfileIncludeTarballUrl"
            },
            "stability": "experimental",
            "summary": "Add the full URL to the package's tarball to every entry in pnpm-lock.yaml."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 362
          },
          "name": "lockfileIncludeTarballUrl",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#loglevel"
            },
            "stability": "experimental",
            "summary": "Any logs at or higher than the given level will be shown."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 572
          },
          "name": "loglevel",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLoglevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#managePackageManagerVersions"
            },
            "stability": "experimental",
            "summary": "When enabled, pnpm will automatically download and run the version of pnpm specified in the packageManager field of package.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 629
          },
          "name": "managePackageManagerVersions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#maxsockets"
            },
            "stability": "experimental",
            "summary": "The maximum number of connections to use per origin (protocol/host/port combination)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 460
          },
          "name": "maxsockets",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#mergeGitBranchLockfilesBranchPattern"
            },
            "stability": "experimental",
            "summary": "This configuration matches the current branch name to determine whether to merge all git branch lockfile files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 376
          },
          "name": "mergeGitBranchLockfilesBranchPattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#minimumReleaseAge"
            },
            "remarks": "This applies to all dependencies, including transitive ones.",
            "stability": "experimental",
            "summary": "minimumReleaseAge defines the minimum number of minutes that must pass after a version is published before pnpm will install it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1014
          },
          "name": "minimumReleaseAge",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#minimumReleaseAgeExclude"
            },
            "remarks": "The exclusion works by `package name` and applies to all versions of that package.",
            "stability": "experimental",
            "summary": "If you set `minimumReleaseAge` but need certain dependencies to always install the newest version immediately, you can list them under `minimumReleaseAgeExclude`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1021
          },
          "name": "minimumReleaseAgeExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#minimumReleaseAgeExcludePrune"
            },
            "stability": "experimental",
            "summary": "When set to true, pnpm add, pnpm update, and pnpm remove prune the entries of minimumReleaseAgeExclude in pnpm-workspace.yaml that the freshly written lockfile no longer resolves: a version that is gone is dropped (an entry is removed once none of its versions remain), and an entry for a package that is no longer in the lockfile is removed too. Name patterns (@myorg/*) are always kept."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1036
          },
          "name": "minimumReleaseAgeExcludePrune",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#minimumReleaseAgeIgnoreMissingTime"
            },
            "remarks": "Set to `false` to fail resolution in that case instead of installing the package.",
            "stability": "experimental",
            "summary": "When `true`, pnpm skips the `minimumReleaseAge` check for a package whose registry metadata does not include the time field (some private registries and mirrors omit it)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1106
          },
          "name": "minimumReleaseAgeIgnoreMissingTime",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#minimumReleaseAgeStrict"
            },
            "remarks": "https://pnpm.io/settings#minimumreleaseagestrict",
            "stability": "experimental",
            "summary": "Controls how pnpm behaves when no version of a dependency satisfies the minimumReleaseAge constraint within the requested range."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1029
          },
          "name": "minimumReleaseAgeStrict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#modulesCacheMaxAge"
            },
            "stability": "experimental",
            "summary": "The time in minutes after which orphan packages from the modules directory should be removed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 306
          },
          "name": "modulesCacheMaxAge",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#modulesDir"
            },
            "stability": "experimental",
            "summary": "The directory in which dependencies will be installed (instead of node_modules)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 243
          },
          "name": "modulesDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#namedRegistries"
            },
            "stability": "experimental",
            "summary": "Defines named registry aliases that can be used as a prefix when installing packages, e.g. `pnpm add work:@corp/lib@^2.0.0` resolves `@corp/lib@^2.0.0` against the configured URL. Built-in aliases `gh:` (https://npm.pkg.github.com/) and `npmjs:` (https://registry.npmjs.org/) work without any configuration and can be overridden. An alias must start with a letter and contain only letters, digits, `.`, `_`, and `-`. Added in pnpm 11.1.0."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1120
          },
          "name": "namedRegistries",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#networkConcurrency"
            },
            "stability": "experimental",
            "summary": "Controls the maximum number of HTTP(S) requests to process simultaneously."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 481
          },
          "name": "networkConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#neverBuiltDependencies"
            },
            "stability": "experimental",
            "summary": "A list of dependencies to run builds for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 91
          },
          "name": "neverBuiltDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodeDownloadMirrors"
            },
            "stability": "experimental",
            "summary": "Configure custom Node.js download mirrors in `pnpm-workspace.yaml`. The keys are release channels (`release`, `rc`, `nightly`, `v8-canary`, etc.) and the values are base URLs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1148
          },
          "name": "nodeDownloadMirrors",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodeExperimentalPackageMap"
            },
            "stability": "experimental",
            "summary": "When true, pnpm injects the generated node_modules/.package-map.json into pnpm-managed Node.js script environments by adding Node's --experimental-package-map option to NODE_OPTIONS. see https://pnpm.io/settings/node-modules#nodeexperimentalpackagemap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 257
          },
          "name": "nodeExperimentalPackageMap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodeLinker"
            },
            "stability": "experimental",
            "summary": "Defines what linker should be used for installing Node packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 250
          },
          "name": "nodeLinker",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaNodeLinker"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodeOptions"
            },
            "stability": "experimental",
            "summary": "Options to pass through to Node.js via the NODE_OPTIONS environment variable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 678
          },
          "name": "nodeOptions",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodePackageMapType"
            },
            "stability": "experimental",
            "summary": "Controls how node_modules/.package-map.json is generated. standard - only declared dependencies are available through the package map. loose - also maps packages that are reachable through the installed node_modules layout, which can allow undeclared hoisted dependencies to resolve."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 264
          },
          "name": "nodePackageMapType",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaNodePackageMapType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#nodeVersion"
            },
            "stability": "experimental",
            "summary": "The Node.js version to use when checking a package's engines setting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 706
          },
          "name": "nodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#noProxy"
            },
            "stability": "experimental",
            "summary": "A comma-separated string of domain extensions that a proxy should not be used for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 467
          },
          "name": "noProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#npmPath"
            },
            "stability": "experimental",
            "summary": "The location of the npm binary that pnpm uses for some actions, like publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 608
          },
          "name": "npmPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#npmrcAuthFile"
            },
            "remarks": "By default, pnpm reads auth tokens from ~/.npmrc as a fallback for registry authentication. Use this setting to point to a different file instead.",
            "stability": "experimental",
            "summary": "The path to a file containing registry authentication tokens."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1099
          },
          "name": "npmrcAuthFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#onlyBuiltDependencies"
            },
            "stability": "experimental",
            "summary": "A list of package names that are allowed to be executed during installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 58
          },
          "name": "onlyBuiltDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#onlyBuiltDependenciesFile"
            },
            "stability": "experimental",
            "summary": "Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 105
          },
          "name": "onlyBuiltDependenciesFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#optimisticRepeatInstall"
            },
            "remarks": "This way a repeat install or an install on a project with everything up-to-date becomes a lot faster.",
            "stability": "experimental",
            "summary": "When enabled, a fast check will be performed before proceeding to installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 916
          },
          "name": "optimisticRepeatInstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#overrides"
            },
            "stability": "experimental",
            "summary": "Used to override any dependency in the dependency graph."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 65
          },
          "name": "overrides",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packageConfigs"
            },
            "stability": "experimental",
            "summary": "Per-workspace-project pnpm settings that replace project-specific .npmrc files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 79
          },
          "name": "packageConfigs",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packageExtensions"
            },
            "stability": "experimental",
            "summary": "Used to extend the existing package definitions with additional information."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 72
          },
          "name": "packageExtensions",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packageImportMethod"
            },
            "stability": "experimental",
            "summary": "Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 299
          },
          "name": "packageImportMethod",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPackageImportMethod"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packageManagerStrict"
            },
            "stability": "experimental",
            "summary": "If this setting is disabled, pnpm will not fail if a different package manager is specified in the packageManager field of package.json. When enabled, only the package name is checked (since pnpm v9.2.0), so you can still run any version of pnpm regardless of the version specified in the packageManager field."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 615
          },
          "name": "packageManagerStrict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packageManagerStrictVersion"
            },
            "stability": "experimental",
            "summary": "When enabled, pnpm will fail if its version doesn't exactly match the version specified in the packageManager field of package.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 622
          },
          "name": "packageManagerStrictVersion",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#packages"
            },
            "remarks": "Glob patterns are supported",
            "stability": "experimental",
            "summary": "Workspace package paths."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 13
          },
          "name": "packages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#patchedDependencies"
            },
            "stability": "experimental",
            "summary": "A list of dependencies that are patched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 126
          },
          "name": "patchedDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#patchesDir"
            },
            "stability": "experimental",
            "summary": "The generated patch file will be saved to this directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 979
          },
          "name": "patchesDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#peerDependencyRules"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 84
          },
          "name": "peerDependencyRules",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPeerDependencyRules"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#peersSuffixMaxLength"
            },
            "remarks": "If the suffix is longer, it is replaced with a hash.",
            "stability": "experimental",
            "summary": "Max length of the peer IDs suffix added to dependency keys in the lockfile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 383
          },
          "name": "peersSuffixMaxLength",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#pmOnFail"
            },
            "stability": "experimental",
            "summary": "Overrides the `onFail` behavior of both the `packageManager` field and `devEngines.packageManager` when the running pnpm version does not match the declared one."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1134
          },
          "name": "pmOnFail",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPmOnFail"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#pnpmfile"
            },
            "stability": "experimental",
            "summary": "The location of the local pnpmfile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 958
          },
          "name": "pnpmfile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#preferFrozenLockfile"
            },
            "stability": "experimental",
            "summary": "When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 355
          },
          "name": "preferFrozenLockfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#preferOffline"
            },
            "remarks": "Missing data will still be requested from the server.",
            "stability": "experimental",
            "summary": "Bypass staleness checks for cached data."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1043
          },
          "name": "preferOffline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#preferSymlinkedExecutables"
            },
            "stability": "experimental",
            "summary": "Create symlinks to executables in node_modules/.bin instead of command shims. This setting is ignored on Windows, where only command shims work."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 860
          },
          "name": "preferSymlinkedExecutables",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#preferWorkspacePackages"
            },
            "stability": "experimental",
            "summary": "If this is enabled, local packages from the workspace are preferred over packages from the registry, even if there is a newer version of the package in the registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 734
          },
          "name": "preferWorkspacePackages",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#provenance"
            },
            "stability": "experimental",
            "summary": "When publishing from a supported cloud CI/CD system, the package will be publicly linked to where it was built and published from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 951
          },
          "name": "provenance",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#proxy"
            },
            "remarks": "If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library.",
            "stability": "experimental",
            "summary": "npm's legacy proxy setting, used as the fallback for both httpsProxy and httpProxy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 446
          },
          "name": "proxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#publicHoistPattern"
            },
            "stability": "experimental",
            "summary": "Unlike hoistPattern, which hoists dependencies to a hidden modules directory inside the virtual store, publicHoistPattern hoists dependencies matching the pattern to the root modules directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 229
          },
          "name": "publicHoistPattern",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#publishBranch"
            },
            "stability": "experimental",
            "summary": "The primary branch of the repository which is used for publishing the latest changes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 937
          },
          "name": "publishBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#recursiveInstall"
            },
            "stability": "experimental",
            "summary": "If this is enabled, the primary behaviour of pnpm install becomes that of pnpm install -r, meaning the install is performed on all workspace or subdirectory packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 594
          },
          "name": "recursiveInstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#registries"
            },
            "stability": "experimental",
            "summary": "Configure registries for scoped packages in `pnpm-workspace.yaml`. The `default` key sets the main registry (equivalent to the `registry` `.npmrc` setting). Scoped keys configure registries for specific package scopes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1113
          },
          "name": "registries",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#registry"
            },
            "stability": "experimental",
            "summary": "The base URL of the npm package registry (trailing slash included)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 390
          },
          "name": "registry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#registrySupportsTimeField"
            },
            "stability": "experimental",
            "summary": "Set this to true if the registry that you are using returns the \"time\" field in the abbreviated metadata."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 881
          },
          "name": "registrySupportsTimeField",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#reporter"
            },
            "remarks": "https://pnpm.io/cli/install#--reportername",
            "stability": "experimental",
            "summary": "Allows you to customize the output style of the logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 580
          },
          "name": "reporter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaReporter"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#requiredScripts"
            },
            "stability": "experimental",
            "summary": "A list of scripts that must exist in each project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 182
          },
          "name": "requiredScripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#resolutionMode"
            },
            "stability": "experimental",
            "summary": "Determines how pnpm resolves dependencies, See https://pnpm.io/settings#resolutionmode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 874
          },
          "name": "resolutionMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaResolutionMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#resolvePeersFromWorkspaceRoot"
            },
            "stability": "experimental",
            "summary": "When enabled, dependencies of the root workspace project are used to resolve peer dependencies of any projects in the workspace."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 558
          },
          "name": "resolvePeersFromWorkspaceRoot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#runtimeOnFail"
            },
            "stability": "experimental",
            "summary": "Overrides the `onFail` field of `devEngines.runtime` (and `engines.runtime`) in the root project's `package.json`. This is useful when you want a different local behavior than what is written in the manifest — for instance, forcing pnpm to download the declared runtime even when the manifest sets `onFail: \"warn\"`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1141
          },
          "name": "runtimeOnFail",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaRuntimeOnFail"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#saveExact"
            },
            "stability": "experimental",
            "summary": "Saved dependencies will be configured with an exact version rather than using pnpm's default semver range operator."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1007
          },
          "name": "saveExact",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#savePrefix"
            },
            "stability": "experimental",
            "summary": "Configure how versions of packages installed to a package.json file get prefixed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 804
          },
          "name": "savePrefix",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSavePrefix"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#saveWorkspaceProtocol"
            },
            "stability": "experimental",
            "summary": "This setting controls how dependencies that are linked from the workspace are added to package.json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 748
          },
          "name": "saveWorkspaceProtocol",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#scriptShell"
            },
            "stability": "experimental",
            "summary": "The shell to use for scripts run with the pnpm run command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 993
          },
          "name": "scriptShell",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#shamefullyHoist"
            },
            "stability": "experimental",
            "summary": "By default, pnpm creates a semistrict node_modules, meaning dependencies have access to undeclared dependencies but modules outside of node_modules do not."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 236
          },
          "name": "shamefullyHoist",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#sharedWorkspaceLockfile"
            },
            "stability": "experimental",
            "summary": "If this is enabled, pnpm creates a single pnpm-lock.yaml file in the root of the workspace."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 741
          },
          "name": "sharedWorkspaceLockfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#shellEmulator"
            },
            "stability": "experimental",
            "summary": "When true, pnpm will use a JavaScript implementation of a bash-like shell to execute scripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1000
          },
          "name": "shellEmulator",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#sideEffectsCache"
            },
            "stability": "experimental",
            "summary": "Use and cache the results of (pre/post)install hooks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 657
          },
          "name": "sideEffectsCache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#sideEffectsCacheReadonly"
            },
            "stability": "experimental",
            "summary": "Only use the side effects cache if present, do not create it for new packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 664
          },
          "name": "sideEffectsCacheReadonly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#stateDir"
            },
            "stability": "experimental",
            "summary": "The location where all the packages are saved on the disk."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 832
          },
          "name": "stateDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#storeDir"
            },
            "stability": "experimental",
            "summary": "The location where all the packages are saved on the disk."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 320
          },
          "name": "storeDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#strictDepBuilds"
            },
            "stability": "experimental",
            "summary": "When strictDepBuilds is enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 692
          },
          "name": "strictDepBuilds",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#strictPeerDependencies"
            },
            "stability": "experimental",
            "summary": "If this is enabled, commands will fail if there is a missing or invalid peer dependency in the tree."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 551
          },
          "name": "strictPeerDependencies",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#strictSsl"
            },
            "stability": "experimental",
            "summary": "Whether or not to do SSL key validation when making requests to the registry via HTTPS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 474
          },
          "name": "strictSsl",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#strictStorePkgContentCheck"
            },
            "stability": "experimental",
            "summary": "Some registries allow the exact same content to be published under different package names and/or versions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 334
          },
          "name": "strictStorePkgContentCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#supportedArchitectures"
            },
            "stability": "experimental",
            "summary": "Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 189
          },
          "name": "supportedArchitectures",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSupportedArchitectures"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#symlink"
            },
            "remarks": "It is a useful setting together with nodeLinker=pnp.",
            "stability": "experimental",
            "summary": "When symlink is set to false, pnpm creates a virtual store directory without any symlinks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 271
          },
          "name": "symlink",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#syncInjectedDepsAfterScripts"
            },
            "stability": "experimental",
            "summary": "Injected workspace dependencies are collections of hardlinks, which don't add or remove the files when their sources change."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 727
          },
          "name": "syncInjectedDepsAfterScripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#tag"
            },
            "stability": "experimental",
            "summary": "If you pnpm add a package and you don't provide a specific version, then it will install the package at the version registered under the tag from this setting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 811
          },
          "name": "tag",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#trustLockfile"
            },
            "remarks": "When true, the install treats the lockfile as already-trusted and skips the verification pass — useful for closed-source projects where every commit comes from a trusted author. The default is false, so verification stays on by default.",
            "stability": "experimental",
            "summary": "A new trustLockfile setting controls whether pnpm install re-applies the `minimumReleaseAge` / `trustPolicy: 'no-downgrade'` checks to every entry in the loaded lockfile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1155
          },
          "name": "trustLockfile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#trustPolicy"
            },
            "remarks": "For example, if a package was previously published by a trusted publisher but now only has provenance or no trust evidence, installation will fail. This helps prevent installing potentially compromised versions.",
            "stability": "experimental",
            "summary": "When set to no-downgrade, pnpm will fail if a package's trust level has decreased compared to previous releases."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1050
          },
          "name": "trustPolicy",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaTrustPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#trustPolicyExclude"
            },
            "stability": "experimental",
            "summary": "You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1057
          },
          "name": "trustPolicyExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#trustPolicyIgnoreAfter"
            },
            "remarks": "This is useful when enabling strict trust policies, as it allows older versions of packages (which may lack a process for publishing with signatures or provenance) to be installed without manual exclusion, assuming they are safe due to their age.",
            "stability": "experimental",
            "summary": "Allows ignoring the trust policy check for packages published more than the specified number of minutes ago."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1078
          },
          "name": "trustPolicyIgnoreAfter",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#unsafePerm"
            },
            "remarks": "If set explicitly to false, then installing as a non-root user will fail.",
            "stability": "experimental",
            "summary": "Set to true to enable UID/GID switching when running package scripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 671
          },
          "name": "unsafePerm",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#update"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 153
          },
          "name": "update",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaUpdate"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#updateConfig"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 158
          },
          "name": "updateConfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaUpdateConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#updateNotifier"
            },
            "stability": "experimental",
            "summary": "When true, pnpm will check for updates to the installed packages and notify the user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 853
          },
          "name": "updateNotifier",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#useBetaCli"
            },
            "stability": "experimental",
            "summary": "Experimental option that enables beta features of the CLI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 587
          },
          "name": "useBetaCli",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#useNodeVersion"
            },
            "stability": "experimental",
            "summary": "Specifies which exact Node.js version should be used for the project's runtime."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 699
          },
          "name": "useNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#useStderr"
            },
            "stability": "experimental",
            "summary": "When true, all the output is written to stderr."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 846
          },
          "name": "useStderr",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#verifyDepsBeforeRun"
            },
            "stability": "experimental",
            "summary": "This setting allows the checking of the state of dependencies before running scripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 685
          },
          "name": "verifyDepsBeforeRun",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#verifyStoreIntegrity"
            },
            "stability": "experimental",
            "summary": "By default, if a file in the store has been modified, the content of this file is checked before linking it to a project's node_modules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 327
          },
          "name": "verifyStoreIntegrity",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#versioning"
            },
            "stability": "experimental",
            "summary": "Versioning settings for pnpm's native workspace release management, used by `pnpm change` and recursive `pnpm version`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 944
          },
          "name": "versioning",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioning"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#virtualStoreDir"
            },
            "stability": "experimental",
            "summary": "The directory with links to the store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 285
          },
          "name": "virtualStoreDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#virtualStoreDirMaxLength"
            },
            "stability": "experimental",
            "summary": "Sets the maximum allowed length of directory names inside the virtual store directory (node_modules/.pnpm)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 292
          },
          "name": "virtualStoreDirMaxLength",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#virtualStoreOnly"
            },
            "remarks": "This is useful for pre-populating a store (e.g., in Nix builds) without creating unnecessary project-level artifacts. pnpm fetch uses this mode internally.",
            "stability": "experimental",
            "summary": "When set to true, pnpm populates the virtual store without creating importer symlinks, hoisting, bin links, or running lifecycle scripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1127
          },
          "name": "virtualStoreOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchema#workspaceConcurrency"
            },
            "remarks": "For unlimited concurrency use Infinity. You can set the value to <= 0 and it will use amount of CPU cores of the host minus the absolute value of the provided number as: max(1, (number of cores) - abs(workspaceConcurrency)).",
            "stability": "experimental",
            "summary": "Set the maximum number of tasks to run simultaneously."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 783
          },
          "name": "workspaceConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchema"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaAudit": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaAudit"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAudit",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1483
      },
      "name": "PnpmWorkspaceYamlSchemaAudit",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaAudit#ignore"
            },
            "stability": "experimental",
            "summary": "A list of GHSA codes that will be ignored by pnpm audit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1496
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaAudit#level"
            },
            "stability": "experimental",
            "summary": "Only print advisories with severity greater than or equal to this level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1489
          },
          "name": "level",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAuditLevel"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaAudit"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaAuditConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaAuditConfig"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAuditConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1518
      },
      "name": "PnpmWorkspaceYamlSchemaAuditConfig",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaAuditConfig#ignoreCves"
            },
            "stability": "experimental",
            "summary": "A list of CVE IDs that will be ignored by \"pnpm audit\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1524
          },
          "name": "ignoreCves",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaAuditConfig#ignoreGhsas"
            },
            "stability": "experimental",
            "summary": "A list of GHSA Codes that will be ignored by \"pnpm audit\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1531
          },
          "name": "ignoreGhsas",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaAuditConfig"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaAuditLevel": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaAuditLevel"
        },
        "stability": "experimental",
        "summary": "Only print advisories with severity greater than or equal to this level."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaAuditLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1853
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "low."
          },
          "name": "LOW"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "moderate."
          },
          "name": "MODERATE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "high."
          },
          "name": "HIGH"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "critical."
          },
          "name": "CRITICAL"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaAuditLevel",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaAuditLevel"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaCatalogMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaCatalogMode"
        },
        "stability": "experimental",
        "summary": "Controlling if and how dependencies are added to the default catalog."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaCatalogMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1350
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "strict."
          },
          "name": "STRICT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "prefer."
          },
          "name": "PREFER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "manual."
          },
          "name": "MANUAL"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaCatalogMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaCatalogMode"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaColor": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaColor"
        },
        "stability": "experimental",
        "summary": "Controls colors in the output."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaColor",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1665
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "always."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "auto."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "never."
          },
          "name": "NEVER"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaColor",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaColor"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaExecutionEnv": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaExecutionEnv"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaExecutionEnv",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1592
      },
      "name": "PnpmWorkspaceYamlSchemaExecutionEnv",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaExecutionEnv#nodeVersion"
            },
            "stability": "experimental",
            "summary": "Specifies which exact Node.js version should be used for the project's runtime."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1598
          },
          "name": "nodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaExecutionEnv"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaHoistingLimits": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaHoistingLimits"
        },
        "remarks": "It accepts `none` (the default — hoist as far as possible), workspaces (hoist only as far as each workspace package), or dependencies (hoist only up to each workspace package's direct dependencies).",
        "stability": "experimental",
        "summary": "Added a new hoistingLimits setting for `nodeLinker: hoisted` installs, mirroring yarn's `nmHoistingLimits`."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaHoistingLimits",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1901
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "node."
          },
          "name": "NODE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "workspaces."
          },
          "name": "WORKSPACES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "dependencies."
          },
          "name": "DEPENDENCIES"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaHoistingLimits",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaHoistingLimits"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaLinkWorkspacePackages": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaLinkWorkspacePackages"
        },
        "stability": "experimental",
        "summary": "If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLinkWorkspacePackages",
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1712
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1713
          },
          "name": "fromBoolean",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "boolean"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLinkWorkspacePackages"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1716
          },
          "name": "fromString",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLinkWorkspacePackages"
            }
          },
          "static": true
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaLinkWorkspacePackages",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1719
          },
          "name": "value",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaLinkWorkspacePackages"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaLoglevel": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaLoglevel"
        },
        "stability": "experimental",
        "summary": "Any logs at or higher than the given level will be shown."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaLoglevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1679
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "debug."
          },
          "name": "DEBUG"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "info."
          },
          "name": "INFO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "warn."
          },
          "name": "WARN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "error."
          },
          "name": "ERROR"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaLoglevel",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaLoglevel"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaNodeLinker": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaNodeLinker"
        },
        "stability": "experimental",
        "summary": "Defines what linker should be used for installing Node packages."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaNodeLinker",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1621
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "isolated."
          },
          "name": "ISOLATED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "hoisted."
          },
          "name": "HOISTED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "pnp."
          },
          "name": "PNP"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaNodeLinker",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaNodeLinker"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaNodePackageMapType": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaNodePackageMapType"
        },
        "stability": "experimental",
        "summary": "Controls how node_modules/.package-map.json is generated. standard - only declared dependencies are available through the package map. loose - also maps packages that are reachable through the installed node_modules layout, which can allow undeclared hoisted dependencies to resolve."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaNodePackageMapType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1635
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "standard."
          },
          "name": "STANDARD"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "loose."
          },
          "name": "LOOSE"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaNodePackageMapType",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaNodePackageMapType"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaPackageImportMethod": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaPackageImportMethod"
        },
        "stability": "experimental",
        "summary": "Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one)."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPackageImportMethod",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1647
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "auto."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "hardlink."
          },
          "name": "HARDLINK"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "copy."
          },
          "name": "COPY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "clone."
          },
          "name": "CLONE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "clone-or-copy."
          },
          "name": "CLONE_HYPHEN_OR_HYPHEN_COPY"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaPackageImportMethod",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaPackageImportMethod"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaPeerDependencyRules": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaPeerDependencyRules"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPeerDependencyRules",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1362
      },
      "name": "PnpmWorkspaceYamlSchemaPeerDependencyRules",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaPeerDependencyRules#allowAny"
            },
            "stability": "experimental",
            "summary": "Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in \"peerDependencies\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1382
          },
          "name": "allowAny",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaPeerDependencyRules#allowedVersions"
            },
            "stability": "experimental",
            "summary": "Unmet peer dependency warnings will not be printed for peer dependencies of the specified range."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1375
          },
          "name": "allowedVersions",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaPeerDependencyRules#ignoreMissing"
            },
            "stability": "experimental",
            "summary": "pnpm will not print warnings about missing peer dependencies from this list."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1368
          },
          "name": "ignoreMissing",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaPeerDependencyRules"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaPmOnFail": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaPmOnFail"
        },
        "stability": "experimental",
        "summary": "Overrides the `onFail` behavior of both the `packageManager` field and `devEngines.packageManager` when the running pnpm version does not match the declared one."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaPmOnFail",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1869
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "download."
          },
          "name": "DOWNLOAD"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "error."
          },
          "name": "ERROR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "warn."
          },
          "name": "WARN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "ignore."
          },
          "name": "IGNORE"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaPmOnFail",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaPmOnFail"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaReporter": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaReporter"
        },
        "remarks": "https://pnpm.io/cli/install#--reportername",
        "stability": "experimental",
        "summary": "Allows you to customize the output style of the logs."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaReporter",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1696
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "silent."
          },
          "name": "SILENT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "default."
          },
          "name": "DEFAULT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "append-only."
          },
          "name": "APPEND_HYPHEN_ONLY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "ndjson."
          },
          "name": "NDJSON"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaReporter",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaReporter"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaResolutionMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaResolutionMode"
        },
        "stability": "experimental",
        "summary": "Determines how pnpm resolves dependencies, See https://pnpm.io/settings#resolutionmode."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaResolutionMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1758
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "highest."
          },
          "name": "HIGHEST"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "time-based."
          },
          "name": "TIME_HYPHEN_BASED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "lowest-direct."
          },
          "name": "LOWEST_HYPHEN_DIRECT"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaResolutionMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaResolutionMode"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaRuntimeOnFail": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaRuntimeOnFail"
        },
        "stability": "experimental",
        "summary": "Overrides the `onFail` field of `devEngines.runtime` (and `engines.runtime`) in the root project's `package.json`. This is useful when you want a different local behavior than what is written in the manifest — for instance, forcing pnpm to download the declared runtime even when the manifest sets `onFail: \"warn\"`."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaRuntimeOnFail",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1885
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "download."
          },
          "name": "DOWNLOAD"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "error."
          },
          "name": "ERROR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "warn."
          },
          "name": "WARN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "ignore."
          },
          "name": "IGNORE"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaRuntimeOnFail",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaRuntimeOnFail"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaSavePrefix": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaSavePrefix"
        },
        "stability": "experimental",
        "summary": "Configure how versions of packages installed to a package.json file get prefixed."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSavePrefix",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1744
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "^."
          },
          "name": "VALUE_CARAT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "~."
          },
          "name": "VALUE_TILDE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "=."
          },
          "name": "VALUE_EQUALS"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaSavePrefix",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaSavePrefix"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol"
        },
        "stability": "experimental",
        "summary": "This setting controls how dependencies that are linked from the workspace are added to package.json."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol",
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1728
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1729
          },
          "name": "fromBoolean",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "boolean"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1732
          },
          "name": "fromString",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol"
            }
          },
          "static": true
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1735
          },
          "name": "value",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaSupportedArchitectures": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaSupportedArchitectures"
        },
        "stability": "experimental",
        "summary": "Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaSupportedArchitectures",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1555
      },
      "name": "PnpmWorkspaceYamlSchemaSupportedArchitectures",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaSupportedArchitectures#cpu"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1564
          },
          "name": "cpu",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaSupportedArchitectures#libc"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1569
          },
          "name": "libc",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaSupportedArchitectures#os"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1559
          },
          "name": "os",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaSupportedArchitectures"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaTrustPolicy": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaTrustPolicy"
        },
        "remarks": "For example, if a package was previously published by a trusted publisher but now only has provenance or no trust evidence, installation will fail. This helps prevent installing potentially compromised versions.",
        "stability": "experimental",
        "summary": "When set to no-downgrade, pnpm will fail if a package's trust level has decreased compared to previous releases."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaTrustPolicy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1841
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "off."
          },
          "name": "OFF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "no-downgrade."
          },
          "name": "NO_HYPHEN_DOWNGRADE"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaTrustPolicy",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaTrustPolicy"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaUpdate": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaUpdate"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaUpdate",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1405
      },
      "name": "PnpmWorkspaceYamlSchemaUpdate",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaUpdate#changeset"
            },
            "stability": "experimental",
            "summary": "When true, pnpm update writes a change intent after updating workspace manifests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1418
          },
          "name": "changeset",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaUpdate#githubActions"
            },
            "stability": "experimental",
            "summary": "When true, pnpm update and pnpm outdated also check the GitHub Actions referenced by the repository's workflow files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1425
          },
          "name": "githubActions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaUpdate#githubActionsServer"
            },
            "stability": "experimental",
            "summary": "The base URL of the GitHub server that hosts the repositories of the GitHub Actions referenced by the workflow files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1432
          },
          "name": "githubActionsServer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaUpdate#ignoreDeps"
            },
            "stability": "experimental",
            "summary": "A list of dependency name patterns that pnpm update and pnpm outdated should skip."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1411
          },
          "name": "ignoreDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaUpdate"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaUpdateConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaUpdateConfig"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaUpdateConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1456
      },
      "name": "PnpmWorkspaceYamlSchemaUpdateConfig",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaUpdateConfig#ignoreDependencies"
            },
            "stability": "experimental",
            "summary": "A list of packages that should be ignored when running \"pnpm outdated\" or \"pnpm update --latest\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1462
          },
          "name": "ignoreDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaUpdateConfig"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaVersioning": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaVersioning"
        },
        "stability": "experimental",
        "summary": "Versioning settings for pnpm's native workspace release management, used by `pnpm change` and recursive `pnpm version`."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioning",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1772
      },
      "name": "PnpmWorkspaceYamlSchemaVersioning",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#changelog"
            },
            "stability": "experimental",
            "summary": "Controls where release changelog content is stored."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1813
          },
          "name": "changelog",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelog"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#epics"
            },
            "stability": "experimental",
            "summary": "Ties member projects to a lead project and constrains their major versions to the lead's major-version band."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1806
          },
          "name": "epics",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningEpics"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#fixed"
            },
            "remarks": "The shared version is the highest current version in the group, bumped by the largest bump any member needs.",
            "stability": "experimental",
            "summary": "Groups of workspace projects that always release together at one shared version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1778
          },
          "name": "fixed",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#ignore"
            },
            "stability": "experimental",
            "summary": "Workspace projects permanently excluded from versioning and dependent propagation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1785
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#lanes"
            },
            "remarks": "Unlisted projects are on the reserved `main` lane and release stable versions.",
            "stability": "experimental",
            "summary": "Maps a workspace project to a release lane."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1799
          },
          "name": "lanes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioning#maxBump"
            },
            "stability": "experimental",
            "summary": "Caps the bump that a release from the current checkout may apply, after dependent propagation and fixed-group resolution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1792
          },
          "name": "maxBump",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningMaxBump"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaVersioning"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelog": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaVersioningChangelog"
        },
        "stability": "experimental",
        "summary": "Controls where release changelog content is stored."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelog",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1964
      },
      "name": "PnpmWorkspaceYamlSchemaVersioningChangelog",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioningChangelog#storage"
            },
            "remarks": "`registry` composes changelog entries at publish time, while `repository` commits CHANGELOG.md files in packages.",
            "stability": "experimental",
            "summary": "Changelog storage mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1970
          },
          "name": "storage",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelogStorage"
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaVersioningChangelog"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelogStorage": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaVersioningChangelogStorage"
        },
        "remarks": "`registry` composes changelog entries at publish time, while `repository` commits CHANGELOG.md files in packages.",
        "stability": "experimental",
        "summary": "Changelog storage mode."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningChangelogStorage",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1993
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "registry."
          },
          "name": "REGISTRY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "repository."
          },
          "name": "REPOSITORY"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaVersioningChangelogStorage",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaVersioningChangelogStorage"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaVersioningEpics": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaVersioningEpics"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningEpics",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1927
      },
      "name": "PnpmWorkspaceYamlSchemaVersioningEpics",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioningEpics#lead"
            },
            "stability": "experimental",
            "summary": "Lead workspace project name or a `./`-prefixed workspace-relative directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1933
          },
          "name": "lead",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PnpmWorkspaceYamlSchemaVersioningEpics#packages"
            },
            "stability": "experimental",
            "summary": "Project selectors matched in order, supporting name globs, `./`-prefixed directory globs, and `!`-prefixed negations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/pnpm-workspace-config.ts",
            "line": 1940
          },
          "name": "packages",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaVersioningEpics"
    },
    "projen.javascript.PnpmWorkspaceYamlSchemaVersioningMaxBump": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PnpmWorkspaceYamlSchemaVersioningMaxBump"
        },
        "stability": "experimental",
        "summary": "Caps the bump that a release from the current checkout may apply, after dependent propagation and fixed-group resolution."
      },
      "fqn": "projen.javascript.PnpmWorkspaceYamlSchemaVersioningMaxBump",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/pnpm-workspace-config.ts",
        "line": 1915
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "patch."
          },
          "name": "PATCH"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "minor."
          },
          "name": "MINOR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "major."
          },
          "name": "MAJOR"
        }
      ],
      "name": "PnpmWorkspaceYamlSchemaVersioningMaxBump",
      "namespace": "javascript",
      "symbolId": "src/javascript/pnpm-workspace-config:PnpmWorkspaceYamlSchemaVersioningMaxBump"
    },
    "projen.javascript.Prettier": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Represents prettier configuration."
      },
      "fqn": "projen.javascript.Prettier",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/prettier.ts",
          "line": 376
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.javascript.PrettierOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 354
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 355
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.javascript.Prettier"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Defines Prettier ignore Patterns these patterns will be added to the file .prettierignore."
          },
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 427
          },
          "name": "addIgnorePattern",
          "parameters": [
            {
              "docs": {
                "summary": "filepatterns so exclude from prettier formatting."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "see": "https://prettier.io/docs/en/configuration.html#configuration-overrides",
            "stability": "experimental",
            "summary": "Add a prettier override."
          },
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 417
          },
          "name": "addOverride",
          "parameters": [
            {
              "name": "override",
              "type": {
                "fqn": "projen.javascript.PrettierOverride"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 438
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "Prettier",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns all Prettier overrides."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 434
          },
          "name": "overrides",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.PrettierOverride"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Direct access to the prettier settings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 362
          },
          "name": "settings",
          "type": {
            "fqn": "projen.javascript.PrettierSettings"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The .prettierIgnore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 367
          },
          "name": "ignoreFile",
          "optional": true,
          "type": {
            "fqn": "projen.IgnoreFile"
          }
        }
      ],
      "symbolId": "src/javascript/prettier:Prettier"
    },
    "projen.javascript.PrettierOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Prettier."
      },
      "fqn": "projen.javascript.PrettierOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 13
      },
      "name": "PrettierOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Defines an .prettierIgnore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 19
          },
          "name": "ignoreFile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Configuration options for .prettierignore file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 24
          },
          "name": "ignoreFileOptions",
          "optional": true,
          "type": {
            "fqn": "projen.IgnoreFileOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "see": "https://prettier.io/docs/en/configuration.html#configuration-overrides",
            "stability": "experimental",
            "summary": "Provide a list of patterns to override prettier configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 38
          },
          "name": "overrides",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.PrettierOverride"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default settings",
            "stability": "experimental",
            "summary": "Prettier settings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 30
          },
          "name": "settings",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.PrettierSettings"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Write prettier configuration as YAML instead of JSON."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 44
          },
          "name": "yaml",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/prettier:PrettierOptions"
    },
    "projen.javascript.PrettierOverride": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.PrettierOverride",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 278
      },
      "name": "PrettierOverride",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Include these files in this override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 286
          },
          "name": "files",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The options to apply for this override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 290
          },
          "name": "options",
          "type": {
            "fqn": "projen.javascript.PrettierSettings"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Exclude these files from this override."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 282
          },
          "name": "excludeFiles",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "collection": {
                    "elementtype": {
                      "primitive": "string"
                    },
                    "kind": "array"
                  }
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/javascript/prettier:PrettierOverride"
    },
    "projen.javascript.PrettierSettings": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://prettier.io/docs/en/options.html",
        "stability": "experimental",
        "summary": "Options to set in Prettier directly or through overrides."
      },
      "fqn": "projen.javascript.PrettierSettings",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 51
      },
      "name": "PrettierSettings",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "ArrowParens.ALWAYS",
            "stability": "experimental",
            "summary": "Include parentheses around a sole arrow function parameter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 57
          },
          "name": "arrowParens",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.ArrowParens"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Put > of opening tags on the last line instead of on a new line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 63
          },
          "name": "bracketSameLine",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Print spaces between brackets."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 69
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "-1",
            "remarks": "This option cannot be used with --range-start and --range-end.",
            "stability": "experimental",
            "summary": "Print (to stderr) where a cursor at the given position would move to after formatting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 76
          },
          "name": "cursorOffset",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "EmbeddedLanguageFormatting.AUTO",
            "stability": "experimental",
            "summary": "Control how Prettier formats quoted code embedded in the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 82
          },
          "name": "embeddedLanguageFormatting",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.EmbeddedLanguageFormatting"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "EndOfLine.LF",
            "stability": "experimental",
            "summary": "Which end of line characters to apply."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 88
          },
          "name": "endOfLine",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.EndOfLine"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "none",
            "remarks": "This will be used to do parser inference.",
            "stability": "experimental",
            "summary": "Specify the input filepath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 93
          },
          "name": "filepath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "HTMLWhitespaceSensitivity.CSS",
            "stability": "experimental",
            "summary": "How to handle whitespaces in HTML."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 99
          },
          "name": "htmlWhitespaceSensitivity",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.HTMLWhitespaceSensitivity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "format": "pragma into file's first docblock comment."
            },
            "default": "false",
            "stability": "experimental",
            "summary": "Insert."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 105
          },
          "name": "insertPragma",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Use single quotes in JSX."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 111
          },
          "name": "jsxSingleQuote",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Prettier automatically infers the parser from the input file path, so you shouldn’t have to change this setting.",
            "stability": "experimental",
            "summary": "Which parser to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 117
          },
          "name": "parser",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Multiple plugins can be passed as separate `--plugin`s.",
            "stability": "experimental",
            "summary": "Add a plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 123
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Overrides default behavior when plugins are searched relatively to the location of\nPrettier.\nMultiple values are accepted.",
            "stability": "experimental",
            "summary": "Custom directory that contains prettier plugins in node_modules subdirectory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 132
          },
          "name": "pluginSearchDirs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "80",
            "stability": "experimental",
            "summary": "The line length where Prettier will try wrap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 138
          },
          "name": "printWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ProseWrap.PRESERVE",
            "stability": "experimental",
            "summary": "How to wrap prose."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 144
          },
          "name": "proseWrap",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.ProseWrap"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "QuoteProps.ASNEEDED",
            "stability": "experimental",
            "summary": "Change when properties in objects are quoted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 150
          },
          "name": "quoteProps",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.QuoteProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "null",
            "remarks": "The range will extend forwards to the end of the selected statement.\nThis option cannot be used with --cursor-offset.",
            "stability": "experimental",
            "summary": "Format code ending at a given character offset (exclusive)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 158
          },
          "name": "rangeEnd",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "0",
            "remarks": "The range will extend backwards to the start of the first line containing the selected\nstatement.\nThis option cannot be used with --cursor-offset.",
            "stability": "experimental",
            "summary": "Format code starting at a given character offset."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 167
          },
          "name": "rangeStart",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 175
          },
          "name": "requirePragma",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Print semicolons."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 181
          },
          "name": "semi",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Use single quotes instead of double quotes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 187
          },
          "name": "singleQuote",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "2",
            "stability": "experimental",
            "summary": "Number of spaces per indentation level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 193
          },
          "name": "tabWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "TrailingComma.ES5",
            "stability": "experimental",
            "summary": "Print trailing commas wherever possible when multi-line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 199
          },
          "name": "trailingComma",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TrailingComma"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Indent with tabs instead of spaces."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 205
          },
          "name": "useTabs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Indent script and style tags in Vue files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/prettier.ts",
            "line": 211
          },
          "name": "vueIndentScriptAndStyle",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/prettier:PrettierSettings"
    },
    "projen.javascript.Projenrc": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "remarks": "This component can be instantiated in any type of project\nand has no expectations around the project's main language.",
        "stability": "experimental",
        "summary": "A projenrc file written in JavaScript."
      },
      "fqn": "projen.javascript.Projenrc",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/projenrc.ts",
          "line": 28
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.ProjenrcOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/projenrc.ts",
        "line": 25
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/javascript/projenrc.ts",
            "line": 37
          },
          "name": "preSynthesize",
          "overrides": "projen.ProjenrcFile"
        },
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/javascript/projenrc.ts",
            "line": 60
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Projenrc",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/projenrc.ts",
            "line": 26
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/projenrc:Projenrc"
    },
    "projen.javascript.ProjenrcOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.ProjenrcOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/projenrc.ts",
        "line": 11
      },
      "name": "ProjenrcOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".projenrc.js\"",
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/projenrc.ts",
            "line": 16
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/projenrc:ProjenrcOptions"
    },
    "projen.javascript.ProseWrap": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.ProseWrap",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 300
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Wrap prose if it exceeds the print width."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Do not wrap prose."
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Wrap prose as-is."
          },
          "name": "PRESERVE"
        }
      ],
      "name": "ProseWrap",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:ProseWrap"
    },
    "projen.javascript.QuoteProps": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.QuoteProps",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 317
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only add quotes around object properties where required."
          },
          "name": "ASNEEDED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "If at least one property in an object requires quotes, quote all properties."
          },
          "name": "CONSISTENT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Respect the input use of quotes in object properties."
          },
          "name": "PRESERVE"
        }
      ],
      "name": "QuoteProps",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:QuoteProps"
    },
    "projen.javascript.RenderWorkflowSetupOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `renderWorkflowSetup()`."
      },
      "fqn": "projen.javascript.RenderWorkflowSetupOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-project.ts",
        "line": 1476
      },
      "name": "RenderWorkflowSetupOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- `{ name: \"Install dependencies\" }`",
            "example": "- { env: { NPM_TOKEN: \"token\" }} for installing from private npm registry.",
            "stability": "experimental",
            "summary": "Configure the install step in the workflow setup."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1485
          },
          "name": "installStepConfiguration",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobStepConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Should the package lockfile be updated?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-project.ts",
            "line": 1490
          },
          "name": "mutable",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-project:RenderWorkflowSetupOptions"
    },
    "projen.javascript.RunBundleTask": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Options for BundlerOptions.runBundleTask."
      },
      "fqn": "projen.javascript.RunBundleTask",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 551
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Don't bundle automatically as part of the build."
          },
          "name": "MANUAL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Bundle automatically before compilation."
          },
          "name": "PRE_COMPILE"
        },
        {
          "docs": {
            "remarks": "Thus will run compilation tasks (using tsc, etc.) before running file\nthrough bundling step.\n\nThis is only required unless you are using new experimental features that\nare not supported by `esbuild` but are supported by typescript's `tsc`\ncompiler. One example of such feature is `emitDecoratorMetadata`.\n\n```typescript\n// In a TypeScript project with output configured\n// to go to the \"lib\" directory:\nconst project = new TypeScriptProject({\n  name: \"test\",\n  tsconfig: {\n    compilerOptions: {\n      outDir: \"lib\",\n    },\n  },\n  bundlerOptions: {\n    // ensure we compile with `tsc` before bundling\n    runBundleTask: RunBundleTask.POST_COMPILE,\n  },\n});\n\n// Tell the bundler to bundle the compiled results (from the \"lib\" directory)\nproject.bundler.addBundle(\"./lib/index.js\", {\n  platform: \"node\",\n  target: \"node22\",\n  sourcemap: false,\n  format: \"esm\",\n});\n```",
            "stability": "experimental",
            "summary": "Bundle automatically after compilation. This is useful if you want to bundle the compiled results."
          },
          "name": "POST_COMPILE"
        }
      ],
      "name": "RunBundleTask",
      "namespace": "javascript",
      "symbolId": "src/javascript/bundler:RunBundleTask"
    },
    "projen.javascript.ScopedPackagesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for scoped packages."
      },
      "fqn": "projen.javascript.ScopedPackagesOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 577
      },
      "name": "ScopedPackagesOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "URL of the registry for scoped packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 588
          },
          "name": "registryUrl",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"@angular\"",
            "stability": "experimental",
            "summary": "Scope of the packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 583
          },
          "name": "scope",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:ScopedPackagesOptions"
    },
    "projen.javascript.SnapshotFormatOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Mirrors the pretty-format options, with the exceptions of\n`compareKeys` and `plugins`.",
        "see": "https://jestjs.io/docs/configuration#snapshotformat-object",
        "stability": "experimental",
        "summary": "Snapshot formatting options."
      },
      "fqn": "projen.javascript.SnapshotFormatOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 771
      },
      "name": "SnapshotFormatOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- true",
            "stability": "experimental",
            "summary": "Calls `toJSON` on objects that have such a method."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 776
          },
          "name": "callToJSON",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Escapes special characters in regular expressions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 782
          },
          "name": "escapeRegex",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Escapes quotes in strings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 788
          },
          "name": "escapeString",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Highlights syntax with colors in terminal (some plugins)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 794
          },
          "name": "highlight",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 2",
            "stability": "experimental",
            "summary": "Spaces of indentation between levels of nesting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 800
          },
          "name": "indent",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Infinity",
            "stability": "experimental",
            "summary": "Maximum number of levels to print."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 806
          },
          "name": "maxDepth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Infinity",
            "stability": "experimental",
            "summary": "Maximum number of elements to print at a given level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 812
          },
          "name": "maxWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Prints objects on a single line when `true`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 818
          },
          "name": "min",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "stability": "experimental",
            "summary": "Prints the prototype for basic objects and arrays."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 824
          },
          "name": "printBasicPrototype",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true",
            "stability": "experimental",
            "summary": "Prints the name of functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/jest.ts",
            "line": 830
          },
          "name": "printFunctionName",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/jest:SnapshotFormatOptions"
    },
    "projen.javascript.SourceMapMode": {
      "assembly": "projen",
      "docs": {
        "see": "https://esbuild.github.io/api/#sourcemap",
        "stability": "experimental",
        "summary": "SourceMap mode for esbuild."
      },
      "fqn": "projen.javascript.SourceMapMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/bundler.ts",
        "line": 603
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Default sourceMap mode - will generate a .js.map file alongside any generated .js file and add a special //# sourceMappingURL= comment to the bottom of the .js file pointing to the .js.map file."
          },
          "name": "DEFAULT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "External sourceMap mode - If you want to omit the special //# sourceMappingURL= comment from the generated .js file but you still want to generate the .js.map files."
          },
          "name": "EXTERNAL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Inline sourceMap mode - If you want to insert the entire source map into the .js file instead of generating a separate .js.map file."
          },
          "name": "INLINE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Both sourceMap mode - If you want to have the effect of both inline and external simultaneously."
          },
          "name": "BOTH"
        }
      ],
      "name": "SourceMapMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/bundler:SourceMapMode"
    },
    "projen.javascript.TrailingComma": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.TrailingComma",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/prettier.ts",
        "line": 334
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Trailing commas wherever possible (including function arguments)."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Trailing commas where valid in ES5 (objects, arrays, etc.)."
          },
          "name": "ES5"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "No trailing commas."
          },
          "name": "NONE"
        }
      ],
      "name": "TrailingComma",
      "namespace": "javascript",
      "symbolId": "src/javascript/prettier:TrailingComma"
    },
    "projen.javascript.Transform": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.Transform",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/jest.ts",
          "line": 581
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "primitive": "any"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 580
      },
      "name": "Transform",
      "namespace": "javascript",
      "symbolId": "src/javascript/jest:Transform"
    },
    "projen.javascript.TypeScriptCompilerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.TypeScriptCompilerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 183
      },
      "name": "TypeScriptCompilerOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "see": "https://www.typescriptlang.org/tsconfig#allowArbitraryExtensions",
            "stability": "experimental",
            "summary": "Suppress arbitrary extension import errors with the assumption that a bundler will be handling it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 205
          },
          "name": "allowArbitraryExtensions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Allows TypeScript files to import each other with TypeScript-specific extensions (`.ts`, `.mts`, `.tsx`). Requires `noEmit` or `emitDeclarationOnly`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 197
          },
          "name": "allowImportingTsExtensions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Allow JavaScript files to be compiled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 189
          },
          "name": "allowJs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This does not affect code emit, just typechecking.",
            "stability": "experimental",
            "summary": "Allow default imports from modules with no default export."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 578
          },
          "name": "allowSyntheticDefaultImports",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "When:\n\n- `undefined` (default) provide suggestions as warnings to editors\n- `true` unreachable code is ignored\n- `false` raises compiler errors about unreachable code\n\nThese warnings are only about code which is provably unreachable due to the use of JavaScript syntax.",
            "see": "https://www.typescriptlang.org/tsconfig#allowUnreachableCode",
            "stability": "experimental",
            "summary": "Allow Unreachable Code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 676
          },
          "name": "allowUnreachableCode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "When:\n\n- `undefined` (default) provide suggestions as warnings to editors\n- `true` unused labels are ignored\n- `false` raises compiler errors about unused labels\n\nLabels are very rare in JavaScript and typically indicate an attempt to write an object literal:\n\n```ts\nfunction verifyAge(age: number) {\n  // Forgot 'return' statement\n  if (age > 18) {\n    verified: true;\n//  ^^^^^^^^ Unused label.\n  }\n}\n```",
            "see": "https://www.typescriptlang.org/tsconfig#allowUnusedLabels",
            "stability": "experimental",
            "summary": "Allow Unused Labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 661
          },
          "name": "allowUnusedLabels",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Ensures that your files are parsed in the ECMAScript strict mode, and emit “use strict” for each source file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 224
          },
          "name": "alwaysStrict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can define a root folder where you can do absolute file resolution.",
            "stability": "experimental",
            "summary": "Lets you set a base directory to resolve non-absolute module names."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 599
          },
          "name": "baseUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "ts-check": "at the top of all\nJavaScript files which are included in your project."
            },
            "remarks": "Works in tandem with [allowJs](https://www.typescriptlang.org/tsconfig#allowJs). When checkJs is enabled then\nerrors are reported in JavaScript files. This is the equivalent of including //",
            "see": "https://www.typescriptlang.org/tsconfig#checkJs",
            "stability": "experimental",
            "summary": "Check JS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 687
          },
          "name": "checkJs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "see": "https://www.typescriptlang.org/tsconfig#customConditions",
            "stability": "experimental",
            "summary": "List of additional conditions that should succeed when TypeScript resolves from an `exports` or `imports` field of a `package.json`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 260
          },
          "name": "customConditions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "To be specified along with the above."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 236
          },
          "name": "declaration",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Offers a way to configure the root directory for where declaration files are emitted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 230
          },
          "name": "declarationDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "{@link https://www.typescriptlang.org/tsconfig#declarationMap}",
            "stability": "experimental",
            "summary": "Generates a source map for .d.ts files which map back to the original .ts source file. This will allow editors such as VS Code to go to the original .ts file when using features like Go to Definition."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 243
          },
          "name": "declarationMap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This flag is to enable support for a more accurate implementation of how modern JavaScript iterates through new concepts in older JavaScript runtimes.\n\nECMAScript 6 added several new iteration primitives: the for / of loop (for (el of arr)), Array spread ([a, ...b]), argument spread (fn(...args)), and Symbol.iterator.\ndownlevelIteration allows for these iteration primitives to be used more accurately in ES5 environments if a Symbol.iterator implementation is present.",
            "stability": "experimental",
            "summary": "Downleveling is TypeScript’s term for transpiling to an older version of JavaScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 252
          },
          "name": "downlevelIteration",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Only emit .d.ts files; do not emit .js files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 410
          },
          "name": "emitDeclarationOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "Decorators are a language feature which hasn’t yet been fully ratified into the JavaScript specification.\nThis means that the implementation version in TypeScript may differ from the implementation in JavaScript when it it decided by TC39.\nYou can find out more about decorator support in TypeScript in the handbook.",
            "see": "https://www.typescriptlang.org/docs/handbook/decorators.html",
            "stability": "experimental",
            "summary": "Enables experimental support for decorators, which is in stage 2 of the TC39 standardization process."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 287
          },
          "name": "emitDecoratorMetadata",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Emit __importStar and __importDefault helpers for runtime babel ecosystem compatibility and enable --allowSyntheticDefaultImports for typesystem compatibility."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 269
          },
          "name": "esModuleInterop",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Specifies that optional property types should be interpreted exactly as written, meaning that `| undefined` is not added to the type Available with TypeScript 4.4 and newer."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 585
          },
          "name": "exactOptionalPropertyTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Enables experimental support for decorators, which is in stage 2 of the TC39 standardization process."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 276
          },
          "name": "experimentalDecorators",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Disallow inconsistently-cased references to the same file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 294
          },
          "name": "forceConsistentCasingInFileNames",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "Set to the TypeScript version that introduced the deprecation, e.g. `\"6.0\"`.",
            "see": "https://www.typescriptlang.org/tsconfig/#ignoreDeprecations",
            "stability": "experimental",
            "summary": "Silence deprecation warnings for options scheduled for removal in a future TypeScript release (for example `moduleResolution: \"node10\"`, which became an error in TypeScript 6.0)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 217
          },
          "name": "ignoreDeprecations",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "remarks": "For TypeScript 5.0+ use `verbatimModuleSyntax` instead.\nPosed for deprecation upon TypeScript 5.5."
            },
            "default": "\"remove\"",
            "see": "https://www.typescriptlang.org/tsconfig#importsNotUsedAsValues",
            "stability": "experimental",
            "summary": "This flag works because you can use `import type` to explicitly create an `import` statement which should never be emitted into JavaScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 314
          },
          "name": "importsNotUsedAsValues",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptImportsNotUsedAsValues"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This creates a series of .tsbuildinfo files in the same folder as your compilation output.\nThey are not used by your JavaScript at runtime and can be safely deleted.\nYou can read more about the flag in the 3.4 release notes.",
            "see": "https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html#faster-subsequent-builds-with-the---incremental-flag\n\nTo control which folders you want to the files to be built to, use the config option tsBuildInfoFile.",
            "stability": "experimental",
            "summary": "Tells TypeScript to save information about the project graph from the last compilation to files stored on disk."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 630
          },
          "name": "incremental",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "When set, instead of writing out a .js.map file to provide source maps, TypeScript will embed the source map content in the .js files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 322
          },
          "name": "inlineSourceMap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "When set, TypeScript will include the original content of the .ts file as an embedded string in the source map. This is often useful in the same cases as inlineSourceMap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 330
          },
          "name": "inlineSources",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "babel": "/plugin-transform-typescript) would be safe."
            },
            "default": "false",
            "stability": "experimental",
            "summary": "Perform additional checks to ensure that separate compilation (such as with transpileModule or."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 353
          },
          "name": "isolatedModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Support JSX in .tsx files: \"react\", \"preserve\", \"react-native\" etc."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 360
          },
          "name": "jsx",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptJsxMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Declares the module specifier to be used for importing the jsx and jsxs factory functions when using jsx."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 367
          },
          "name": "jsxImportSource",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[ \"es2018\" ]",
            "remarks": "ES2016, ES5, ES2018).",
            "stability": "experimental",
            "summary": "Reference for type definitions / libraries to use (eg."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 374
          },
          "name": "lib",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"CommonJS\"",
            "remarks": "See https://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules.",
            "stability": "experimental",
            "summary": "Sets the module system for the program."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 389
          },
          "name": "module",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"auto\"",
            "stability": "experimental",
            "summary": "This setting controls how TypeScript determines whether a file is a [script or a module](https://www.typescriptlang.org/docs/handbook/modules/theory.html#scripts-and-modules-in-javascript)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 381
          },
          "name": "moduleDetection",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptModuleDetection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"node\"",
            "remarks": "Either \"Node\" for Node.js/io.js style resolution, or \"Classic\".",
            "stability": "experimental",
            "summary": "Determine how modules get resolved."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 396
          },
          "name": "moduleResolution",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptModuleResolution"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Do not emit outputs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 403
          },
          "name": "noEmit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Do not emit compiler output files like JavaScript source code, source-maps or declarations if any errors were reported."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 418
          },
          "name": "noEmitOnError",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Ensures that any non-empty\ncase inside a switch statement includes either break or return. This means you won’t\naccidentally ship a case fallthrough bug.",
            "stability": "experimental",
            "summary": "Report errors for fallthrough cases in switch statements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 427
          },
          "name": "noFallthroughCasesInSwitch",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "In some cases where no type annotations are present, TypeScript will fall back to a type of any for a variable when it cannot infer the type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 435
          },
          "name": "noImplicitAny",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "This also improves readability of the programmer's intent.\n\nAvailable with TypeScript 4.3 and newer.",
            "stability": "experimental",
            "summary": "Using `noImplicitOverride`, you can ensure that sub-classes never go out of sync as they are required to explicitly declare that they are overriding a member using the `override` keyword."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 446
          },
          "name": "noImplicitOverride",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "When enabled, TypeScript will check all code paths in a function to ensure they return a value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 454
          },
          "name": "noImplicitReturns",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Raise error on ‘this’ expressions with an implied ‘any’ type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 460
          },
          "name": "noImplicitThis",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Raise error on use of the dot syntax to access fields which are not defined."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 467
          },
          "name": "noPropertyAccessFromIndexSignature",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Raise error when accessing indexes on objects with unknown keys defined in index signatures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 474
          },
          "name": "noUncheckedIndexedAccess",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Report errors on unused local variables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 481
          },
          "name": "noUnusedLocals",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Report errors on unused parameters in functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 488
          },
          "name": "noUnusedParameters",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Output directory for the compiled files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 566
          },
          "name": "outDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "paths lets you declare how TypeScript should resolve an import in your require/imports.",
            "stability": "experimental",
            "summary": "A series of entries which re-map imports to lookup locations relative to the baseUrl, there is a larger coverage of paths in the handbook."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 606
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Allows importing modules with a ‘.json’ extension, which is a common practice in node projects. This includes generating a type for the import based on the static JSON shape."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 496
          },
          "name": "resolveJsonModule",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Forces TypeScript to consult the `exports` field of `package.json` files if it ever reads from a package in `node_modules`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 545
          },
          "name": "resolvePackageJsonExports",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Forces TypeScript to consult the `imports` field of `package.json` when performing a lookup that begins with `#` from a file that has a `package.json` as an ancestor."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 552
          },
          "name": "resolvePackageJsonImports",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only use to control the output directory structure with `outDir`.",
            "stability": "experimental",
            "summary": "Specifies the root directory of input files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 573
          },
          "name": "rootDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Skip type checking of all declaration files (*.d.ts)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 503
          },
          "name": "skipLibCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Enables the generation of sourcemap files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 337
          },
          "name": "sourceMap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "Specify the location where a debugger should locate TypeScript files instead of relative source locations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 345
          },
          "name": "sourceRoot",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Turning this on is equivalent to enabling all of the strict mode family\noptions, which are outlined below. You can then turn off individual strict mode family checks as\nneeded.",
            "stability": "experimental",
            "summary": "The strict flag enables a wide range of type checking behavior that results in stronger guarantees of program correctness."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 513
          },
          "name": "strict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This can lead to unexpected errors at runtime.\nWhen strictNullChecks is true, null and undefined have their own distinct types and you’ll\nget a type error if you try to use them where a concrete value is expected.",
            "stability": "experimental",
            "summary": "When strictNullChecks is false, null and undefined are effectively ignored by the language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 523
          },
          "name": "strictNullChecks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "When set to true, TypeScript will raise an error when a class property was declared but not set in the constructor."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 531
          },
          "name": "strictPropertyInitialization",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Do not emit declarations for code that has an `@internal` annotation in it’s JSDoc comment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 538
          },
          "name": "stripInternal",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"ES2018\"",
            "remarks": "You might choose to set\na lower target if your code is deployed to older environments, or a higher target if your\ncode is guaranteed to run in newer environments.",
            "stability": "experimental",
            "summary": "Modern browsers support all ES6 features, so ES6 is a good choice."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 561
          },
          "name": "target",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can read more about composite projects in the handbook.",
            "stability": "experimental",
            "summary": "This setting lets you specify a file for storing incremental compilation information as a part of composite projects which enables faster building of larger TypeScript codebases."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 636
          },
          "name": "tsBuildInfoFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig/#typeRoots",
            "stability": "experimental",
            "summary": "If typeRoots is specified, only packages under typeRoots will be included."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 612
          },
          "name": "typeRoots",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#types",
            "stability": "experimental",
            "summary": "If types is specified, only packages listed will be included in the global scope."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 618
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Change the type of the variable in a catch clause from any to unknown Available with TypeScript 4.4 and newer."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 592
          },
          "name": "useUnknownInCatchVariables",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "see": "https://www.typescriptlang.org/tsconfig#verbatimModuleSyntax",
            "stability": "experimental",
            "summary": "Simplifies TypeScript's handling of import/export `type` modifiers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 302
          },
          "name": "verbatimModuleSyntax",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/typescript-config:TypeScriptCompilerOptions"
    },
    "projen.javascript.TypeScriptImportsNotUsedAsValues": {
      "assembly": "projen",
      "docs": {
        "see": "https://www.typescriptlang.org/tsconfig#importsNotUsedAsValues",
        "stability": "experimental",
        "summary": "This flag controls how `import` works, there are 3 different options."
      },
      "fqn": "projen.javascript.TypeScriptImportsNotUsedAsValues",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 131
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The default behavior of dropping `import` statements which only reference types."
          },
          "name": "REMOVE"
        },
        {
          "docs": {
            "remarks": "This can cause imports/side-effects to be preserved.",
            "stability": "experimental",
            "summary": "Preserves all `import` statements whose values or types are never used."
          },
          "name": "PRESERVE"
        },
        {
          "docs": {
            "remarks": "This might be useful if you want to ensure no values are being accidentally imported, but still make side-effect imports explicit.",
            "stability": "experimental",
            "summary": "This preserves all imports (the same as the preserve option), but will error when a value import is only used as a type."
          },
          "name": "ERROR"
        }
      ],
      "name": "TypeScriptImportsNotUsedAsValues",
      "namespace": "javascript",
      "symbolId": "src/javascript/typescript-config:TypeScriptImportsNotUsedAsValues"
    },
    "projen.javascript.TypeScriptJsxMode": {
      "assembly": "projen",
      "docs": {
        "see": "https://www.typescriptlang.org/docs/handbook/jsx.html",
        "stability": "experimental",
        "summary": "Determines how JSX should get transformed into valid JavaScript."
      },
      "fqn": "projen.javascript.TypeScriptJsxMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 154
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Keeps the JSX as part of the output to be further consumed by another transform step (e.g. Babel)."
          },
          "name": "PRESERVE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Converts JSX syntax into React.createElement, does not need to go through a JSX transformation before use, and the output will have a .js file extension."
          },
          "name": "REACT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Keeps all JSX like 'preserve' mode, but output will have a .js extension."
          },
          "name": "REACT_NATIVE"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-1.html#react-17-jsx-factories",
            "stability": "experimental",
            "summary": "Passes `key` separately from props and always passes `children` as props (since React 17)."
          },
          "name": "REACT_JSX"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Same as `REACT_JSX` with additional debug data."
          },
          "name": "REACT_JSXDEV"
        }
      ],
      "name": "TypeScriptJsxMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/typescript-config:TypeScriptJsxMode"
    },
    "projen.javascript.TypeScriptModuleDetection": {
      "assembly": "projen",
      "docs": {
        "see": "https://www.typescriptlang.org/docs/handbook/modules/theory.html#scripts-and-modules-in-javascript",
        "stability": "experimental",
        "summary": "This setting controls how TypeScript determines whether a file is a script or a module."
      },
      "fqn": "projen.javascript.TypeScriptModuleDetection",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 103
      },
      "members": [
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig/#moduleDetection",
            "stability": "experimental",
            "summary": "TypeScript will not only look for import and export statements, but it will also check whether the \"type\" field in a package.json is set to \"module\" when running with module: nodenext or node16, and check whether the current file is a JSX file when running under jsx: react-jsx."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig/#moduleDetection",
            "stability": "experimental",
            "summary": "The same behavior as 4.6 and prior, usings import and export statements to determine whether a file is a module."
          },
          "name": "LEGACY"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig/#moduleDetection",
            "stability": "experimental",
            "summary": "Ensures that every non-declaration file is treated as a module."
          },
          "name": "FORCE"
        }
      ],
      "name": "TypeScriptModuleDetection",
      "namespace": "javascript",
      "symbolId": "src/javascript/typescript-config:TypeScriptModuleDetection"
    },
    "projen.javascript.TypeScriptModuleResolution": {
      "assembly": "projen",
      "docs": {
        "see": "https://www.typescriptlang.org/docs/handbook/module-resolution.html",
        "stability": "experimental",
        "summary": "Determines how modules get resolved."
      },
      "fqn": "projen.javascript.TypeScriptModuleResolution",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 51
      },
      "members": [
        {
          "docs": {
            "see": "https://www.typescriptlang.org/docs/handbook/module-resolution.html#classic",
            "stability": "experimental",
            "summary": "TypeScript's former default resolution strategy."
          },
          "name": "CLASSIC"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/docs/handbook/module-resolution.html#node",
            "stability": "experimental",
            "summary": "Resolution strategy which attempts to mimic the Node.js module resolution strategy at runtime."
          },
          "name": "NODE"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/docs/handbook/modules/reference.html#node10-formerly-known-as-node",
            "stability": "experimental",
            "summary": "`--moduleResolution node` was renamed to `node10` (keeping `node` as an alias for backward compatibility) in TypeScript 5.0. It reflects the CommonJS module resolution algorithm as it existed in Node.js versions earlier than v12. It should no longer be used."
          },
          "name": "NODE10"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#moduleResolution",
            "stability": "experimental",
            "summary": "Node.js’ ECMAScript Module Support from TypeScript 4.7 onwards."
          },
          "name": "NODE16"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#moduleResolution",
            "stability": "experimental",
            "summary": "Node.js’ ECMAScript Module Support from TypeScript 4.7 onwards."
          },
          "name": "NODE_NEXT"
        },
        {
          "docs": {
            "remarks": "from TypeScript 5.0 onwards.",
            "see": "https://www.typescriptlang.org/tsconfig#moduleResolution",
            "stability": "experimental",
            "summary": "Resolution strategy which attempts to mimic resolution patterns of modern bundlers;"
          },
          "name": "BUNDLER"
        }
      ],
      "name": "TypeScriptModuleResolution",
      "namespace": "javascript",
      "symbolId": "src/javascript/typescript-config:TypeScriptModuleResolution"
    },
    "projen.javascript.TypescriptConfig": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.TypescriptConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/typescript-config.ts",
          "line": 739
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.javascript.TypescriptConfigOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 731
      },
      "methods": [
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#exclude",
            "stability": "experimental",
            "summary": "Add an exclude pattern to the `exclude` array of the TSConfig."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 897
          },
          "name": "addExclude",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern to add."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "custom": {
              "remarks": "TypeScript 5.0+ is required to extend from more than one base `TypescriptConfig`."
            },
            "stability": "experimental",
            "summary": "Extend from base `TypescriptConfig` instance."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 871
          },
          "name": "addExtends",
          "parameters": [
            {
              "docs": {
                "summary": "Base `TypescriptConfig` instance."
              },
              "name": "value",
              "type": {
                "fqn": "projen.javascript.TypescriptConfig"
              }
            }
          ]
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#include",
            "stability": "experimental",
            "summary": "Add an include pattern to the `include` array of the TSConfig."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 885
          },
          "name": "addInclude",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern to add."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 924
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#exclude",
            "stability": "experimental",
            "summary": "Remove an exclude pattern from the `exclude` array of the TSConfig."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 920
          },
          "name": "removeExclude",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern to remove."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "see": "https://www.typescriptlang.org/tsconfig#include",
            "stability": "experimental",
            "summary": "Remove an include pattern from the `include` array of the TSConfig."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 909
          },
          "name": "removeInclude",
          "parameters": [
            {
              "docs": {
                "summary": "The pattern to remove."
              },
              "name": "pattern",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "custom": {
              "remarks": "This will only resolve the relative path from this config to another given\nan absolute path as input. Any non-absolute path or other string will be returned as is.\nThis is to preserve manually specified relative paths as well as npm import paths."
            },
            "stability": "experimental",
            "summary": "Resolve valid TypeScript extends paths relative to this config."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 807
          },
          "name": "resolveExtendsPath",
          "parameters": [
            {
              "docs": {
                "summary": "Path to resolve against."
              },
              "name": "configPath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "TypescriptConfig",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 779
          },
          "name": "exclude",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Array of base `tsconfig.json` paths. Any absolute paths are resolved relative to this instance, while any relative paths are used as is."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 857
          },
          "name": "extends",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 737
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 736
          },
          "name": "fileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 775
          },
          "name": "include",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 733
          },
          "name": "compilerOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptCompilerOptions"
          }
        }
      ],
      "symbolId": "src/javascript/typescript-config:TypescriptConfig"
    },
    "projen.javascript.TypescriptConfigExtends": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Container for `TypescriptConfig` `tsconfig.json` base configuration(s). Extending from more than one base config file requires TypeScript 5.0+."
      },
      "fqn": "projen.javascript.TypescriptConfigExtends",
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 694
      },
      "methods": [
        {
          "docs": {
            "custom": {
              "remarks": "TypeScript 5.0+ is required to specify more than one value in `paths`."
            },
            "stability": "experimental",
            "summary": "Factory for creation from array of file paths."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 703
          },
          "name": "fromPaths",
          "parameters": [
            {
              "docs": {
                "summary": "Absolute or relative paths to base `tsconfig.json` files."
              },
              "name": "paths",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.TypescriptConfigExtends"
            }
          },
          "static": true
        },
        {
          "docs": {
            "custom": {
              "remarks": "TypeScript 5.0+ is required to specify more than on value in `configs`."
            },
            "stability": "experimental",
            "summary": "Factory for creation from array of other `TypescriptConfig` instances."
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 715
          },
          "name": "fromTypescriptConfigs",
          "parameters": [
            {
              "docs": {
                "summary": "Base `TypescriptConfig` instances."
              },
              "name": "configs",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.javascript.TypescriptConfig"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.TypescriptConfigExtends"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 726
          },
          "name": "toJSON",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        }
      ],
      "name": "TypescriptConfigExtends",
      "namespace": "javascript",
      "symbolId": "src/javascript/typescript-config:TypescriptConfigExtends"
    },
    "projen.javascript.TypescriptConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.TypescriptConfigOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/typescript-config.ts",
        "line": 9
      },
      "name": "TypescriptConfigOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "remarks": "Must provide either `extends` or `compilerOptions` (or both)."
            },
            "stability": "experimental",
            "summary": "Compiler options to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 43
          },
          "name": "compilerOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypeScriptCompilerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- node_modules is excluded by default",
            "stability": "experimental",
            "summary": "Filters results from the \"include\" option."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 35
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "remarks": "Must provide either `extends` or `compilerOptions` (or both)."
            },
            "stability": "experimental",
            "summary": "Base `tsconfig.json` configuration(s) to inherit from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 21
          },
          "name": "extends",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfigExtends"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"tsconfig.json\"",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 13
          },
          "name": "fileName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- all .ts files recursively",
            "stability": "experimental",
            "summary": "Specifies a list of glob patterns that match TypeScript files to be included in compilation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/typescript-config.ts",
            "line": 28
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/typescript-config:TypescriptConfigOptions"
    },
    "projen.javascript.UpdateSnapshot": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.UpdateSnapshot",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 701
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Always update snapshots in \"test\" task."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Never update snapshots in \"test\" task and create a separate \"test:update\" task."
          },
          "name": "NEVER"
        }
      ],
      "name": "UpdateSnapshot",
      "namespace": "javascript",
      "symbolId": "src/javascript/jest:UpdateSnapshot"
    },
    "projen.javascript.UpgradeDependencies": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Upgrade node project dependencies."
      },
      "fqn": "projen.javascript.UpgradeDependencies",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/upgrade-dependencies.ts",
          "line": 204
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.UpgradeDependenciesOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/upgrade-dependencies.ts",
        "line": 170
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add steps to execute a successful build."
          },
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 321
          },
          "name": "addPostBuildSteps",
          "parameters": [
            {
              "docs": {
                "summary": "workflow steps."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "UpgradeDependencies",
      "namespace": "javascript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task run after the upgrade task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 194
          },
          "name": "postUpgradeTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 176
          },
          "name": "project",
          "overrides": "projen.Component",
          "type": {
            "fqn": "projen.javascript.NodeProject"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The upgrade task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 189
          },
          "name": "upgradeTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "remarks": "One workflow per branch.",
            "stability": "experimental",
            "summary": "The workflows that execute the upgrades."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 174
          },
          "name": "workflows",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.GithubWorkflow"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Container definitions for the upgrade workflow."
          },
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 184
          },
          "name": "containerOptions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerOptions"
          }
        }
      ],
      "symbolId": "src/javascript/upgrade-dependencies:UpgradeDependencies"
    },
    "projen.javascript.UpgradeDependenciesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `UpgradeDependencies`."
      },
      "fqn": "projen.javascript.UpgradeDependenciesOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/upgrade-dependencies.ts",
        "line": 44
      },
      "name": "UpgradeDependenciesOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- No cooldown period.",
            "remarks": "This may provide some protection against supply chain attacks, simply by avoiding\nnewly published packages that may be malicious. It gives the ecosystem more time\nto detect malicious packages. However it comes at the cost of updating other\npackages slower, which might also contain vulnerabilities or bugs in need of a fix.\n\nThe cooldown period applies to both npm-check-updates discovery\nand the package manager update command.",
            "see": "https://yarnpkg.com/configuration/yarnrc#npmMinimalAgeGate",
            "stability": "experimental",
            "summary": "Exclude package versions published within the specified number of days."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 164
          },
          "name": "cooldown",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Nothing is excluded.",
            "stability": "experimental",
            "summary": "List of package names to exclude during the upgrade."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 50
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Everything is included.",
            "stability": "experimental",
            "summary": "List of package names to include during the upgrade."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 57
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "By default, deprecated versions will be excluded from upgrades.",
            "see": "https://github.com/raineorshine/npm-check-updates?tab=readme-ov-file#options",
            "stability": "experimental",
            "summary": "Include deprecated packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 89
          },
          "name": "includeDeprecatedVersions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"upgrade dependencies\"",
            "stability": "experimental",
            "summary": "Title of the pull request to use (should be all lower-case)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 122
          },
          "name": "pullRequestTitle",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "By default, the upgrade workflow will adhere to version constraints from peer dependencies.\nSometimes this is not desirable and can be disabled.",
            "see": "https://github.com/raineorshine/npm-check-updates#peer",
            "stability": "experimental",
            "summary": "Check peer dependencies of installed packages and filter updates to compatible versions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 78
          },
          "name": "satisfyPeerDependencies",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'chore'",
            "stability": "experimental",
            "summary": "The semantic commit type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 129
          },
          "name": "semanticCommit",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Add Signed-off-by line by the committer at the end of the commit log message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 136
          },
          "name": "signoff",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"minor\"",
            "see": "https://github.com/raineorshine/npm-check-updates#target",
            "stability": "experimental",
            "summary": "Determines the target version to upgrade dependencies to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 66
          },
          "name": "target",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"upgrade\".",
            "remarks": "This will also be the workflow name.",
            "stability": "experimental",
            "summary": "The name of the task that will be created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 115
          },
          "name": "taskName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- All dependency types.",
            "stability": "experimental",
            "summary": "Specify which dependency types the upgrade should operate on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 143
          },
          "name": "types",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.DependencyType"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true for root projects, false for subprojects.",
            "remarks": "If this is `false`, only a local projen task is created, which can be executed manually to\nupgrade the dependencies.",
            "stability": "experimental",
            "summary": "Include a github workflow for creating PR's that upgrades the required dependencies, either by manual dispatch, or by a schedule."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 100
          },
          "name": "workflow",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options.",
            "remarks": "Only applies if `workflow` is true.",
            "stability": "experimental",
            "summary": "Options for the github workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 107
          },
          "name": "workflowOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesWorkflowOptions"
          }
        }
      ],
      "symbolId": "src/javascript/upgrade-dependencies:UpgradeDependenciesOptions"
    },
    "projen.javascript.UpgradeDependenciesSchedule": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "How often to check for new versions and raise pull requests for version upgrades."
      },
      "fqn": "projen.javascript.UpgradeDependenciesSchedule",
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/upgrade-dependencies.ts",
        "line": 772
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Create a schedule from a raw cron expression."
          },
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 807
          },
          "name": "expressions",
          "parameters": [
            {
              "name": "cron",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.javascript.UpgradeDependenciesSchedule"
            }
          },
          "static": true
        }
      ],
      "name": "UpgradeDependenciesSchedule",
      "namespace": "javascript",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "At 00:00."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 781
          },
          "name": "DAILY",
          "static": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "At 00:00 on day-of-month 1."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 800
          },
          "name": "MONTHLY",
          "static": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Disables automatic upgrades."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 776
          },
          "name": "NEVER",
          "static": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "At 00:00 on every day-of-week from Monday through Friday."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 786
          },
          "name": "WEEKDAY",
          "static": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "At 00:00 on Monday."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 793
          },
          "name": "WEEKLY",
          "static": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 811
          },
          "name": "cron",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/upgrade-dependencies:UpgradeDependenciesSchedule"
    },
    "projen.javascript.UpgradeDependenciesWorkflowOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `UpgradeDependencies.workflowOptions`."
      },
      "fqn": "projen.javascript.UpgradeDependenciesWorkflowOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/upgrade-dependencies.ts",
        "line": 684
      },
      "name": "UpgradeDependenciesWorkflowOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no assignees",
            "stability": "experimental",
            "summary": "Assignees to add on the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 717
          },
          "name": "assignees",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- All release branches configured for the project.",
            "stability": "experimental",
            "summary": "List of branches to create PR's for."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 731
          },
          "name": "branches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "Job container options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 724
          },
          "name": "container",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.ContainerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Build environment variables for the upgrade job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 766
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user",
            "stability": "experimental",
            "summary": "The git identity to use for commits."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 737
          },
          "name": "gitIdentity",
          "optional": true,
          "type": {
            "fqn": "projen.github.GitIdentity"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no labels.",
            "stability": "experimental",
            "summary": "Labels to apply on the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 710
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`{ contents: JobPermission.READ }`",
            "stability": "experimental",
            "summary": "Permissions granted to the upgrade job To limit job permissions for `contents`, the desired permissions have to be explicitly set, e.g.: `{ contents: JobPermission.NONE }`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 759
          },
          "name": "permissions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- personal access token named PROJEN_GITHUB_TOKEN",
            "remarks": "When using the default github token, PR's created by this workflow\nwill not trigger any subsequent workflows (i.e the build workflow), so\nprojen requires API access to be provided through e.g. a personal\naccess token or other method.",
            "see": "https://github.com/peter-evans/create-pull-request/issues/48",
            "stability": "experimental",
            "summary": "Choose a method for authenticating with GitHub for creating the PR."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 703
          },
          "name": "projenCredentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 745
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 752
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "UpgradeDependenciesSchedule.DAILY",
            "stability": "experimental",
            "summary": "Schedule to run on."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/upgrade-dependencies.ts",
            "line": 690
          },
          "name": "schedule",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.UpgradeDependenciesSchedule"
          }
        }
      ],
      "symbolId": "src/javascript/upgrade-dependencies:UpgradeDependenciesWorkflowOptions"
    },
    "projen.javascript.WatchPlugin": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.WatchPlugin",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/jest.ts",
          "line": 599
        },
        "parameters": [
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "primitive": "any"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/jest.ts",
        "line": 598
      },
      "name": "WatchPlugin",
      "namespace": "javascript",
      "symbolId": "src/javascript/jest:WatchPlugin"
    },
    "projen.javascript.YarnBerryOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Configure Yarn Berry."
      },
      "fqn": "projen.javascript.YarnBerryOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/node-package.ts",
        "line": 2360
      },
      "name": "YarnBerryOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- all packages are deduplicated",
            "remarks": "This will prevent multiple versions of the same package from being\ninstalled in the lock file, if a single version could satisfy all requested\nversion ranges. This will prevent version proliferation and reduce the size\nof the dependency tree.\n\nSetting this implies `dedupeDeps: true` on the project, which will run\n`yarn dedupe` after every mutating install. Set `dedupeDeps: false`\nexplicitly to disable the task.\n\nSupports glob patterns, e.g. `@aws-sdk/*`.",
            "stability": "experimental",
            "summary": "Packages to deduplicate when the `dedupe` task runs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2399
          },
          "name": "dedupePackages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 4.13.0",
            "stability": "experimental",
            "summary": "A fully specified version to use for yarn (e.g., x.x.x)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2366
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- a blank Yarn RC file",
            "stability": "experimental",
            "summary": "The yarnrc configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2373
          },
          "name": "yarnRcOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Learn more at: https://yarnpkg.com/features/caching#zero-installs",
            "stability": "experimental",
            "summary": "Should zero-installs be enabled?"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/node-package.ts",
            "line": 2381
          },
          "name": "zeroInstalls",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/node-package:YarnBerryOptions"
    },
    "projen.javascript.YarnCacheMigrationMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#cacheMigrationMode."
      },
      "fqn": "projen.javascript.YarnCacheMigrationMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 140
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "REQUIRED_ONLY"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "MATCH_SPEC"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALWAYS"
        }
      ],
      "name": "YarnCacheMigrationMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnCacheMigrationMode"
    },
    "projen.javascript.YarnChecksumBehavior": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#checksumBehavior."
      },
      "fqn": "projen.javascript.YarnChecksumBehavior",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 6
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "THROW"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "UPDATE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "RESET"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "IGNORE"
        }
      ],
      "name": "YarnChecksumBehavior",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnChecksumBehavior"
    },
    "projen.javascript.YarnDefaultSemverRangePrefix": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#defaultSemverRangePrefix."
      },
      "fqn": "projen.javascript.YarnDefaultSemverRangePrefix",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 14
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "CARET"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "TILDE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "EMPTY_STRING"
        }
      ],
      "name": "YarnDefaultSemverRangePrefix",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnDefaultSemverRangePrefix"
    },
    "projen.javascript.YarnLogFilter": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#logFilters."
      },
      "fqn": "projen.javascript.YarnLogFilter",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 29
      },
      "name": "YarnLogFilter",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 30
          },
          "name": "code",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 32
          },
          "name": "level",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnLogFilterLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 33
          },
          "name": "pattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 31
          },
          "name": "text",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnLogFilter"
    },
    "projen.javascript.YarnLogFilterLevel": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://v3.yarnpkg.com/configuration/yarnrc#logFilters.0.level."
      },
      "fqn": "projen.javascript.YarnLogFilterLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 21
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INFO"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "WARNING"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ERROR"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DISCARD"
        }
      ],
      "name": "YarnLogFilterLevel",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnLogFilterLevel"
    },
    "projen.javascript.YarnNetworkSetting": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#networkSettings."
      },
      "fqn": "projen.javascript.YarnNetworkSetting",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 37
      },
      "name": "YarnNetworkSetting",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 39
          },
          "name": "enableNetwork",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 40
          },
          "name": "httpProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 38
          },
          "name": "httpsCaFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 43
          },
          "name": "httpsCertFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 42
          },
          "name": "httpsKeyFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 41
          },
          "name": "httpsProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnNetworkSetting"
    },
    "projen.javascript.YarnNmHoistingLimit": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits."
      },
      "fqn": "projen.javascript.YarnNmHoistingLimit",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 47
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEPENDENCIES"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "WORKSPACES"
        }
      ],
      "name": "YarnNmHoistingLimit",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnNmHoistingLimit"
    },
    "projen.javascript.YarnNmMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#nmMode."
      },
      "fqn": "projen.javascript.YarnNmMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 54
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "CLASSIC"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "HARDLINKS_LOCAL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "HARDLINKS_GLOBAL"
        }
      ],
      "name": "YarnNmMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnNmMode"
    },
    "projen.javascript.YarnNodeLinker": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#nodeLinker."
      },
      "fqn": "projen.javascript.YarnNodeLinker",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 61
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PNP"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PNPM"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NODE_MODULES"
        }
      ],
      "name": "YarnNodeLinker",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnNodeLinker"
    },
    "projen.javascript.YarnNodePackageMapType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#nodePackageMapType."
      },
      "fqn": "projen.javascript.YarnNodePackageMapType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 68
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STANDARD"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "LOOSE"
        }
      ],
      "name": "YarnNodePackageMapType",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnNodePackageMapType"
    },
    "projen.javascript.YarnNpmPublishAccess": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#npmPublishAccess."
      },
      "fqn": "projen.javascript.YarnNpmPublishAccess",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 74
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PUBLIC"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "RESTRICTED"
        }
      ],
      "name": "YarnNpmPublishAccess",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnNpmPublishAccess"
    },
    "projen.javascript.YarnNpmRegistry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#npmRegistries."
      },
      "fqn": "projen.javascript.YarnNpmRegistry",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 80
      },
      "name": "YarnNpmRegistry",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 81
          },
          "name": "npmAlwaysAuth",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 82
          },
          "name": "npmAuthIdent",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 83
          },
          "name": "npmAuthToken",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnNpmRegistry"
    },
    "projen.javascript.YarnNpmScope": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#npmScopes."
      },
      "fqn": "projen.javascript.YarnNpmScope",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 87
      },
      "name": "YarnNpmScope",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 90
          },
          "name": "npmAlwaysAuth",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 91
          },
          "name": "npmAuthIdent",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 92
          },
          "name": "npmAuthToken",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 88
          },
          "name": "npmPublishRegistry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 89
          },
          "name": "npmRegistryServer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnNpmScope"
    },
    "projen.javascript.YarnPackageExtension": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#packageExtensions."
      },
      "fqn": "projen.javascript.YarnPackageExtension",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 101
      },
      "name": "YarnPackageExtension",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 102
          },
          "name": "dependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 103
          },
          "name": "peerDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 104
          },
          "name": "peerDependenciesMeta",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.javascript.YarnPeerDependencyMeta"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnPackageExtension"
    },
    "projen.javascript.YarnPeerDependencyMeta": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#packageExtensions."
      },
      "fqn": "projen.javascript.YarnPeerDependencyMeta",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 96
      },
      "name": "YarnPeerDependencyMeta",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 97
          },
          "name": "optional",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnPeerDependencyMeta"
    },
    "projen.javascript.YarnPnpFallbackMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#pnpFallbackMode."
      },
      "fqn": "projen.javascript.YarnPnpFallbackMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 111
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEPENDENCIES_ONLY"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ALL"
        }
      ],
      "name": "YarnPnpFallbackMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnPnpFallbackMode"
    },
    "projen.javascript.YarnPnpMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#pnpMode."
      },
      "fqn": "projen.javascript.YarnPnpMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 118
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "STRICT"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "LOOSE"
        }
      ],
      "name": "YarnPnpMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnPnpMode"
    },
    "projen.javascript.YarnProgressBarStyle": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#progressBarStyle."
      },
      "fqn": "projen.javascript.YarnProgressBarStyle",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 124
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "PATRICK"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "SIMBA"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "JACK"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "HOGSFATHER"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "DEFAULT"
        }
      ],
      "name": "YarnProgressBarStyle",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnProgressBarStyle"
    },
    "projen.javascript.YarnSupportedArchitectures": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#supportedArchitectures."
      },
      "fqn": "projen.javascript.YarnSupportedArchitectures",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 133
      },
      "name": "YarnSupportedArchitectures",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 135
          },
          "name": "cpu",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 136
          },
          "name": "libc",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 134
          },
          "name": "os",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnSupportedArchitectures"
    },
    "projen.javascript.YarnTaskPoolMode": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#taskPoolMode."
      },
      "fqn": "projen.javascript.YarnTaskPoolMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 164
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "ASYNC"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "WORKERS"
        }
      ],
      "name": "YarnTaskPoolMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnTaskPoolMode"
    },
    "projen.javascript.YarnWinLinkType": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "https://yarnpkg.com/configuration/yarnrc#winLinkType."
      },
      "fqn": "projen.javascript.YarnWinLinkType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 147
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "JUNCTIONS"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "SYMLINKS"
        }
      ],
      "name": "YarnWinLinkType",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnWinLinkType"
    },
    "projen.javascript.YarnWorkerPoolMode": {
      "assembly": "projen",
      "docs": {
        "deprecated": "use {@link YarnTaskPoolMode } instead. Yarn calls this setting\n`taskPoolMode`; there is no `workerPoolMode` setting.",
        "stability": "deprecated",
        "summary": "https://yarnpkg.com/configuration/yarnrc#taskPoolMode."
      },
      "fqn": "projen.javascript.YarnWorkerPoolMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 158
      },
      "members": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "name": "ASYNC"
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "name": "WORKERS"
        }
      ],
      "name": "YarnWorkerPoolMode",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:YarnWorkerPoolMode"
    },
    "projen.javascript.Yarnrc": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.javascript.Yarnrc",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/javascript/yarnrc.ts",
          "line": 382
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.javascript.YarnrcOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 381
      },
      "name": "Yarnrc",
      "namespace": "javascript",
      "symbolId": "src/javascript/yarnrc:Yarnrc"
    },
    "projen.javascript.YarnrcOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Configuration for .yarnrc.yml in Yarn Berry v4."
      },
      "fqn": "projen.javascript.YarnrcOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/yarnrc.ts",
        "line": 170
      },
      "name": "YarnrcOptions",
      "namespace": "javascript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#approvedGitRepositories."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 180
          },
          "name": "approvedGitRepositories",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#cacheFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 172
          },
          "name": "cacheFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#cacheMigrationMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 174
          },
          "name": "cacheMigrationMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnCacheMigrationMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#catalog."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 176
          },
          "name": "catalog",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#catalogs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 178
          },
          "name": "catalogs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#changesetBaseRefs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 184
          },
          "name": "changesetBaseRefs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#changesetIgnorePatterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 186
          },
          "name": "changesetIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#checksumBehavior."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 188
          },
          "name": "checksumBehavior",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnChecksumBehavior"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#cloneConcurrency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 190
          },
          "name": "cloneConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#compressionLevel."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 192
          },
          "name": "compressionLevel",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "number"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#constraintsPath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 194
          },
          "name": "constraintsPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#defaultLanguageName."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 196
          },
          "name": "defaultLanguageName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#defaultProtocol."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 198
          },
          "name": "defaultProtocol",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#defaultSemverRangePrefix."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 200
          },
          "name": "defaultSemverRangePrefix",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnDefaultSemverRangePrefix"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#deferredVersionFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 202
          },
          "name": "deferredVersionFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableColors."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 204
          },
          "name": "enableColors",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "use {@link YarnrcOptions.enableConstraintsChecks } instead. Yarn\ncalls this setting `enableConstraintsChecks` (note the trailing `s`).",
            "stability": "deprecated",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableConstraintsChecks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 211
          },
          "name": "enableConstraintsCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableConstraintsChecks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 213
          },
          "name": "enableConstraintsChecks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableGlobalCache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 215
          },
          "name": "enableGlobalCache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableHardenedMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 217
          },
          "name": "enableHardenedMode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableHyperlinks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 219
          },
          "name": "enableHyperlinks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableImmutableCache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 221
          },
          "name": "enableImmutableCache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableImmutableInstalls."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 223
          },
          "name": "enableImmutableInstalls",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableInlineBuilds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 225
          },
          "name": "enableInlineBuilds",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableInlineHunks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 227
          },
          "name": "enableInlineHunks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableMessageNames."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 229
          },
          "name": "enableMessageNames",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableMirror."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 231
          },
          "name": "enableMirror",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableNetwork."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 233
          },
          "name": "enableNetwork",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableOfflineMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 235
          },
          "name": "enableOfflineMode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableProgressBars."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 237
          },
          "name": "enableProgressBars",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableScripts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 239
          },
          "name": "enableScripts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableStrictSsl."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 241
          },
          "name": "enableStrictSsl",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableTelemetry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 243
          },
          "name": "enableTelemetry",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableTimers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 245
          },
          "name": "enableTimers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#enableTransparentWorkspaces."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 247
          },
          "name": "enableTransparentWorkspaces",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#globalFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 249
          },
          "name": "globalFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpProxy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 251
          },
          "name": "httpProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpRetry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 253
          },
          "name": "httpRetry",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpsCaFilePath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 182
          },
          "name": "httpsCaFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpsCertFilePath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 257
          },
          "name": "httpsCertFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpsKeyFilePath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 259
          },
          "name": "httpsKeyFilePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpsProxy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 261
          },
          "name": "httpsProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#httpTimeout."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 255
          },
          "name": "httpTimeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#ignorePath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 263
          },
          "name": "ignorePath",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#immutablePatterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 265
          },
          "name": "immutablePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#initFields."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 269
          },
          "name": "initFields",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#initScope."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 267
          },
          "name": "initScope",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#injectEnvironmentFiles."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 271
          },
          "name": "injectEnvironmentFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#installStatePath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 273
          },
          "name": "installStatePath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#logFilters."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 275
          },
          "name": "logFilters",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.YarnLogFilter"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#networkConcurrency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 277
          },
          "name": "networkConcurrency",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#networkSettings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 279
          },
          "name": "networkSettings",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.YarnNetworkSetting"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nmHoistingLimits."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 281
          },
          "name": "nmHoistingLimits",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnNmHoistingLimit"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nmMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 285
          },
          "name": "nmMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnNmMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nmSelfReferences."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 283
          },
          "name": "nmSelfReferences",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nodeExperimentalPackageMap."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 289
          },
          "name": "nodeExperimentalPackageMap",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nodeLinker."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 287
          },
          "name": "nodeLinker",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnNodeLinker"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#nodePackageMapType."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 291
          },
          "name": "nodePackageMapType",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnNodePackageMapType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAlwaysAuth."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 301
          },
          "name": "npmAlwaysAuth",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAuditExcludePackages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 313
          },
          "name": "npmAuditExcludePackages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAuditIgnoreAdvisories."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 315
          },
          "name": "npmAuditIgnoreAdvisories",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAuditRegistry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 303
          },
          "name": "npmAuditRegistry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAuthIdent."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 305
          },
          "name": "npmAuthIdent",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmAuthToken."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 307
          },
          "name": "npmAuthToken",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmMinimalAgeGate."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 293
          },
          "name": "npmMinimalAgeGate",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmPreapprovedPackages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 295
          },
          "name": "npmPreapprovedPackages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmPublishAccess."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 309
          },
          "name": "npmPublishAccess",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnNpmPublishAccess"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmPublishProvenance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 311
          },
          "name": "npmPublishProvenance",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmPublishRegistry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 317
          },
          "name": "npmPublishRegistry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmRegistries."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 319
          },
          "name": "npmRegistries",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.YarnNpmRegistry"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmRegistryServer."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 321
          },
          "name": "npmRegistryServer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#npmScopes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 323
          },
          "name": "npmScopes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.YarnNpmScope"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#packageExtensions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 325
          },
          "name": "packageExtensions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.YarnPackageExtension"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#patchFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 327
          },
          "name": "patchFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpEnableEsmLoader."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 329
          },
          "name": "pnpEnableEsmLoader",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpEnableInlining."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 331
          },
          "name": "pnpEnableInlining",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpFallbackMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 333
          },
          "name": "pnpFallbackMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnPnpFallbackMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpIgnorePatterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 335
          },
          "name": "pnpIgnorePatterns",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 337
          },
          "name": "pnpMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnPnpMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpmStoreFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 297
          },
          "name": "pnpmStoreFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpShebang."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 339
          },
          "name": "pnpShebang",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#pnpUnpluggedFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 341
          },
          "name": "pnpUnpluggedFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#preferDeferredVersions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 343
          },
          "name": "preferDeferredVersions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#preferInteractive."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 345
          },
          "name": "preferInteractive",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#preferReuse."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 347
          },
          "name": "preferReuse",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#preferTruncatedLines."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 349
          },
          "name": "preferTruncatedLines",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#progressBarStyle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 351
          },
          "name": "progressBarStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnProgressBarStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#rcFilename."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 353
          },
          "name": "rcFilename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#supportedArchitectures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 355
          },
          "name": "supportedArchitectures",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnSupportedArchitectures"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#taskPoolConcurrency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 357
          },
          "name": "taskPoolConcurrency",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#taskPoolMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 359
          },
          "name": "taskPoolMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnTaskPoolMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#telemetryInterval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 368
          },
          "name": "telemetryInterval",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#telemetryUserId."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 370
          },
          "name": "telemetryUserId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#tsEnableAutoTypes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 372
          },
          "name": "tsEnableAutoTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#unsafeHttpWhitelist."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 374
          },
          "name": "unsafeHttpWhitelist",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#virtualFolder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 376
          },
          "name": "virtualFolder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#winLinkType."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 299
          },
          "name": "winLinkType",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnWinLinkType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "use {@link YarnrcOptions.taskPoolMode } instead. Yarn calls this\nsetting `taskPoolMode`; there is no `workerPoolMode` setting.",
            "stability": "deprecated",
            "summary": "https://yarnpkg.com/configuration/yarnrc#taskPoolMode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 366
          },
          "name": "workerPoolMode",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.YarnWorkerPoolMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "https://yarnpkg.com/configuration/yarnrc#yarnPath."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/yarnrc.ts",
            "line": 378
          },
          "name": "yarnPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/javascript/yarnrc:YarnrcOptions"
    },
    "projen.javascript.biome_config.Actions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "Actions"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.Actions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1008
      },
      "name": "Actions",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Actions#preset"
            },
            "stability": "experimental",
            "summary": "The actions preset to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1014
          },
          "name": "preset",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.PresetConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Actions#recommended"
            },
            "remarks": "`true` by default.",
            "stability": "experimental",
            "summary": "It enables the assist actions recommended by Biome."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1021
          },
          "name": "recommended",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Actions#source"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1026
          },
          "name": "source",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Source"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:Actions"
    },
    "projen.javascript.biome_config.ArrowParentheses": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "ArrowParentheses"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.ArrowParentheses",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2955
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "always."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "asNeeded."
          },
          "name": "AS_NEEDED"
        }
      ],
      "name": "ArrowParentheses",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:ArrowParentheses"
    },
    "projen.javascript.biome_config.AssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "AssistConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.AssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 155
      },
      "name": "AssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "AssistConfiguration#actions"
            },
            "stability": "experimental",
            "summary": "Whether Biome should fail in CLI if the assist were not applied to the code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 161
          },
          "name": "actions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Actions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "AssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Whether Biome should enable assist via LSP and CLI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 168
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "AssistConfiguration#includes"
            },
            "remarks": "Biome will include files/folders that will\nmatch these patterns.",
            "stability": "experimental",
            "summary": "A list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 176
          },
          "name": "includes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:AssistConfiguration"
    },
    "projen.javascript.biome_config.AttributePosition": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AttributePosition"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.AttributePosition",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1248
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "auto."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "multiline."
          },
          "name": "MULTILINE"
        }
      ],
      "name": "AttributePosition",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:AttributePosition"
    },
    "projen.javascript.biome_config.BiomeConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "BiomeConfiguration"
        },
        "stability": "experimental",
        "summary": "The configuration contained in `biome.json`."
      },
      "fqn": "projen.javascript.biome_config.BiomeConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 7
      },
      "name": "BiomeConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "The assist configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 20
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.AssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#css"
            },
            "stability": "experimental",
            "summary": "Configuration specific to CSS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 27
          },
          "name": "css",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#extends"
            },
            "stability": "experimental",
            "summary": "A list of paths to other JSON files, used to extend the current configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 34
          },
          "name": "extends",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#files"
            },
            "stability": "experimental",
            "summary": "The file handling configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 41
          },
          "name": "files",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.FilesConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "The formatter configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 48
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.FormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#graphql"
            },
            "stability": "experimental",
            "summary": "Configuration specific to GraphQL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 55
          },
          "name": "graphql",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GraphqlConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#grit"
            },
            "stability": "experimental",
            "summary": "Configuration specific to GritQL."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 62
          },
          "name": "grit",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GritConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#html"
            },
            "stability": "experimental",
            "summary": "Configuration specific to HTML."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 69
          },
          "name": "html",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#javascript"
            },
            "stability": "experimental",
            "summary": "Configuration specific to JavaScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 76
          },
          "name": "javascript",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#json"
            },
            "stability": "experimental",
            "summary": "Configuration specific to JSON."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 83
          },
          "name": "json",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "The linter configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 90
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#overrides"
            },
            "stability": "experimental",
            "summary": "A list of granular patterns applied only to a subset of files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 97
          },
          "name": "overrides",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.biome_config.OverridePattern"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#plugins"
            },
            "stability": "experimental",
            "summary": "List of plugins to load."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 104
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#root"
            },
            "remarks": "By default, this is `true`.",
            "stability": "experimental",
            "summary": "Indicates whether this configuration file is at the root of a Biome project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 112
          },
          "name": "root",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#$schema"
            },
            "stability": "experimental",
            "summary": "A field for the JSON schema specification: https://json-schema.org/."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 13
          },
          "name": "schema",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BiomeConfiguration#vcs"
            },
            "stability": "experimental",
            "summary": "The version control integration configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 119
          },
          "name": "vcs",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.VcsConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:BiomeConfiguration"
    },
    "projen.javascript.biome_config.CssAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CssAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how CSS assist behaves."
      },
      "fqn": "projen.javascript.biome_config.CssAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1051
      },
      "name": "CssAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for CSS files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1057
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:CssAssistConfiguration"
    },
    "projen.javascript.biome_config.CssConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CssConfiguration"
        },
        "stability": "experimental",
        "summary": "Options applied to CSS files."
      },
      "fqn": "projen.javascript.biome_config.CssConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 201
      },
      "name": "CssConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "CSS assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 207
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "CSS formatter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 214
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssConfiguration#globals"
            },
            "stability": "experimental",
            "summary": "CSS globals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 221
          },
          "name": "globals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "CSS linter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 228
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssLinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssConfiguration#parser"
            },
            "stability": "experimental",
            "summary": "CSS parsing options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 235
          },
          "name": "parser",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssParserConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:CssConfiguration"
    },
    "projen.javascript.biome_config.CssFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CssFormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the CSS formatter behaves."
      },
      "fqn": "projen.javascript.biome_config.CssFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1080
      },
      "name": "CssFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#delimiterSpacing"
            },
            "remarks": "When enabled, `rgb(0, 0, 0)` becomes `rgb( 0, 0, 0 )` and `[data-attr]` becomes\n`[ data-attr ]`. Empty delimiters are unchanged.\n\nIf unset, inherits the global delimiter spacing setting.",
            "stability": "experimental",
            "summary": "Controls spaces inside CSS parentheses and square brackets when their content fits on one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1090
          },
          "name": "delimiterSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for CSS and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1097
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the global\nindentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to CSS and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1105
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset, inherits the\nglobal indentation width.",
            "stability": "experimental",
            "summary": "The indentation width applied to CSS and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1113
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the global\nline ending.",
            "stability": "experimental",
            "summary": "The line ending applied to CSS and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1121
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset, inherits the global\nline width.",
            "stability": "experimental",
            "summary": "The maximum line width for CSS and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1129
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#quoteStyle"
            },
            "default": "double`.",
            "remarks": "Defaults to `double`.",
            "stability": "experimental",
            "summary": "The type of quotes used in CSS code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1137
          },
          "name": "quoteStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.QuoteStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssFormatterConfiguration#trailingNewline"
            },
            "remarks": "If unset, inherits the global\ntrailing newline setting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1145
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:CssFormatterConfiguration"
    },
    "projen.javascript.biome_config.CssLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CssLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the CSS linter behaves."
      },
      "fqn": "projen.javascript.biome_config.CssLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1175
      },
      "name": "CssLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for CSS files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1181
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:CssLinterConfiguration"
    },
    "projen.javascript.biome_config.CssParserConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CssParserConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the CSS parser behaves."
      },
      "fqn": "projen.javascript.biome_config.CssParserConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1204
      },
      "name": "CssParserConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssParserConfiguration#allowWrongLineComments"
            },
            "stability": "experimental",
            "summary": "Allows comments to appear on incorrect lines in `.css` files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1210
          },
          "name": "allowWrongLineComments",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssParserConfiguration#cssModules"
            },
            "remarks": "Enable this feature only\nwhen your files don't end in `.module.css`.",
            "stability": "experimental",
            "summary": "Enables parsing of CSS Modules-specific features."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1218
          },
          "name": "cssModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CssParserConfiguration#tailwindDirectives"
            },
            "stability": "experimental",
            "summary": "Enables parsing of Tailwind CSS 4.0 directives and functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1225
          },
          "name": "tailwindDirectives",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:CssParserConfiguration"
    },
    "projen.javascript.biome_config.Expand": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "Expand"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.Expand",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1258
      },
      "members": [
        {
          "docs": {
            "remarks": "Arrays remain on one\nline if they fit. (auto)",
            "stability": "experimental",
            "summary": "Objects are expanded when the first property has a leading newline."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "remarks": "(always)",
            "stability": "experimental",
            "summary": "Objects and arrays are always expanded."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "remarks": "(never)",
            "stability": "experimental",
            "summary": "Objects and arrays remain on one line if they fit."
          },
          "name": "NEVER"
        }
      ],
      "name": "Expand",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:Expand"
    },
    "projen.javascript.biome_config.FilesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "FilesConfiguration"
        },
        "stability": "experimental",
        "summary": "The file handling configuration."
      },
      "fqn": "projen.javascript.biome_config.FilesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 262
      },
      "name": "FilesConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FilesConfiguration#experimentalScannerIgnores"
            },
            "remarks": "Set of file and folder names that should be unconditionally ignored by\nBiome's scanner.",
            "stability": "experimental",
            "summary": "**Deprecated:** Please use _force-ignore syntax_ in `files.includes` instead: <https://biomejs.dev/reference/configuration/#filesincludes>."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 272
          },
          "name": "experimentalScannerIgnores",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FilesConfiguration#ignoreUnknown"
            },
            "stability": "experimental",
            "summary": "Prevents Biome from emitting diagnostics for unrecognized file types."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 279
          },
          "name": "ignoreUnknown",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FilesConfiguration#includes"
            },
            "remarks": "Biome handles only files and directories that match these\npatterns.",
            "stability": "experimental",
            "summary": "A list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 287
          },
          "name": "includes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FilesConfiguration#maxSize"
            },
            "default": "1 MiB`.",
            "remarks": "Biome ignores larger files. Defaults to `1 MiB`.",
            "stability": "experimental",
            "summary": "The maximum source file size in bytes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 295
          },
          "name": "maxSize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:FilesConfiguration"
    },
    "projen.javascript.biome_config.FormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "FormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Generic options applied to all files."
      },
      "fqn": "projen.javascript.biome_config.FormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 321
      },
      "name": "FormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#attributePosition"
            },
            "default": "auto`.",
            "remarks": "Defaults to `auto`.",
            "stability": "experimental",
            "summary": "The attribute position style in HTML-like languages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 328
          },
          "name": "attributePosition",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.AttributePosition"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#bracketSameLine"
            },
            "default": "false`.",
            "remarks": "Self-closing elements are unaffected. Defaults to `false`.",
            "stability": "experimental",
            "summary": "Places the `>` of a multiline HTML or JSX element at the end of the last line instead of on the next line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 337
          },
          "name": "bracketSameLine",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#bracketSpacing"
            },
            "default": "true`.",
            "remarks": "Defaults to `true`.",
            "stability": "experimental",
            "summary": "Whether to insert spaces inside braces in object literals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 345
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#delimiterSpacing"
            },
            "default": "false`.",
            "remarks": "It doesn't add spaces before opening delimiters or inside empty delimiters.\n\nThe affected delimiters vary by language. Defaults to `false`.",
            "stability": "experimental",
            "summary": "Controls spaces immediately inside supported delimiters when their content fits on one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 356
          },
          "name": "delimiterSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#enabled"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 361
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#expand"
            },
            "default": "auto`.",
            "remarks": "`auto` formats objects on multiple lines if the first property has a newline, and arrays on\none line if they fit.\n\n`always` formats arrays and objects on multiple lines.\n\n`never` formats arrays and objects on one line if they fit.\n\nDefaults to `auto`.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
            "stability": "experimental",
            "summary": "Controls whether arrays and objects are formatted on one line or multiple lines."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 380
          },
          "name": "expand",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Expand"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#formatWithErrors"
            },
            "default": "false`.",
            "remarks": "Defaults to `false`.",
            "stability": "experimental",
            "summary": "Allows formatting files that contain syntax errors when set to `true`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 388
          },
          "name": "formatWithErrors",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#includes"
            },
            "remarks": "The formatter will include files/folders that will\nmatch these patterns.",
            "stability": "experimental",
            "summary": "A list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 396
          },
          "name": "includes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#indentStyle"
            },
            "default": "tab`.",
            "remarks": "Defaults to `tab`.",
            "stability": "experimental",
            "summary": "Uses tabs or spaces for indentation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 404
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#indentWidth"
            },
            "default": "2`.",
            "remarks": "Defaults to `2`.",
            "stability": "experimental",
            "summary": "The indentation width."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 412
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#lineEnding"
            },
            "default": "lf`.",
            "remarks": "`auto` uses the platform convention. Defaults to `lf`.",
            "stability": "experimental",
            "summary": "Selects the line ending."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 420
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#lineWidth"
            },
            "default": "80`.",
            "remarks": "Defaults to `80`.",
            "stability": "experimental",
            "summary": "The maximum line width."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 428
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#trailingNewline"
            },
            "default": "true`; disabling",
            "remarks": "Defaults to `true`; disabling\nthis option can cause compatibility problems with other tools.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 437
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "FormatterConfiguration#useEditorconfig"
            },
            "default": "false`.",
            "stability": "experimental",
            "summary": "Uses `.editorconfig` files to configure the formatter. Settings in `biome.json` or `biome.jsonc` override `.editorconfig` settings. Defaults to `false`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 446
          },
          "name": "useEditorconfig",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:FormatterConfiguration"
    },
    "projen.javascript.biome_config.GraphqlAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GraphqlAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how GraphQL assist behaves."
      },
      "fqn": "projen.javascript.biome_config.GraphqlAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1297
      },
      "name": "GraphqlAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1303
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GraphqlAssistConfiguration"
    },
    "projen.javascript.biome_config.GraphqlConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GraphqlConfiguration"
        },
        "stability": "experimental",
        "summary": "Options applied to GraphQL files."
      },
      "fqn": "projen.javascript.biome_config.GraphqlConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 482
      },
      "name": "GraphqlConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "GraphQL assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 488
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GraphqlAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "GraphQL formatter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 495
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GraphqlFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "GraphQL linter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 502
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GraphqlLinterConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GraphqlConfiguration"
    },
    "projen.javascript.biome_config.GraphqlFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GraphqlFormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the GraphQL formatter behaves."
      },
      "fqn": "projen.javascript.biome_config.GraphqlFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1326
      },
      "name": "GraphqlFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#bracketSpacing"
            },
            "remarks": "If unset, inherits the global\nbracket spacing setting.",
            "stability": "experimental",
            "summary": "Whether to insert spaces inside braces in object literals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1333
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1340
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the global indentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1347
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset, inherits the global indentation\nwidth.",
            "stability": "experimental",
            "summary": "The indentation width applied to GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1355
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the global line ending.",
            "stability": "experimental",
            "summary": "The line ending applied to GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1362
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset, inherits the global line width.",
            "stability": "experimental",
            "summary": "The maximum line width for GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1369
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#quoteStyle"
            },
            "default": "double`.",
            "remarks": "Defaults to `double`.",
            "stability": "experimental",
            "summary": "The type of quotes used in GraphQL code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1377
          },
          "name": "quoteStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.QuoteStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlFormatterConfiguration#trailingNewline"
            },
            "remarks": "If unset, inherits the global\ntrailing newline setting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1385
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GraphqlFormatterConfiguration"
    },
    "projen.javascript.biome_config.GraphqlLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GraphqlLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the GraphQL linter behaves."
      },
      "fqn": "projen.javascript.biome_config.GraphqlLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1415
      },
      "name": "GraphqlLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GraphqlLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for GraphQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1421
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GraphqlLinterConfiguration"
    },
    "projen.javascript.biome_config.GritAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GritAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how GritQL assist behaves."
      },
      "fqn": "projen.javascript.biome_config.GritAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1444
      },
      "name": "GritAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1450
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GritAssistConfiguration"
    },
    "projen.javascript.biome_config.GritConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GritConfiguration"
        },
        "stability": "experimental",
        "summary": "Options applied to GritQL files."
      },
      "fqn": "projen.javascript.biome_config.GritConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 527
      },
      "name": "GritConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "GritQL assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 533
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GritAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "GritQL formatter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 540
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GritFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "GritQL linter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 547
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GritLinterConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GritConfiguration"
    },
    "projen.javascript.biome_config.GritFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GritFormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the GritQL formatter behaves."
      },
      "fqn": "projen.javascript.biome_config.GritFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1473
      },
      "name": "GritFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1479
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the global indentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1486
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset, inherits the global indentation\nwidth.",
            "stability": "experimental",
            "summary": "The indentation width applied to GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1494
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the global line ending.",
            "stability": "experimental",
            "summary": "The line ending applied to GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1501
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset, inherits the global line width.",
            "stability": "experimental",
            "summary": "The maximum line width for GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1508
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritFormatterConfiguration#trailingNewline"
            },
            "remarks": "If unset, inherits the global\ntrailing newline setting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1516
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GritFormatterConfiguration"
    },
    "projen.javascript.biome_config.GritLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "GritLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the GritQL linter behaves."
      },
      "fqn": "projen.javascript.biome_config.GritLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1544
      },
      "name": "GritLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "GritLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for GritQL files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1550
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:GritLinterConfiguration"
    },
    "projen.javascript.biome_config.HtmlAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "HtmlAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how HTML assist behaves."
      },
      "fqn": "projen.javascript.biome_config.HtmlAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1573
      },
      "name": "HtmlAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1579
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:HtmlAssistConfiguration"
    },
    "projen.javascript.biome_config.HtmlConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "HtmlConfiguration"
        },
        "stability": "experimental",
        "summary": "Options applied to HTML files."
      },
      "fqn": "projen.javascript.biome_config.HtmlConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 572
      },
      "name": "HtmlConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "HTML assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 578
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlConfiguration#experimentalFullSupportEnabled"
            },
            "stability": "experimental",
            "summary": "Enables full support for HTML, Vue, Svelte, and Astro files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 585
          },
          "name": "experimentalFullSupportEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "HTML formatter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 592
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "HTML linter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 599
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlLinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlConfiguration#parser"
            },
            "stability": "experimental",
            "summary": "HTML parsing options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 606
          },
          "name": "parser",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlParserConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:HtmlConfiguration"
    },
    "projen.javascript.biome_config.HtmlFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "HtmlFormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the HTML formatter behaves."
      },
      "fqn": "projen.javascript.biome_config.HtmlFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1602
      },
      "name": "HtmlFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#attributePosition"
            },
            "remarks": "If unset, inherits the global attribute\nposition setting.",
            "stability": "experimental",
            "summary": "The attribute position style in HTML elements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1609
          },
          "name": "attributePosition",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.AttributePosition"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#bracketSameLine"
            },
            "remarks": "If unset, inherits the global `bracketSameLine` setting.",
            "stability": "experimental",
            "summary": "Whether to place the closing bracket of a multiline HTML tag at the end of the last line instead of on its own line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1617
          },
          "name": "bracketSameLine",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1624
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#indentScriptAndStyle"
            },
            "default": "false`.",
            "remarks": "Defaults to `false`.",
            "stability": "experimental",
            "summary": "Whether to indent `<script>` and `<style>` tags in HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1633
          },
          "name": "indentScriptAndStyle",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the global\nindentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1641
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset, inherits the\nglobal indentation width.",
            "stability": "experimental",
            "summary": "The indentation width applied to HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1649
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the global\nline ending.",
            "stability": "experimental",
            "summary": "The line ending applied to HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1657
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset, inherits the global\nline width.",
            "stability": "experimental",
            "summary": "The maximum line width for HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1665
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#selfCloseVoidElements"
            },
            "default": "never`.",
            "remarks": "Defaults to `never`.",
            "stability": "experimental",
            "summary": "Controls whether void elements are self-closed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1673
          },
          "name": "selfCloseVoidElements",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.SelfCloseVoidElements"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#trailingNewline"
            },
            "remarks": "Unlike other language-specific\ntrailing newline settings, this option defaults to `true` instead of inheriting the global\nsetting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1682
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlFormatterConfiguration#whitespaceSensitivity"
            },
            "default": "css`.",
            "remarks": "Defaults to `css`.",
            "stability": "experimental",
            "summary": "Whether to account for whitespace sensitivity when formatting HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1691
          },
          "name": "whitespaceSensitivity",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.WhitespaceSensitivity"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:HtmlFormatterConfiguration"
    },
    "projen.javascript.biome_config.HtmlLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "HtmlLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the HTML linter behaves."
      },
      "fqn": "projen.javascript.biome_config.HtmlLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1724
      },
      "name": "HtmlLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for HTML and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1730
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:HtmlLinterConfiguration"
    },
    "projen.javascript.biome_config.HtmlParserConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "HtmlParserConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the HTML parser behaves."
      },
      "fqn": "projen.javascript.biome_config.HtmlParserConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1753
      },
      "name": "HtmlParserConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlParserConfiguration#interpolation"
            },
            "stability": "experimental",
            "summary": "Enables parsing double text expressions such as `{{ expression }}` inside `.html` files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1759
          },
          "name": "interpolation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "HtmlParserConfiguration#vue"
            },
            "remarks": "Biome will already automatically enable Vue parsing in `.vue` files, so you probably don't need\nto enable this option. This only affects `.html` files, and does not change how `.vue`, `.svelte`,\nor `.astro` files are parsed.",
            "stability": "experimental",
            "summary": "Enables parsing Vue syntax (`v-if`, `v-bind`, etc.) in `.html` files. Enabling this option also enables `interpolation` implicitly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1771
          },
          "name": "vue",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:HtmlParserConfiguration"
    },
    "projen.javascript.biome_config.IndentStyle": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "IndentStyle"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.IndentStyle",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1271
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indent with Tab (tab)."
          },
          "name": "TAB"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Indent with Space (space)."
          },
          "name": "SPACE"
        }
      ],
      "name": "IndentStyle",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:IndentStyle"
    },
    "projen.javascript.biome_config.JsAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Assist options specific to the JavaScript assist."
      },
      "fqn": "projen.javascript.biome_config.JsAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1795
      },
      "name": "JsAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1801
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsAssistConfiguration"
    },
    "projen.javascript.biome_config.JsConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsConfiguration"
        },
        "stability": "experimental",
        "summary": "A set of options applied to the JavaScript files."
      },
      "fqn": "projen.javascript.biome_config.JsConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 633
      },
      "name": "JsConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "Assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 639
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#experimentalEmbeddedSnippetsEnabled"
            },
            "stability": "experimental",
            "summary": "Enables support for embedding snippets."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 646
          },
          "name": "experimentalEmbeddedSnippetsEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "Formatting options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 653
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#globals"
            },
            "remarks": "If defined here, they should not emit diagnostics.",
            "stability": "experimental",
            "summary": "A list of global bindings that should be ignored by the analyzers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 662
          },
          "name": "globals",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#jsxRuntime"
            },
            "stability": "experimental",
            "summary": "Indicates the type of runtime or transformation used for interpreting JSX."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 669
          },
          "name": "jsxRuntime",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsxRuntime"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "Linter options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 676
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsLinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#parser"
            },
            "stability": "experimental",
            "summary": "Parsing options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 683
          },
          "name": "parser",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsParserConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsConfiguration#resolver"
            },
            "stability": "experimental",
            "summary": "Module/dependency resolver options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 690
          },
          "name": "resolver",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsResolverConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsConfiguration"
    },
    "projen.javascript.biome_config.JsFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsFormatterConfiguration"
        },
        "stability": "experimental",
        "summary": "Formatting options specific to the JavaScript files."
      },
      "fqn": "projen.javascript.biome_config.JsFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1824
      },
      "name": "JsFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#arrowParentheses"
            },
            "default": "always`.",
            "remarks": "Defaults to `always`.",
            "stability": "experimental",
            "summary": "Whether to add parentheses around arrow function parameters."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1831
          },
          "name": "arrowParentheses",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.ArrowParentheses"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#attributePosition"
            },
            "remarks": "If unset, inherits the global attribute\nposition setting.",
            "stability": "experimental",
            "summary": "The attribute position style in JSX elements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1839
          },
          "name": "attributePosition",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.AttributePosition"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#bracketSameLine"
            },
            "remarks": "If unset, inherits the global bracket\nplacement setting.",
            "stability": "experimental",
            "summary": "Whether to hug the closing bracket of multiline HTML/JSX tags to the end of the last line, rather than being alone on the following line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1848
          },
          "name": "bracketSameLine",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#bracketSpacing"
            },
            "remarks": "If unset, inherits the global\nbracket spacing setting.",
            "stability": "experimental",
            "summary": "Whether to insert spaces inside braces in object literals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1856
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#delimiterSpacing"
            },
            "remarks": "It doesn't add spaces before opening delimiters or inside empty\ndelimiters.\n\nIt affects parentheses, square brackets, template interpolations, TypeScript angle brackets,\nJSX expression braces, and logical NOT. In operator chains, only the final operator receives\na following space.\n\nIf unset, inherits the global delimiter spacing setting.",
            "stability": "experimental",
            "summary": "Controls spaces immediately inside supported JavaScript and TypeScript delimiters when their content fits on one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1871
          },
          "name": "delimiterSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1878
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#expand"
            },
            "remarks": "If unset, inherits the global expansion setting.",
            "stability": "experimental",
            "summary": "Uses the same `auto`, `always`, and `never` behavior as the global expansion setting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1887
          },
          "name": "expand",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Expand"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the\nglobal indentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1895
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset,\ninherits the global indentation width.",
            "stability": "experimental",
            "summary": "The indentation width applied to JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1903
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#jsxQuoteStyle"
            },
            "default": "double`.",
            "remarks": "Defaults to `double`.",
            "stability": "experimental",
            "summary": "The type of quotes used in JSX."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1911
          },
          "name": "jsxQuoteStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.QuoteStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the\nglobal line ending.",
            "stability": "experimental",
            "summary": "The line ending applied to JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1919
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset,\ninherits the global line width.",
            "stability": "experimental",
            "summary": "The maximum line width applied to JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1927
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#operatorLinebreak"
            },
            "default": "after`.",
            "remarks": "Defaults to `after`.",
            "stability": "experimental",
            "summary": "When breaking binary expressions into multiple lines, whether to break them before or after the binary operator."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1936
          },
          "name": "operatorLinebreak",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.OperatorLinebreak"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#quoteProperties"
            },
            "default": "asNeeded` in configuration",
            "remarks": "Defaults to `asNeeded` in configuration\n(`as-needed` on the CLI).",
            "stability": "experimental",
            "summary": "Controls when object properties are quoted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1945
          },
          "name": "quoteProperties",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.QuoteProperties"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#quoteStyle"
            },
            "default": "double`.",
            "remarks": "Defaults to `double`.",
            "stability": "experimental",
            "summary": "The type of quotes used in JavaScript code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1953
          },
          "name": "quoteStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.QuoteStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#semicolons"
            },
            "default": "always`.",
            "remarks": "Defaults to `always`.",
            "stability": "experimental",
            "summary": "Prints semicolons after every statement or only where needed to avoid automatic semicolon insertion hazards."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1962
          },
          "name": "semicolons",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Semicolons"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#trailingCommas"
            },
            "default": "all`.",
            "remarks": "Defaults\nto `all`.",
            "stability": "experimental",
            "summary": "Prints trailing commas wherever possible in multiline comma-separated structures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1971
          },
          "name": "trailingCommas",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsTrailingCommas"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsFormatterConfiguration#trailingNewline"
            },
            "remarks": "If unset, inherits the global\ntrailing newline setting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 1979
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsFormatterConfiguration"
    },
    "projen.javascript.biome_config.JsLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Linter options specific to the JavaScript linter."
      },
      "fqn": "projen.javascript.biome_config.JsLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2040
      },
      "name": "JsLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for JavaScript and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2046
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsLinterConfiguration"
    },
    "projen.javascript.biome_config.JsParserConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsParserConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the JavaScript parser behaves."
      },
      "fqn": "projen.javascript.biome_config.JsParserConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2069
      },
      "name": "JsParserConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsParserConfiguration#gritMetavariables"
            },
            "default": "false`.",
            "remarks": "Defaults to `false`.",
            "stability": "experimental",
            "summary": "Enables parsing of Grit metavariables."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2077
          },
          "name": "gritMetavariables",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsParserConfiguration#jsxEverywhere"
            },
            "default": "true`.",
            "stability": "experimental",
            "summary": "When enabled, files such as `.js`, `.mjs`, and `.cjs` may contain JSX syntax. Defaults to `true`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2086
          },
          "name": "jsxEverywhere",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsParserConfiguration#unsafeParameterDecoratorsEnabled"
            },
            "remarks": "These decorators belong to an old proposal, and they are subject to change.",
            "stability": "experimental",
            "summary": "It enables the experimental and unsafe parsing of parameter decorators."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2095
          },
          "name": "unsafeParameterDecoratorsEnabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsParserConfiguration"
    },
    "projen.javascript.biome_config.JsResolverConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsResolverConfiguration"
        },
        "stability": "experimental",
        "summary": "Resolver options specific to JavaScript files."
      },
      "fqn": "projen.javascript.biome_config.JsResolverConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2120
      },
      "name": "JsResolverConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsResolverConfiguration#experimentalPnpmCatalogs"
            },
            "default": "false`.",
            "remarks": "Opt-in:\n- Set `javascript.resolver.experimentalPnpmCatalogs` to `true`.\n\nScope:\n- Resolves `catalog:` and `catalog:<name>` dependency versions from\n`package.json`.\n- Applies to `dependencies`, `devDependencies`, and `peerDependencies`.\n\nFail-safe behavior:\n- If `pnpm-workspace.yaml` is missing, unreadable, or cannot be parsed,\nBiome silently falls back to the default behavior (as if this option\nwere disabled).\n- Unknown keys and unsupported value shapes in `pnpm-workspace.yaml` are\nignored.\n\nLimitations:\n- Only `pnpm-workspace.yaml` is read.\n- Biome only reads top-level `catalog` / `catalogs` mappings and scalar\nstring entries.\n\nDefaults to `false`.",
            "stability": "experimental",
            "summary": "Enables pnpm workspace catalog resolution for JavaScript package manifests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2149
          },
          "name": "experimentalPnpmCatalogs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsResolverConfiguration"
    },
    "projen.javascript.biome_config.JsTrailingCommas": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "JsTrailingCommas"
        },
        "stability": "experimental",
        "summary": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures for JavaScript/TypeScript files."
      },
      "fqn": "projen.javascript.biome_config.JsTrailingCommas",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2997
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "all."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "es5."
          },
          "name": "ES5"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "none."
          },
          "name": "NONE"
        }
      ],
      "name": "JsTrailingCommas",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:JsTrailingCommas"
    },
    "projen.javascript.biome_config.JsonAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsonAssistConfiguration"
        },
        "stability": "experimental",
        "summary": "Assist options specific to the JSON linter."
      },
      "fqn": "projen.javascript.biome_config.JsonAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2172
      },
      "name": "JsonAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonAssistConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls assist actions for JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2178
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsonAssistConfiguration"
    },
    "projen.javascript.biome_config.JsonConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsonConfiguration"
        },
        "stability": "experimental",
        "summary": "Options applied to JSON files."
      },
      "fqn": "projen.javascript.biome_config.JsonConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 720
      },
      "name": "JsonConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonConfiguration#assist"
            },
            "stability": "experimental",
            "summary": "Assist options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 726
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonConfiguration#formatter"
            },
            "stability": "experimental",
            "summary": "Formatting options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 733
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonConfiguration#linter"
            },
            "stability": "experimental",
            "summary": "Linting options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 740
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonLinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonConfiguration#parser"
            },
            "stability": "experimental",
            "summary": "Parsing options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 747
          },
          "name": "parser",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonParserConfiguration"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsonConfiguration"
    },
    "projen.javascript.biome_config.JsonFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsonFormatterConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.JsonFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2199
      },
      "name": "JsonFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#bracketSpacing"
            },
            "remarks": "If unset, inherits the global\nbracket spacing setting.",
            "stability": "experimental",
            "summary": "Whether to insert spaces inside braces in object literals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2206
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#delimiterSpacing"
            },
            "remarks": "When\nenabled, `[1, 2, 3]` becomes `[ 1, 2, 3 ]`. Empty brackets are unchanged.\n\nIf unset, inherits the global delimiter spacing setting.",
            "stability": "experimental",
            "summary": "Controls spaces inside JSON square brackets when their content fits on one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2216
          },
          "name": "delimiterSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the formatter for JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2223
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#expand"
            },
            "remarks": "If unset, inherits the global expansion setting.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
            "stability": "experimental",
            "summary": "Uses the same `auto`, `always`, and `never` behavior as the global expansion setting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2234
          },
          "name": "expand",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Expand"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#indentStyle"
            },
            "remarks": "If unset, inherits the global\nindentation style.",
            "stability": "experimental",
            "summary": "The indent style applied to JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2242
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#indentWidth"
            },
            "remarks": "If unset, inherits the\nglobal indentation width.",
            "stability": "experimental",
            "summary": "The indentation width applied to JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2250
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#lineEnding"
            },
            "remarks": "If unset, inherits the global\nline ending.",
            "stability": "experimental",
            "summary": "The line ending applied to JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2258
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#lineWidth"
            },
            "remarks": "If unset, inherits the\nglobal line width.",
            "stability": "experimental",
            "summary": "The maximum line width applied to JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2266
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#trailingCommas"
            },
            "default": "none`.",
            "remarks": "Defaults\nto `none`.",
            "stability": "experimental",
            "summary": "Prints trailing commas wherever possible in multiline comma-separated structures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2275
          },
          "name": "trailingCommas",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonTrailingCommas"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonFormatterConfiguration#trailingNewline"
            },
            "remarks": "If unset, inherits the global\ntrailing newline setting.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2283
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsonFormatterConfiguration"
    },
    "projen.javascript.biome_config.JsonLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsonLinterConfiguration"
        },
        "stability": "experimental",
        "summary": "Linter options specific to the JSON linter."
      },
      "fqn": "projen.javascript.biome_config.JsonLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2315
      },
      "name": "JsonLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonLinterConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Controls the linter for JSON and languages that extend it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2321
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsonLinterConfiguration"
    },
    "projen.javascript.biome_config.JsonParserConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "JsonParserConfiguration"
        },
        "stability": "experimental",
        "summary": "Options that change how the JSON parser behaves."
      },
      "fqn": "projen.javascript.biome_config.JsonParserConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2344
      },
      "name": "JsonParserConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonParserConfiguration#allowComments"
            },
            "stability": "experimental",
            "summary": "Allows parsing comments in `.json` files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2350
          },
          "name": "allowComments",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "JsonParserConfiguration#allowTrailingCommas"
            },
            "stability": "experimental",
            "summary": "Allows parsing trailing commas in `.json` files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2357
          },
          "name": "allowTrailingCommas",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:JsonParserConfiguration"
    },
    "projen.javascript.biome_config.JsonTrailingCommas": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "JsonTrailingCommas"
        },
        "stability": "experimental",
        "summary": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures for JSON files."
      },
      "fqn": "projen.javascript.biome_config.JsonTrailingCommas",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 3011
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "none."
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "all."
          },
          "name": "ALL"
        }
      ],
      "name": "JsonTrailingCommas",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:JsonTrailingCommas"
    },
    "projen.javascript.biome_config.JsxRuntime": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "JsxRuntime"
        },
        "stability": "experimental",
        "summary": "Indicates the type of runtime or transformation used for interpreting JSX."
      },
      "fqn": "projen.javascript.biome_config.JsxRuntime",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2019
      },
      "members": [
        {
          "docs": {
            "remarks": "(transparent)",
            "stability": "experimental",
            "summary": "Indicates a modern or native JSX environment, that doesn't require special handling by Biome."
          },
          "name": "TRANSPARENT"
        },
        {
          "docs": {
            "remarks": "Corresponds to the `react` value for the `jsx` option in TypeScript's\n`tsconfig.json`.\n\nThis option should only be necessary if you cannot upgrade to a React\nversion that supports the new JSX runtime. For more information about\nthe old vs. new JSX runtime, please see:\n<https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html> (reactClassic)",
            "stability": "experimental",
            "summary": "Indicates a classic React environment that requires the `React` import."
          },
          "name": "REACT_CLASSIC"
        }
      ],
      "name": "JsxRuntime",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:JsxRuntime"
    },
    "projen.javascript.biome_config.LineEnding": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "LineEnding"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.LineEnding",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 1281
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos (lf)."
          },
          "name": "LF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Carriage Return + Line Feed characters (\\r\\n), common on Windows (crlf)."
          },
          "name": "CRLF"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Carriage Return character only (\\r), used very rarely (cr)."
          },
          "name": "CR"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Automatically use CRLF on Windows and LF on other platforms (auto)."
          },
          "name": "AUTO"
        }
      ],
      "name": "LineEnding",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:LineEnding"
    },
    "projen.javascript.biome_config.LinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "LinterConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.LinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 771
      },
      "name": "LinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "LinterConfiguration#domains"
            },
            "stability": "experimental",
            "summary": "An object where the keys are the names of the domains, and the values are `all`, `recommended`, or `none`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 777
          },
          "name": "domains",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.biome_config.RuleDomainValue"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "LinterConfiguration#enabled"
            },
            "remarks": "`true` by default",
            "stability": "experimental",
            "summary": "if `false`, it disables the feature and the linter won't be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 784
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "LinterConfiguration#includes"
            },
            "remarks": "The analyzer will handle only those files/folders that will\nmatch these patterns.",
            "stability": "experimental",
            "summary": "A list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 792
          },
          "name": "includes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "LinterConfiguration#rules"
            },
            "stability": "experimental",
            "summary": "List of rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 799
          },
          "name": "rules",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Rules"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:LinterConfiguration"
    },
    "projen.javascript.biome_config.OperatorLinebreak": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "OperatorLinebreak"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OperatorLinebreak",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2965
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The operator is placed after the expression (after)."
          },
          "name": "AFTER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The operator is placed before the expression (before)."
          },
          "name": "BEFORE"
        }
      ],
      "name": "OperatorLinebreak",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:OperatorLinebreak"
    },
    "projen.javascript.biome_config.OverrideAssistConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "OverrideAssistConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OverrideAssistConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2474
      },
      "name": "OverrideAssistConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideAssistConfiguration#actions"
            },
            "stability": "experimental",
            "summary": "List of actions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2480
          },
          "name": "actions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Actions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideAssistConfiguration#enabled"
            },
            "remarks": "`true` by default",
            "stability": "experimental",
            "summary": "if `false`, it disables the feature and the assist won't be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2487
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:OverrideAssistConfiguration"
    },
    "projen.javascript.biome_config.OverrideFilesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "OverrideFilesConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OverrideFilesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2509
      },
      "name": "OverrideFilesConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFilesConfiguration#maxSize"
            },
            "stability": "experimental",
            "summary": "File size limit in bytes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2515
          },
          "name": "maxSize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:OverrideFilesConfiguration"
    },
    "projen.javascript.biome_config.OverrideFormatterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "OverrideFormatterConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OverrideFormatterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2536
      },
      "name": "OverrideFormatterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#attributePosition"
            },
            "stability": "experimental",
            "summary": "The attribute position style."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2542
          },
          "name": "attributePosition",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.AttributePosition"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#bracketSameLine"
            },
            "stability": "experimental",
            "summary": "Put the `>` of a multi-line HTML or JSX element at the end of the last line instead of being alone on the next line (does not apply to self closing elements)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2549
          },
          "name": "bracketSameLine",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#bracketSpacing"
            },
            "default": "true.",
            "remarks": "Defaults to true.",
            "stability": "experimental",
            "summary": "Whether to insert spaces around brackets in object literals."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2557
          },
          "name": "bracketSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#delimiterSpacing"
            },
            "remarks": "It doesn't add spaces before opening delimiters or inside empty delimiters.\n\nThe affected delimiters vary by language. If unset, uses the configured formatter setting.",
            "stability": "experimental",
            "summary": "Controls spaces immediately inside supported delimiters when their content fits on one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2567
          },
          "name": "delimiterSpacing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#enabled"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2572
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#expand"
            },
            "remarks": "`auto` formats objects on multiple lines if the first property has a newline, and arrays on\none line if they fit.\n\n`always` formats arrays and objects on multiple lines.\n\n`never` formats arrays and objects on one line if they fit.\n\nIf unset, uses the configured formatter setting.\n\nWhen formatting `package.json`, Biome uses `always` unless configured otherwise.",
            "stability": "experimental",
            "summary": "Controls whether arrays and objects are formatted on one line or multiple lines."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2590
          },
          "name": "expand",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Expand"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#formatWithErrors"
            },
            "stability": "experimental",
            "summary": "Stores whether formatting should be allowed to proceed if a given file has syntax errors."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2598
          },
          "name": "formatWithErrors",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#indentSize"
            },
            "stability": "experimental",
            "summary": "The size of the indentation, 2 by default (deprecated, use `indent-width`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2605
          },
          "name": "indentSize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#indentStyle"
            },
            "stability": "experimental",
            "summary": "The indent style."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2612
          },
          "name": "indentStyle",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.IndentStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#indentWidth"
            },
            "stability": "experimental",
            "summary": "The size of the indentation, 2 by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2619
          },
          "name": "indentWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#lineEnding"
            },
            "stability": "experimental",
            "summary": "The type of line ending."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2626
          },
          "name": "lineEnding",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.LineEnding"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#lineWidth"
            },
            "default": "80.",
            "remarks": "Defaults to 80.",
            "stability": "experimental",
            "summary": "What's the max width of a line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2634
          },
          "name": "lineWidth",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#trailingCommas"
            },
            "stability": "experimental",
            "summary": "Print trailing commas wherever possible in multi-line comma-separated syntactic structures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2641
          },
          "name": "trailingCommas",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsTrailingCommas"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideFormatterConfiguration#trailingNewline"
            },
            "default": "true.",
            "remarks": "Setting this option to `false` is **highly discouraged** because it could cause many problems with other tools:\n- https://thoughtbot.com/blog/no-newline-at-end-of-file\n- https://callmeryan.medium.com/no-newline-at-end-of-file-navigating-gits-warning-for-android-developers-af14e73dd804\n- https://unix.stackexchange.com/questions/345548/how-to-cat-files-together-adding-missing-newlines-at-end-of-some-files\n\nDisable the option at your own risk.\n\nDefaults to true.",
            "stability": "experimental",
            "summary": "Whether to add a trailing newline at the end of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2658
          },
          "name": "trailingNewline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:OverrideFormatterConfiguration"
    },
    "projen.javascript.biome_config.OverrideLinterConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "OverrideLinterConfiguration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OverrideLinterConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2692
      },
      "name": "OverrideLinterConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideLinterConfiguration#domains"
            },
            "stability": "experimental",
            "summary": "List of rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2698
          },
          "name": "domains",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.javascript.biome_config.RuleDomainValue"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideLinterConfiguration#enabled"
            },
            "remarks": "`true` by default",
            "stability": "experimental",
            "summary": "if `false`, it disables the feature and the linter won't be executed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2705
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverrideLinterConfiguration#rules"
            },
            "stability": "experimental",
            "summary": "List of rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2712
          },
          "name": "rules",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.Rules"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:OverrideLinterConfiguration"
    },
    "projen.javascript.biome_config.OverridePattern": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "OverridePattern"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.OverridePattern",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 823
      },
      "name": "OverridePattern",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#assist"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the Json language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 829
          },
          "name": "assist",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.OverrideAssistConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#css"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the CSS language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 836
          },
          "name": "css",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.CssConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#files"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the filesystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 843
          },
          "name": "files",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.OverrideFilesConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#formatter"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the Json language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 850
          },
          "name": "formatter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.OverrideFormatterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#graphql"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the Graphql language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 857
          },
          "name": "graphql",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GraphqlConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#grit"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the GritQL language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 864
          },
          "name": "grit",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.GritConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#html"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the GritQL language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 871
          },
          "name": "html",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.HtmlConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#includes"
            },
            "remarks": "Biome will include files/folders that will\nmatch these patterns.",
            "stability": "experimental",
            "summary": "A list of glob patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 879
          },
          "name": "includes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#javascript"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the JavaScript language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 886
          },
          "name": "javascript",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#json"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the Json language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 893
          },
          "name": "json",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.JsonConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#linter"
            },
            "stability": "experimental",
            "summary": "Specific configuration for the Json language."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 900
          },
          "name": "linter",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.OverrideLinterConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "OverridePattern#plugins"
            },
            "stability": "experimental",
            "summary": "Specific configuration for additional plugins."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 907
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:OverridePattern"
    },
    "projen.javascript.biome_config.PresetConfig": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PresetConfig"
        },
        "stability": "experimental",
        "summary": "A preset configuration for enabling a set of rules."
      },
      "fqn": "projen.javascript.biome_config.PresetConfig",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2747
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "recommended."
          },
          "name": "RECOMMENDED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "all."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "none."
          },
          "name": "NONE"
        }
      ],
      "name": "PresetConfig",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:PresetConfig"
    },
    "projen.javascript.biome_config.QuoteProperties": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "QuoteProperties"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.QuoteProperties",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2975
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "asNeeded."
          },
          "name": "AS_NEEDED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "preserve."
          },
          "name": "PRESERVE"
        }
      ],
      "name": "QuoteProperties",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:QuoteProperties"
    },
    "projen.javascript.biome_config.QuoteStyle": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "QuoteStyle"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.QuoteStyle",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2886
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "double."
          },
          "name": "DOUBLE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "single."
          },
          "name": "SINGLE"
        }
      ],
      "name": "QuoteStyle",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:QuoteStyle"
    },
    "projen.javascript.biome_config.RuleDomainValue": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "RuleDomainValue"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.RuleDomainValue",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2379
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Enables all the rules that belong to this domain (all)."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Disables all the rules that belong to this domain (none)."
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Enables only the recommended rules for this domain (recommended)."
          },
          "name": "RECOMMENDED"
        }
      ],
      "name": "RuleDomainValue",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:RuleDomainValue"
    },
    "projen.javascript.biome_config.Rules": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "Rules"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.Rules",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2391
      },
      "name": "Rules",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#a11y"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2395
          },
          "name": "a11Y",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#complexity"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2400
          },
          "name": "complexity",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#correctness"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2405
          },
          "name": "correctness",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#nursery"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2410
          },
          "name": "nursery",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#performance"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2415
          },
          "name": "performance",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#preset"
            },
            "stability": "experimental",
            "summary": "The rule presets to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2422
          },
          "name": "preset",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.PresetConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#recommended"
            },
            "remarks": "`true` by default.",
            "stability": "experimental",
            "summary": "It enables the lint rules recommended by Biome."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2429
          },
          "name": "recommended",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#security"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2434
          },
          "name": "security",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#style"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2439
          },
          "name": "style",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Rules#suspicious"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2444
          },
          "name": "suspicious",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:Rules"
    },
    "projen.javascript.biome_config.SelfCloseVoidElements": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "SelfCloseVoidElements"
        },
        "stability": "experimental",
        "summary": "Controls whether void-elements should be self closed."
      },
      "fqn": "projen.javascript.biome_config.SelfCloseVoidElements",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2898
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `/` inside void elements is removed by the formatter (never)."
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `/` inside void elements is always added (always)."
          },
          "name": "ALWAYS"
        }
      ],
      "name": "SelfCloseVoidElements",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:SelfCloseVoidElements"
    },
    "projen.javascript.biome_config.Semicolons": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "Semicolons"
        },
        "stability": "experimental"
      },
      "fqn": "projen.javascript.biome_config.Semicolons",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2985
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "always."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "asNeeded."
          },
          "name": "AS_NEEDED"
        }
      ],
      "name": "Semicolons",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:Semicolons"
    },
    "projen.javascript.biome_config.Source": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "Source"
        },
        "stability": "experimental",
        "summary": "A list of rules that belong to this group."
      },
      "fqn": "projen.javascript.biome_config.Source",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2761
      },
      "name": "Source",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#noDuplicateClasses"
            },
            "remarks": "See https://biomejs.dev/assist/actions/no-duplicate-classes",
            "stability": "experimental",
            "summary": "Remove duplicate CSS classes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2768
          },
          "name": "noDuplicateClasses",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#organizeImports"
            },
            "remarks": "See https://biomejs.dev/assist/actions/organize-imports",
            "stability": "experimental",
            "summary": "Sorts imports and exports in your JavaScript and TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2776
          },
          "name": "organizeImports",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#preset"
            },
            "stability": "experimental",
            "summary": "Enables a particular rule preset."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2783
          },
          "name": "preset",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.PresetConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#recommended"
            },
            "stability": "experimental",
            "summary": "Enables the recommended rules for this group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2790
          },
          "name": "recommended",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedAttributes"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-attributes",
            "stability": "experimental",
            "summary": "Enforce attribute sorting in HTML elements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2798
          },
          "name": "useSortedAttributes",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedEnumMembers"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-enum-members",
            "stability": "experimental",
            "summary": "Sort the members of an enum in natural order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2806
          },
          "name": "useSortedEnumMembers",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedInterfaceMembers"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-interface-members",
            "stability": "experimental",
            "summary": "Sort interface members by key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2814
          },
          "name": "useSortedInterfaceMembers",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedKeys"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-keys",
            "stability": "experimental",
            "summary": "Sort the keys of a JSON object in natural order."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2822
          },
          "name": "useSortedKeys",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedPackageJson"
            },
            "stability": "experimental",
            "summary": "Organize package.json fields according to established conventions. See https://biomejs.dev/assist/actions/use-sorted-package-json."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2830
          },
          "name": "useSortedPackageJson",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedProperties"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-properties",
            "stability": "experimental",
            "summary": "Enforce ordering of CSS properties and nested rules."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2838
          },
          "name": "useSortedProperties",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedSelectionSet"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-selection-set",
            "stability": "experimental",
            "summary": "Sort GraphQL selection sets."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2846
          },
          "name": "useSortedSelectionSet",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Source#useSortedTypeFields"
            },
            "remarks": "See https://biomejs.dev/assist/actions/use-sorted-type-fields",
            "stability": "experimental",
            "summary": "Sort fields in GraphQL type definitions alphabetically."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 2854
          },
          "name": "useSortedTypeFields",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:Source"
    },
    "projen.javascript.biome_config.VcsClientKind": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "VcsClientKind"
        },
        "stability": "experimental",
        "summary": "Integration with Git as the version control client."
      },
      "fqn": "projen.javascript.biome_config.VcsClientKind",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2737
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "git."
          },
          "name": "GIT"
        }
      ],
      "name": "VcsClientKind",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:VcsClientKind"
    },
    "projen.javascript.biome_config.VcsConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "VcsConfiguration"
        },
        "stability": "experimental",
        "summary": "Settings for integrating Biome with version control."
      },
      "fqn": "projen.javascript.biome_config.VcsConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 941
      },
      "name": "VcsConfiguration",
      "namespace": "javascript.biome_config",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "VcsConfiguration#clientKind"
            },
            "stability": "experimental",
            "summary": "The version control client."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 947
          },
          "name": "clientKind",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.biome_config.VcsClientKind"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "VcsConfiguration#defaultBranch"
            },
            "stability": "experimental",
            "summary": "The project's default branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 954
          },
          "name": "defaultBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "VcsConfiguration#enabled"
            },
            "stability": "experimental",
            "summary": "Whether Biome should integrate with the version control client."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 961
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "VcsConfiguration#root"
            },
            "default": "the directory containing `biome.json` or `biome.jsonc`. If no configuration is",
            "remarks": "Defaults to the directory containing `biome.json` or `biome.jsonc`. If no configuration is\nfound, Biome uses the current working directory.\n\nIf neither directory is available, Biome disables version control integration and emits a\ndiagnostic.",
            "stability": "experimental",
            "summary": "Sets the directory where Biome checks for version control files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 975
          },
          "name": "root",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "VcsConfiguration#useIgnoreFile"
            },
            "stability": "experimental",
            "summary": "When `true`, Biome ignores files listed in `.gitignore`, `.ignore`, and Git's local exclude file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/javascript/biome/biome-config.ts",
            "line": 983
          },
          "name": "useIgnoreFile",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/javascript/biome/biome-config:VcsConfiguration"
    },
    "projen.javascript.biome_config.WhitespaceSensitivity": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "WhitespaceSensitivity"
        },
        "remarks": "The following two cases won't produce the same output:\n\n|                |      html      |    output    |\n| -------------- | :------------: | :----------: |\n| with spaces    | `1<b> 2 </b>3` | 1<b> 2 </b>3 |\n| without spaces |  `1<b>2</b>3`  |  1<b>2</b>3  |\n\nThis happens because whitespace is significant in inline elements.\n\nAs a consequence of this, the formatter must format blocks that look like this (assume a small line width, <20):\n```html\n<span>really long content</span>\n```\nas this, where the content hugs the tags:\n```html\n<span\n>really long content</span\n>\n```\n\nNote that this is only necessary for inline elements. Block elements do not have this restriction.",
        "stability": "experimental",
        "summary": "Whitespace sensitivity for HTML formatting."
      },
      "fqn": "projen.javascript.biome_config.WhitespaceSensitivity",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/javascript/biome/biome-config.ts",
        "line": 2932
      },
      "members": [
        {
          "docs": {
            "remarks": "(css)",
            "stability": "experimental",
            "summary": "The formatter considers whitespace significant for elements that have an \"inline\" display style by default in browser's user agent style sheets."
          },
          "name": "CSS"
        },
        {
          "docs": {
            "remarks": "The formatter should leave at least one whitespace character if whitespace is present.\nOtherwise, if there is no whitespace, it should not add any after `>` or before `<`. In other words, if there's no whitespace, the text content should hug the tags.\n\nExample of text hugging the tags:\n```html\n<b\n>content</b\n>\n``` (strict)",
            "stability": "experimental",
            "summary": "Leading and trailing whitespace in content is considered significant for all elements."
          },
          "name": "STRICT"
        },
        {
          "docs": {
            "remarks": "The formatter is free to remove or add whitespace as it sees fit. (ignore)",
            "stability": "experimental",
            "summary": "Whitespace is considered insignificant."
          },
          "name": "IGNORE"
        }
      ],
      "name": "WhitespaceSensitivity",
      "namespace": "javascript.biome_config",
      "symbolId": "src/javascript/biome/biome-config:WhitespaceSensitivity"
    },
    "projen.polaris.AnalysisConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "analysis-configuration"
        },
        "stability": "experimental",
        "summary": "Specifies how the project should be analyzed."
      },
      "fqn": "projen.polaris.AnalysisConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 58
      },
      "name": "AnalysisConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#aggressiveness-level"
            },
            "remarks": "The aggressiveness level causes the analysis to make more or less aggressive assumptions during the analysis where the higher the aggressiveness level the more defects are reported.",
            "stability": "experimental",
            "summary": "Specifies the aggressiveness level for the analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 64
          },
          "name": "aggressivenessLevel",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalysisConfigurationAggressivenessLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#callgraph-metrics"
            },
            "stability": "experimental",
            "summary": "Enables callgraph metrics output in the intermediate directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 85
          },
          "name": "callgraphMetrics",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#c-cpp-fnptr"
            },
            "stability": "experimental",
            "summary": "Enables analysis of calls to function pointers for defects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 71
          },
          "name": "cCppFnptr",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#c-cpp-virtual"
            },
            "stability": "experimental",
            "summary": "Enables full virtual-call resolution for C++."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 78
          },
          "name": "cCppVirtual",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#checkers"
            },
            "stability": "experimental",
            "summary": "If no checker configuration is specified, the CLI will enable a set of checkers based on the files that were captured."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 92
          },
          "name": "checkers",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CheckerConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#coding-standards"
            },
            "remarks": "If this configuration is present, the capture \"emit-complementary-info\" flag will be set to true.",
            "stability": "experimental",
            "summary": "If specified, the analysis will scan the code for compliance according to the given coding standard configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 99
          },
          "name": "codingStandards",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#connect"
            },
            "stability": "experimental",
            "summary": "Coverity Connect configuration to use when performing analysis in Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 106
          },
          "name": "connect",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalyzeConnectConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#constraint-fpp"
            },
            "remarks": "If set to true, the constraint FPP is enabled.",
            "stability": "experimental",
            "summary": "Enables additional filtering of defects by using an additional false-path pruner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 113
          },
          "name": "constraintFpp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#cov-analyze-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to cov-analyze when doing analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 120
          },
          "name": "covAnalyzeArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#cov-collect-models-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to cov-collect-models following analysis when \"output-model-file\" is specified."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 127
          },
          "name": "covCollectModelsArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#directives"
            },
            "stability": "experimental",
            "summary": "Specifies directives to use for the analysis, including for web application security analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 134
          },
          "name": "directives",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.DirectivesConfiguration"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#files"
            },
            "stability": "experimental",
            "summary": "Specifies which files to analyze when the \"analyze.mode\" setting is \"hfi\". Analysis will be performed for only these files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 141
          },
          "name": "files",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalyzeFilesConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#jobs"
            },
            "stability": "experimental",
            "summary": "Specifies analysis worker parallelism."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 148
          },
          "name": "jobs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.JobsConfiguration"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#location"
            },
            "remarks": "The possible values are as follows: connect - Run the analysis in the Coverity Connect job farm; srm - Run the analysis in the Software Risk Manager job farm; local - Run the analysis locally",
            "stability": "experimental",
            "summary": "Specifies whether the analysis should be done locally, in Coverity Connect, or in Software Risk Manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 155
          },
          "name": "location",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalysisConfigurationLocation"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#mode"
            },
            "remarks": "or \"hfi\" (high fidelity incremental) for analysis of only specific files specified by analyze.files settings, omitting any other files which may have been incidentally captured by the build. An \"hfi\" analysis can be faster but may produce results which are incomplete or inconsistent, due to the lack of context, and should be used only when speed is more important than accuracy.",
            "stability": "experimental",
            "summary": "Analysis mode: \"pfi\" (perfect fidelity incremental) for complete analysis;"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 162
          },
          "name": "mode",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalysisConfigurationMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#model-file"
            },
            "remarks": "This overrides models specified in the default location of \"config/user_models.xmldb\".",
            "stability": "experimental",
            "summary": "File containing function models."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 169
          },
          "name": "modelFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#one-tu-per-psf"
            },
            "remarks": "If set to false, all translation units will be analyzed.",
            "stability": "experimental",
            "summary": "If set to to true, only one TU (translation unit) will be analyzed per source file name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 176
          },
          "name": "oneTuPerPsf",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#output-model-file"
            },
            "stability": "experimental",
            "summary": "Output file to which function models for the project should be written following analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 183
          },
          "name": "outputModelFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#parse-warnings"
            },
            "stability": "experimental",
            "summary": "Specifies how parse warnings are handled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 190
          },
          "name": "parseWarnings",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.ParseWarningsConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#scan-transparency"
            },
            "remarks": "This setting must be enabled if the Coverity Connect instance has 'scan.transparency.enabled=true' in its configuration.",
            "stability": "experimental",
            "summary": "Specifies whether to enable the collection of scan transparency data for analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 197
          },
          "name": "scanTransparency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#sigma"
            },
            "stability": "experimental",
            "summary": "Specifies options for Sigma analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 204
          },
          "name": "sigma",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SigmaConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analysis-configuration#trust"
            },
            "remarks": "The trust option \"all\" controls whether all trust options should be trusted or distrusted.",
            "stability": "experimental",
            "summary": "This is a map from trust option name to boolean to indicate whether the particular trust property should be trusted or distrusted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 211
          },
          "name": "trust",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:AnalysisConfiguration"
    },
    "projen.polaris.AnalysisConfigurationAggressivenessLevel": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AnalysisConfigurationAggressivenessLevel"
        },
        "remarks": "The aggressiveness level causes the analysis to make more or less aggressive assumptions during the analysis where the higher the aggressiveness level the more defects are reported.",
        "stability": "experimental",
        "summary": "Specifies the aggressiveness level for the analysis."
      },
      "fqn": "projen.polaris.AnalysisConfigurationAggressivenessLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 458
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "low."
          },
          "name": "LOW"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "medium."
          },
          "name": "MEDIUM"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "high."
          },
          "name": "HIGH"
        }
      ],
      "name": "AnalysisConfigurationAggressivenessLevel",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:AnalysisConfigurationAggressivenessLevel"
    },
    "projen.polaris.AnalysisConfigurationLocation": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AnalysisConfigurationLocation"
        },
        "remarks": "The possible values are as follows: connect - Run the analysis in the Coverity Connect job farm; srm - Run the analysis in the Software Risk Manager job farm; local - Run the analysis locally",
        "stability": "experimental",
        "summary": "Specifies whether the analysis should be done locally, in Coverity Connect, or in Software Risk Manager."
      },
      "fqn": "projen.polaris.AnalysisConfigurationLocation",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 971
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "local."
          },
          "name": "LOCAL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "connect."
          },
          "name": "CONNECT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "srm."
          },
          "name": "SRM"
        }
      ],
      "name": "AnalysisConfigurationLocation",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:AnalysisConfigurationLocation"
    },
    "projen.polaris.AnalysisConfigurationMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AnalysisConfigurationMode"
        },
        "remarks": "or \"hfi\" (high fidelity incremental) for analysis of only specific files specified by analyze.files settings, omitting any other files which may have been incidentally captured by the build. An \"hfi\" analysis can be faster but may produce results which are incomplete or inconsistent, due to the lack of context, and should be used only when speed is more important than accuracy.",
        "stability": "experimental",
        "summary": "Analysis mode: \"pfi\" (perfect fidelity incremental) for complete analysis;"
      },
      "fqn": "projen.polaris.AnalysisConfigurationMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 985
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "hfi."
          },
          "name": "HFI"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "pfi."
          },
          "name": "PFI"
        }
      ],
      "name": "AnalysisConfigurationMode",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:AnalysisConfigurationMode"
    },
    "projen.polaris.AnalyzeConnectConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "analyze-connect-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.AnalyzeConnectConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 741
      },
      "name": "AnalyzeConnectConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#url"
            },
            "stability": "experimental",
            "summary": "Absolute URL of where to perform Coverity Connect analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 789
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#auth-key-file"
            },
            "remarks": "By default, the file located at $HOME/.coverity/ak-<hostname>-<port> is used.",
            "stability": "experimental",
            "summary": "The authentication key file to use when authenticating to Coverity Connect to perform analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 747
          },
          "name": "authKeyFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#ca-certs-file"
            },
            "remarks": "By default system CA certificates are used.",
            "stability": "experimental",
            "summary": "File containing additional certificates to trust in addition to the ones in the system certificate store and the Coverity TFT store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 754
          },
          "name": "caCertsFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#proxy-client-cert-file"
            },
            "stability": "experimental",
            "summary": "File containing the client certificate in PEM format, that should be presented to the proxy when making a request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 761
          },
          "name": "proxyClientCertFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#proxy-client-key-file"
            },
            "stability": "experimental",
            "summary": "File containing the client certificate private key in PEM format, for the proxy-client-cert-file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 768
          },
          "name": "proxyClientKeyFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#proxy-url"
            },
            "remarks": "Must be an https URL.",
            "stability": "experimental",
            "summary": "URL for a forward proxy to use when communicating with Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 775
          },
          "name": "proxyUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-connect-configuration#upload-artifacts"
            },
            "stability": "experimental",
            "summary": "Artifacts to upload following analysis when the analysis location is Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 782
          },
          "name": "uploadArtifacts",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalyzeConnectConfigurationUploadArtifacts"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:AnalyzeConnectConfiguration"
    },
    "projen.polaris.AnalyzeConnectConfigurationUploadArtifacts": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AnalyzeConnectConfigurationUploadArtifacts"
        },
        "stability": "experimental",
        "summary": "Artifacts to upload following analysis when the analysis location is Connect."
      },
      "fqn": "projen.polaris.AnalyzeConnectConfigurationUploadArtifacts",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1792
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "All."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "LogsOnly."
          },
          "name": "LOGS_ONLY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "None."
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "OnFailure."
          },
          "name": "ON_FAILURE"
        }
      ],
      "name": "AnalyzeConnectConfigurationUploadArtifacts",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:AnalyzeConnectConfigurationUploadArtifacts"
    },
    "projen.polaris.AnalyzeFilesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "analyze-files-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.AnalyzeFilesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 851
      },
      "name": "AnalyzeFilesConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#exclude-glob"
            },
            "remarks": "Note that any include glob patterns and regular expressions are processed prior to handling exclude glob patterns and regular expressions.",
            "stability": "experimental",
            "summary": "Glob pattern that specifies the set of source files to exclude from analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 857
          },
          "name": "excludeGlob",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#exclude-regex"
            },
            "remarks": "Note that any include glob patterns and regular expressions are processed prior to handling exclude glob patterns and regular expressions.",
            "stability": "experimental",
            "summary": "Regular expression that specifies the set of source files to exclude from analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 864
          },
          "name": "excludeRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#include-files"
            },
            "remarks": "Include and exclude glob patterns and regular expressions are applied to determine which of these files are actually analyzed.",
            "stability": "experimental",
            "summary": "Paths of source files to analyze."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 871
          },
          "name": "includeFiles",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#include-glob"
            },
            "stability": "experimental",
            "summary": "Glob pattern that specifies the set of source files to analyze."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 878
          },
          "name": "includeGlob",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#include-list-file"
            },
            "remarks": "Include and exclude glob patterns and regular expressions are applied to determine which of these files are actually analyzed.",
            "stability": "experimental",
            "summary": "File containing the paths of source files to analyze, one per line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 885
          },
          "name": "includeListFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "analyze-files-configuration#include-regex"
            },
            "stability": "experimental",
            "summary": "Regular expression that specifies the set of source files to analyze."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 892
          },
          "name": "includeRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:AnalyzeFilesConfiguration"
    },
    "projen.polaris.BuildConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "build-configuration"
        },
        "remarks": "If not specified and the project directory contains compiled source files then automatic build capture will be used to capture compiled source files in the project directory.",
        "stability": "experimental",
        "summary": "Specifies that build capture should be used to capture the project and provides the build configuration to use."
      },
      "fqn": "projen.polaris.BuildConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1348
      },
      "name": "BuildConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#build-command"
            },
            "remarks": "A build command specified on the command-line will override this setting.",
            "stability": "experimental",
            "summary": "The build command will be invoked to use build capture to capture the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1368
          },
          "name": "buildCommand",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#aspnet-compiler"
            },
            "stability": "experimental",
            "summary": "Specifies whether to enable or disable the automatic invocation of Aspnet_compiler.exe for any ASP.NET 4 and earlier Web applications that are detected in the build. The output of Aspnet_compiler.exe is required by the C# and Visual Basic security checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1354
          },
          "name": "aspnetCompiler",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#bazel"
            },
            "stability": "experimental",
            "summary": "Specifies whether to enable Bazel capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1361
          },
          "name": "bazel",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#clean-command"
            },
            "stability": "experimental",
            "summary": "The clean command will be invoked prior to doing build capture to capture the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1375
          },
          "name": "cleanCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#cov-build-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to cov-build when doing build capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1382
          },
          "name": "covBuildArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#defer-decomp"
            },
            "remarks": "During the analysis phase, cov-build will be rerun with --replay-decomp to decompile and emit the byte code.",
            "stability": "experimental",
            "summary": "Specifies whether the build should only record the decompilations of byte code during the build and not attempt to decompile and emit the byte code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1389
          },
          "name": "deferDecomp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#instrument"
            },
            "remarks": "For certain builds, this configuration can significantly improve build times. This setting is applicable only on Windows.",
            "stability": "experimental",
            "summary": "Specifies whether to use the instrumentation mode instead of the debugger."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1396
          },
          "name": "instrument",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#parallel-translate"
            },
            "stability": "experimental",
            "summary": "Specifies how to parallelize translation of C and C++ code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1403
          },
          "name": "parallelTranslate",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.ParallelTranslateConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "build-configuration#scan-transparency"
            },
            "remarks": "This setting must be enabled if the Coverity Connect instance has 'scan.transparency.enabled=true' in its configuration.",
            "stability": "experimental",
            "summary": "Specifies whether to enable the collection of scan transparency data for build capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1410
          },
          "name": "scanTransparency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:BuildConfiguration"
    },
    "projen.polaris.CachingConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "caching-configuration"
        },
        "stability": "experimental",
        "summary": "Specifies how the CLI should handle caching when performing capture/analysis."
      },
      "fqn": "projen.polaris.CachingConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 255
      },
      "name": "CachingConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "caching-configuration#enabled"
            },
            "stability": "experimental",
            "summary": "A true value indicates caching will be used when performing remote analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 261
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CachingConfiguration"
    },
    "projen.polaris.CaptureConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "capture-configuration"
        },
        "stability": "experimental",
        "summary": "Specifies how the project should be captured."
      },
      "fqn": "projen.polaris.CaptureConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 284
      },
      "name": "CaptureConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#build-capture"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 377
          },
          "name": "buildCapture",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.BuildConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#build-command-inference"
            },
            "remarks": "If build command inference is disabled and no build command is provided then no attempt at build capture will be made.",
            "stability": "experimental",
            "summary": "Specifies whether to enable or disable build command inference."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 290
          },
          "name": "buildCommandInference",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#compiler-configuration"
            },
            "remarks": "By default, template compilers are configured.",
            "stability": "experimental",
            "summary": "Specifies which compilers to configure."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 297
          },
          "name": "compilerConfiguration",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CompilerConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#cov-translate"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 302
          },
          "name": "covTranslate",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CovTranslateConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#emit-complementary-info"
            },
            "remarks": "If a \"coding-standards\" configuration is present then this flag will automatically be set to true.",
            "stability": "experimental",
            "summary": "Records additional information during the emit process needed for the compliance checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 309
          },
          "name": "emitComplementaryInfo",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#encoding"
            },
            "stability": "experimental",
            "summary": "Specifies the encoding to use when parsing and emitting the source files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 316
          },
          "name": "encoding",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#failure-threshold-percent"
            },
            "stability": "experimental",
            "summary": "Specifies the minimum percentage of files that must be captured in order to proceed with the analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 323
          },
          "name": "failureThresholdPercent",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#files"
            },
            "remarks": "By default, all files are captured.",
            "stability": "experimental",
            "summary": "Specifies which non-compiled files to capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 330
          },
          "name": "files",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.FilesConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#force-dependency-resolution"
            },
            "stability": "experimental",
            "summary": "Force resolution of Maven, Gradle and MSBuild dependencies even if this is not needed based on the detected source languages in the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 337
          },
          "name": "forceDependencyResolution",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#import-scm"
            },
            "stability": "experimental",
            "summary": "Specifies how to import data about source file changes from the source control management system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 351
          },
          "name": "importScm",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.ImportScmConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#languages"
            },
            "remarks": "By default, all languages are captured.",
            "stability": "experimental",
            "summary": "Specifies which languages to include or exclude for capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 344
          },
          "name": "languages",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.LanguagesConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#minimal-classpath-emit"
            },
            "remarks": "The default behavior without this option is to emit all the JAR files in the classpath regardless of whether they are referenced by a Java file in the compilation.",
            "stability": "experimental",
            "summary": "Specifies whether to limit the group of emitted JAR files to those needed for compilation of the Java files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 358
          },
          "name": "minimalClasspathEmit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#record-with-source"
            },
            "stability": "experimental",
            "summary": "Specifies whether to do a complete capture or a record with source capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 365
          },
          "name": "recordWithSource",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "capture-configuration#security-da"
            },
            "remarks": "If set to true (the default), security dynamic analysis is run as part of the capture step. If set to false, security dynamic analysis is not run.",
            "stability": "experimental",
            "summary": "Enables or disables security dynamic analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 372
          },
          "name": "securityDa",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CaptureConfiguration"
    },
    "projen.polaris.CheckerConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "checker-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.CheckerConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 470
      },
      "name": "CheckerConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#all"
            },
            "stability": "experimental",
            "summary": "Indicates whether all checkers should be enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 476
          },
          "name": "all",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#all-security"
            },
            "remarks": "This includes the Security, Android Security, and Web App Security categories, and other security checkers that require explicit enablement.",
            "stability": "experimental",
            "summary": "Indicates whether all security checkers should be enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 483
          },
          "name": "allSecurity",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#android-security"
            },
            "stability": "experimental",
            "summary": "If set to true, enables android security checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 490
          },
          "name": "androidSecurity",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#audit"
            },
            "stability": "experimental",
            "summary": "Enables audit checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 497
          },
          "name": "audit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#brakeman"
            },
            "stability": "experimental",
            "summary": "Indicates whether the brakeman checkers should be enabled or disabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 504
          },
          "name": "brakeman",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#c-family-security"
            },
            "stability": "experimental",
            "summary": "Enables C, C++, Objective-C, Objective-C++ security-related checkers that are disabled by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 511
          },
          "name": "cFamilySecurity",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#checker-config"
            },
            "remarks": "The configuration indicates whether the checker should be enabled or not and allows users to set options used to configure the checker.",
            "stability": "experimental",
            "summary": "Map from checker name to configuration for the checker."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 519
          },
          "name": "checkerConfig",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#codexm"
            },
            "stability": "experimental",
            "summary": "Specifies CodeXM (.cxm) files to use in the analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 526
          },
          "name": "codexm",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#concurrency"
            },
            "stability": "experimental",
            "summary": "Enables C, C++ concurrency checkers that are disabled by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 533
          },
          "name": "concurrency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#default"
            },
            "remarks": "If set to true, the default set of checkers is enabled. Set to false to get more control over which checkers are enabled.",
            "stability": "experimental",
            "summary": "Specifies whether to enable the default set of checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 540
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#pmd"
            },
            "stability": "experimental",
            "summary": "Enables or disables PMD for Apex analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 547
          },
          "name": "pmd",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#recommended-security-checkers"
            },
            "stability": "experimental",
            "summary": "Enables or disables recommended security checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 554
          },
          "name": "recommendedSecurityCheckers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#rule"
            },
            "stability": "experimental",
            "summary": "Enables C, C++ rule checkers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 561
          },
          "name": "rule",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "checker-configuration#webapp-security"
            },
            "stability": "experimental",
            "summary": "Specifies how web application security analysis should be done."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 568
          },
          "name": "webappSecurity",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CheckerConfigurationWebappSecurity"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CheckerConfiguration"
    },
    "projen.polaris.CheckerConfigurationWebappSecurity": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CheckerConfigurationWebappSecurity"
        },
        "stability": "experimental",
        "summary": "Specifies how web application security analysis should be done."
      },
      "fqn": "projen.polaris.CheckerConfigurationWebappSecurity",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1712
      },
      "name": "CheckerConfigurationWebappSecurity",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CheckerConfigurationWebappSecurity#aggressiveness-level"
            },
            "stability": "experimental",
            "summary": "Sets the web application checkers aggressiveness level."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1718
          },
          "name": "aggressivenessLevel",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CheckerConfigurationWebappSecurityAggressivenessLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CheckerConfigurationWebappSecurity#enabled"
            },
            "stability": "experimental",
            "summary": "Enables the checkers that are used for web application security analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1725
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CheckerConfigurationWebappSecurity"
    },
    "projen.polaris.CheckerConfigurationWebappSecurityAggressivenessLevel": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "CheckerConfigurationWebappSecurityAggressivenessLevel"
        },
        "stability": "experimental",
        "summary": "Sets the web application checkers aggressiveness level."
      },
      "fqn": "projen.polaris.CheckerConfigurationWebappSecurityAggressivenessLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2169
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "low."
          },
          "name": "LOW"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "medium."
          },
          "name": "MEDIUM"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "high."
          },
          "name": "HIGH"
        }
      ],
      "name": "CheckerConfigurationWebappSecurityAggressivenessLevel",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:CheckerConfigurationWebappSecurityAggressivenessLevel"
    },
    "projen.polaris.CodingStandardConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "coding-standard-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.CodingStandardConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 602
      },
      "name": "CodingStandardConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#autosarcpp14"
            },
            "stability": "experimental",
            "summary": "Enables AUTOSAR code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 608
          },
          "name": "autosarcpp14",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#cert-c"
            },
            "stability": "experimental",
            "summary": "Enables CERT-C code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 615
          },
          "name": "certC",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#cert-cpp"
            },
            "stability": "experimental",
            "summary": "Enables CERT-CPP code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 629
          },
          "name": "certCpp",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#cert-c-recommendation"
            },
            "stability": "experimental",
            "summary": "Enables CERT-C Recommendation code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 622
          },
          "name": "certCRecommendation",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#cert-java"
            },
            "stability": "experimental",
            "summary": "Enables CERT-Java code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 636
          },
          "name": "certJava",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#hyundai-c"
            },
            "stability": "experimental",
            "summary": "Enables HYUNDAI-C code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 643
          },
          "name": "hyundaiC",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#hyundai-cpp"
            },
            "stability": "experimental",
            "summary": "Enables HYUNDAI-CPP code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 650
          },
          "name": "hyundaiCpp",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#hyundai-java"
            },
            "stability": "experimental",
            "summary": "Enables HYUNDAI-Java code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 657
          },
          "name": "hyundaiJava",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#ignore-deviated-findings"
            },
            "remarks": "Information about the defects that were suppressed can then be found in two files: deviations.txt deviations-warnings.txt",
            "stability": "experimental",
            "summary": "If set to true, any defects found in code annotated using the #pragma Coverity compliance directive will not be reported in Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 664
          },
          "name": "ignoreDeviatedFindings",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#iso-ts17961"
            },
            "stability": "experimental",
            "summary": "Enables ISO TS 17961 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 671
          },
          "name": "isoTs17961",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#misrac2004"
            },
            "stability": "experimental",
            "summary": "Enables MISRA C 2004 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 678
          },
          "name": "misrac2004",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#misrac2012"
            },
            "stability": "experimental",
            "summary": "Enables MISRA C 2012 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 685
          },
          "name": "misrac2012",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#misrac2023"
            },
            "stability": "experimental",
            "summary": "Enables MISRA C 2023 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 692
          },
          "name": "misrac2023",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#misracpp2008"
            },
            "stability": "experimental",
            "summary": "Enables MISRA C++ 2008 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 699
          },
          "name": "misracpp2008",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-configuration#misracpp2023"
            },
            "stability": "experimental",
            "summary": "Enables MISRA C++ 2023 code compliance checking according to the given configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 706
          },
          "name": "misracpp2023",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SpecificCodingStandardConfiguration"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CodingStandardConfiguration"
    },
    "projen.polaris.CodingStandardDeviation": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "coding-standard-deviation"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.CodingStandardDeviation",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2234
      },
      "name": "CodingStandardDeviation",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-deviation#deviation"
            },
            "stability": "experimental",
            "summary": "The name of the rule to deviate from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2240
          },
          "name": "deviation",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "coding-standard-deviation#reason"
            },
            "stability": "experimental",
            "summary": "The reason that the rule is being deviated from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2247
          },
          "name": "reason",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CodingStandardDeviation"
    },
    "projen.polaris.CommitConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "commit-configuration"
        },
        "stability": "experimental",
        "summary": "Specifies where the analysis results should be sent."
      },
      "fqn": "projen.polaris.CommitConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 413
      },
      "name": "CommitConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "commit-configuration#connect"
            },
            "stability": "experimental",
            "summary": "Coverity Connect configuration to use when committing defects to Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 419
          },
          "name": "connect",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationConnect"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "commit-configuration#local"
            },
            "stability": "experimental",
            "summary": "Local configuration to use when saving defects to the local file system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 433
          },
          "name": "local",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationLocal"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "commit-configuration#srm"
            },
            "stability": "experimental",
            "summary": "Software Risk Manager configuration to use when storing defects in Software Risk Manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 426
          },
          "name": "srm",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationSrm"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CommitConfiguration"
    },
    "projen.polaris.CommitConfigurationConnect": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CommitConfigurationConnect"
        },
        "stability": "experimental",
        "summary": "Coverity Connect configuration to use when committing defects to Coverity Connect."
      },
      "fqn": "projen.polaris.CommitConfigurationConnect",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1441
      },
      "name": "CommitConfigurationConnect",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#stream"
            },
            "stability": "experimental",
            "summary": "The name of the stream to commit the results to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1538
          },
          "name": "stream",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#url"
            },
            "stability": "experimental",
            "summary": "Absolute URL of where to commit the Coverity Connect results."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1559
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#auth-key-file"
            },
            "remarks": "By default, the file located at $HOME/.coverity/ak-<hostname>-<port> is used.",
            "stability": "experimental",
            "summary": "The authentication key file to use when authenticating to Coverity Connect to commit defects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1447
          },
          "name": "authKeyFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#ca-certs-file"
            },
            "remarks": "By default system CA certificates are used.",
            "stability": "experimental",
            "summary": "File containing additional certificates to trust in addition to the ones in the system certificate store and the Coverity TFT store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1454
          },
          "name": "caCertsFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#comparison-only"
            },
            "remarks": "Instead, results compared to a reference snapshot may be saved locally as specified by the \"commit.local\" settings.",
            "stability": "experimental",
            "summary": "If true, analysis results will not be committed to Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1461
          },
          "name": "comparisonOnly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#comparison-report"
            },
            "remarks": "The output includes a comparison against the latest snapshot for the specified stream.",
            "stability": "experimental",
            "summary": "Output file to which analysis results should be written instead of being committed to Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1468
          },
          "name": "comparisonReport",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#cov-commit-defects-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to \"cov-commit-defects\" during the commit phase."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1475
          },
          "name": "covCommitDefectsArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#description"
            },
            "stability": "experimental",
            "summary": "A description for the committed snapshot."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1482
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#on-new-cert"
            },
            "stability": "experimental",
            "summary": "Indicates whether to trust self-signed certificates presented by Coverity Connect that are not currently trusted."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1489
          },
          "name": "onNewCert",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationConnectOnNewCert"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#project"
            },
            "remarks": "Ignored when stream creation is not needed. By default the stream name is used.",
            "stability": "experimental",
            "summary": "The name of the project to use when creating a new stream."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1496
          },
          "name": "project",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#proxy-client-cert-file"
            },
            "stability": "experimental",
            "summary": "File containing the client certificate in PEM format, that should be presented to the proxy when making a request."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1503
          },
          "name": "proxyClientCertFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#proxy-client-key-file"
            },
            "stability": "experimental",
            "summary": "File containing the client certificate private key in PEM format, for the proxy-client-cert-file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1510
          },
          "name": "proxyClientKeyFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#proxy-url"
            },
            "remarks": "Must be an https URL.",
            "stability": "experimental",
            "summary": "URL for a forward proxy to use when communicating with Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1517
          },
          "name": "proxyUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#scm"
            },
            "stability": "experimental",
            "summary": "The name of the source control management system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1524
          },
          "name": "scm",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationConnectScm"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#snapshot"
            },
            "stability": "experimental",
            "summary": "Specifies how to select a reference snapshot to use for a comparison report."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1531
          },
          "name": "snapshot",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.SnapshotConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#triage"
            },
            "stability": "experimental",
            "summary": "Specifies how new defects should be handled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1545
          },
          "name": "triage",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationConnectTriage"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#upload-artifacts"
            },
            "stability": "experimental",
            "summary": "Artifacts to upload following analysis when the analysis location is Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1552
          },
          "name": "uploadArtifacts",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationConnectUploadArtifacts"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnect#version"
            },
            "stability": "experimental",
            "summary": "A project version for the committed snapshot."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1566
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CommitConfigurationConnect"
    },
    "projen.polaris.CommitConfigurationConnectOnNewCert": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "CommitConfigurationConnectOnNewCert"
        },
        "stability": "experimental",
        "summary": "Indicates whether to trust self-signed certificates presented by Coverity Connect that are not currently trusted."
      },
      "fqn": "projen.polaris.CommitConfigurationConnectOnNewCert",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2013
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "trust."
          },
          "name": "TRUST"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "distrust."
          },
          "name": "DISTRUST"
        }
      ],
      "name": "CommitConfigurationConnectOnNewCert",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:CommitConfigurationConnectOnNewCert"
    },
    "projen.polaris.CommitConfigurationConnectScm": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "CommitConfigurationConnectScm"
        },
        "stability": "experimental",
        "summary": "The name of the source control management system."
      },
      "fqn": "projen.polaris.CommitConfigurationConnectScm",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2025
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "ads."
          },
          "name": "ADS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "clearcase."
          },
          "name": "CLEARCASE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "cvs."
          },
          "name": "CVS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "git."
          },
          "name": "GIT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "hg."
          },
          "name": "HG"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "perforce."
          },
          "name": "PERFORCE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "plastic."
          },
          "name": "PLASTIC"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "plastic-distributed."
          },
          "name": "PLASTIC_HYPHEN_DISTRIBUTED"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "svn."
          },
          "name": "SVN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "tfs."
          },
          "name": "TFS"
        }
      ],
      "name": "CommitConfigurationConnectScm",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:CommitConfigurationConnectScm"
    },
    "projen.polaris.CommitConfigurationConnectTriage": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CommitConfigurationConnectTriage"
        },
        "stability": "experimental",
        "summary": "Specifies how new defects should be handled."
      },
      "fqn": "projen.polaris.CommitConfigurationConnectTriage",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2096
      },
      "name": "CommitConfigurationConnectTriage",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnectTriage#new-defect-owner"
            },
            "remarks": "The specified user must already exist in the Coverity Connect database. The default is the current user.",
            "stability": "experimental",
            "summary": "User to whom any new defects will be assigned."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2102
          },
          "name": "newDefectOwner",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnectTriage#new-defect-owner-limit"
            },
            "remarks": "If the number of discovered defects is more than the limit, then no assignment is done.",
            "stability": "experimental",
            "summary": "Limit on the number of defects to assign to the specified user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2109
          },
          "name": "newDefectOwnerLimit",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationConnectTriage#set-new-defect-owner"
            },
            "stability": "experimental",
            "summary": "If true, the owner for newly detected defects that exist locally is set to the specified user."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2116
          },
          "name": "setNewDefectOwner",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CommitConfigurationConnectTriage"
    },
    "projen.polaris.CommitConfigurationConnectUploadArtifacts": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "CommitConfigurationConnectUploadArtifacts"
        },
        "stability": "experimental",
        "summary": "Artifacts to upload following analysis when the analysis location is Connect."
      },
      "fqn": "projen.polaris.CommitConfigurationConnectUploadArtifacts",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2141
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "All."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "LogsOnly."
          },
          "name": "LOGS_ONLY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "None."
          },
          "name": "NONE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "OnFailure."
          },
          "name": "ON_FAILURE"
        }
      ],
      "name": "CommitConfigurationConnectUploadArtifacts",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:CommitConfigurationConnectUploadArtifacts"
    },
    "projen.polaris.CommitConfigurationLocal": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CommitConfigurationLocal"
        },
        "stability": "experimental",
        "summary": "Local configuration to use when saving defects to the local file system."
      },
      "fqn": "projen.polaris.CommitConfigurationLocal",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1675
      },
      "name": "CommitConfigurationLocal",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationLocal#path"
            },
            "stability": "experimental",
            "summary": "Directory (for \"html\" format) or file (for \"json\" format) in which to save defects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1681
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationLocal#format"
            },
            "remarks": "Either \"html\" or \"json\".",
            "stability": "experimental",
            "summary": "Format in which to save defects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1688
          },
          "name": "format",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CommitConfigurationLocalFormat"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CommitConfigurationLocal"
    },
    "projen.polaris.CommitConfigurationLocalFormat": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "CommitConfigurationLocalFormat"
        },
        "remarks": "Either \"html\" or \"json\".",
        "stability": "experimental",
        "summary": "Format in which to save defects."
      },
      "fqn": "projen.polaris.CommitConfigurationLocalFormat",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2157
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "html."
          },
          "name": "HTML"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "json."
          },
          "name": "JSON"
        }
      ],
      "name": "CommitConfigurationLocalFormat",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:CommitConfigurationLocalFormat"
    },
    "projen.polaris.CommitConfigurationSrm": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "CommitConfigurationSrm"
        },
        "stability": "experimental",
        "summary": "Software Risk Manager configuration to use when storing defects in Software Risk Manager."
      },
      "fqn": "projen.polaris.CommitConfigurationSrm",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1606
      },
      "name": "CommitConfigurationSrm",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#url"
            },
            "stability": "experimental",
            "summary": "The URL of the Software Risk Manager to use for the analysis (if doing a remote analysis) and the analysis results."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1647
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#branch"
            },
            "stability": "experimental",
            "summary": "The name of the branch to associate the analysis results with in Software Risk Manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1612
          },
          "name": "branch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#parent-branch"
            },
            "stability": "experimental",
            "summary": "The name of the parent branch of the actual branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1619
          },
          "name": "parentBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#project-id"
            },
            "stability": "experimental",
            "summary": "The ID of the project to associate the analysis results with in Software Risk Manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1633
          },
          "name": "projectId",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#project-name"
            },
            "stability": "experimental",
            "summary": "The name of the project to associate the analysis results with in Software Risk Manager."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1626
          },
          "name": "projectName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "CommitConfigurationSrm#token-file"
            },
            "remarks": "By default, the file located at $HOME/.bridge/srm-token.txt is used.",
            "stability": "experimental",
            "summary": "The name of the file to read the Software Risk Manager API key from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1640
          },
          "name": "tokenFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CommitConfigurationSrm"
    },
    "projen.polaris.CompilerConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "compiler-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.CompilerConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1057
      },
      "name": "CompilerConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "compiler-configuration#cov-configure"
            },
            "remarks": "This key is mutually exclusive with the \"file\" key.",
            "stability": "experimental",
            "summary": "Specifies a list of arguments to pass to \"cov-configure\" to generate the compiler configuration to use during capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1063
          },
          "name": "covConfigure",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "compiler-configuration#file"
            },
            "remarks": "This key is mutually exclusive with the \"cov-configure\" key.",
            "stability": "experimental",
            "summary": "Specifies a pre-generated compiler configuration file to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1070
          },
          "name": "file",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CompilerConfiguration"
    },
    "projen.polaris.CovTranslateConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "cov-translate-configuration"
        },
        "stability": "experimental",
        "summary": "Command to invoke that will invoke \"cov-translate\" to capture the project."
      },
      "fqn": "projen.polaris.CovTranslateConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1094
      },
      "name": "CovTranslateConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "cov-translate-configuration#command"
            },
            "stability": "experimental",
            "summary": "This key specifies a command to invoke that will invoke \"cov-translate\" in the case where the user is doing a \"cov-translate\" capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1100
          },
          "name": "command",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "cov-translate-configuration#cov-build-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to cov-build when invoking the provided command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1107
          },
          "name": "covBuildArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "cov-translate-configuration#defer-decomp"
            },
            "remarks": "During the analysis phase, cov-build will be rerun with --replay-decomp to decompile and emit the byte code.",
            "stability": "experimental",
            "summary": "Specifies whether the build should only record the decompilations of byte code during the build and not attempt to decompile and emit the byte code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1114
          },
          "name": "deferDecomp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "cov-translate-configuration#parallel-translate"
            },
            "stability": "experimental",
            "summary": "Specifies how to parallelize translation of C and C++ code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1121
          },
          "name": "parallelTranslate",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.ParallelTranslateConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "cov-translate-configuration#scan-transparency"
            },
            "remarks": "This setting must be enabled if the Coverity Connect instance has 'scan.transparency.enabled=true' in its configuration.",
            "stability": "experimental",
            "summary": "Specifies whether to enable the collection of scan transparency data for cov-translate capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1128
          },
          "name": "scanTransparency",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:CovTranslateConfiguration"
    },
    "projen.polaris.DirectivesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "directives-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.DirectivesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 816
      },
      "name": "DirectivesConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "directives-configuration#config"
            },
            "remarks": "This key is mutually exclusive with the \"file\" key and is specified in the case where the user wants to in-line the security directives configuration in the file.",
            "stability": "experimental",
            "summary": "Security directives configuration to use during the analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 822
          },
          "name": "config",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.DirectivesConfigurationConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "directives-configuration#file"
            },
            "remarks": "This key is mutually exclusive with the \"config\" key.",
            "stability": "experimental",
            "summary": "File containing security directives to use during the analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 829
          },
          "name": "file",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:DirectivesConfiguration"
    },
    "projen.polaris.DirectivesConfigurationConfig": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "DirectivesConfigurationConfig"
        },
        "remarks": "This key is mutually exclusive with the \"file\" key and is specified in the case where the user wants to in-line the security directives configuration in the file.",
        "stability": "experimental",
        "summary": "Security directives configuration to use during the analysis."
      },
      "fqn": "projen.polaris.DirectivesConfigurationConfig",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1808
      },
      "name": "DirectivesConfigurationConfig",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "DirectivesConfigurationConfig#directives"
            },
            "stability": "experimental",
            "summary": "Specify a particular analysis behavior."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1814
          },
          "name": "directives",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "DirectivesConfigurationConfig#language"
            },
            "stability": "experimental",
            "summary": "Language or language family to which directives apply."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1828
          },
          "name": "language",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "DirectivesConfigurationConfig#format_version"
            },
            "stability": "experimental",
            "summary": "Version of the directives format."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1821
          },
          "name": "formatVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "DirectivesConfigurationConfig#type"
            },
            "stability": "experimental",
            "summary": "Must be the string \"Coverity analysis configuration\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1835
          },
          "name": "type",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.DirectivesConfigurationConfigType"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:DirectivesConfigurationConfig"
    },
    "projen.polaris.DirectivesConfigurationConfigType": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "DirectivesConfigurationConfigType"
        },
        "stability": "experimental",
        "summary": "Must be the string \"Coverity analysis configuration\"."
      },
      "fqn": "projen.polaris.DirectivesConfigurationConfigType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2226
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Coverity analysis configuration."
          },
          "name": "COVERITY_ANALYSIS_CONFIGURATION"
        }
      ],
      "name": "DirectivesConfigurationConfigType",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:DirectivesConfigurationConfigType"
    },
    "projen.polaris.FilesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "files-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.FilesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1153
      },
      "name": "FilesConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#emit-minified-js"
            },
            "stability": "experimental",
            "summary": "Specifies whether to enable capture of minified JavaScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1159
          },
          "name": "emitMinifiedJs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#exclude-glob"
            },
            "remarks": "Note that any include glob patterns and regular expressions are processed prior to handling exclude glob patterns and regular expressions.",
            "stability": "experimental",
            "summary": "Glob pattern that specifies the set of source files to exclude from capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1166
          },
          "name": "excludeGlob",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#exclude-regex"
            },
            "remarks": "Note that any include glob patterns and regular expressions are processed prior to handling exclude glob patterns and regular expressions.",
            "stability": "experimental",
            "summary": "Regular expression that specifies the set of source files to exclude from capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1173
          },
          "name": "excludeRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#include-dirs"
            },
            "remarks": "By default, directories named \"vendor\" or \"node_modules\" are excluded, as are directories whose names begin with \".\"",
            "stability": "experimental",
            "summary": "List of directory basenames to include for capture, which would normally have been excluded."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1180
          },
          "name": "includeDirs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#include-glob"
            },
            "stability": "experimental",
            "summary": "Glob pattern that specifies the set of source files to capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1187
          },
          "name": "includeGlob",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#include-list-file"
            },
            "remarks": "Include and exclude glob patterns and regular expressions are applied to determine which of these files are actually captured.",
            "stability": "experimental",
            "summary": "File containing the paths of source files to capture, one per line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1194
          },
          "name": "includeListFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#include-regex"
            },
            "stability": "experimental",
            "summary": "Regular expression that specifies the set of source files to capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1201
          },
          "name": "includeRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#java-version"
            },
            "stability": "experimental",
            "summary": "Specifies the Java version to use when parsing and emitting Java source files with buildless capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1208
          },
          "name": "javaVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#library-dirs"
            },
            "stability": "experimental",
            "summary": "List of directories to look in for dependencies to use during capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1215
          },
          "name": "libraryDirs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#library-files"
            },
            "stability": "experimental",
            "summary": "List of file dependencies to use during capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1222
          },
          "name": "libraryFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "files-configuration#webapp-archives"
            },
            "remarks": "By default all webapp archives are captured.",
            "stability": "experimental",
            "summary": "Specifies information about which web-application archives should be captured."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1229
          },
          "name": "webappArchives",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.WebappArchiveConfiguration"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:FilesConfiguration"
    },
    "projen.polaris.ImportScmConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "import-scm-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.ImportScmConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1295
      },
      "name": "ImportScmConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "import-scm-configuration#cov-import-scm-args"
            },
            "stability": "experimental",
            "summary": "Additional arguments to pass to cov-import-scm following capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1301
          },
          "name": "covImportScmArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "import-scm-configuration#filename-regex"
            },
            "stability": "experimental",
            "summary": "Regular expression that specifies the set of files for which to import change information."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1308
          },
          "name": "filenameRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "import-scm-configuration#ms-delay"
            },
            "stability": "experimental",
            "summary": "Delay in milliseconds between calls to the underlying SCM."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1315
          },
          "name": "msDelay",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "import-scm-configuration#scm"
            },
            "stability": "experimental",
            "summary": "The name of the source control management system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1322
          },
          "name": "scm",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:ImportScmConfiguration"
    },
    "projen.polaris.JobsConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "jobs-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.JobsConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 918
      },
      "name": "JobsConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "jobs-configuration#auto"
            },
            "remarks": "This is the default for a non-Flexnet license. This key is mutually exclusive with the \"count\" and \"max\" keys.",
            "stability": "experimental",
            "summary": "If true, the number of analysis workers to run in parallel is based on the amount of memory and number of logical processors in the machine."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 924
          },
          "name": "auto",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "jobs-configuration#count"
            },
            "remarks": "This key is mutually exclusive with the \"auto\" and \"max\" keys.",
            "stability": "experimental",
            "summary": "Number of analysis workers to run in parallel."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 931
          },
          "name": "count",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "jobs-configuration#max"
            },
            "remarks": "A value of 8 is the default for a Flexnet license. This key is mutually exclusive with the \"auto\" and \"count\" keys.",
            "stability": "experimental",
            "summary": "Maximum number of analysis worker to run in parallel, subject to limits on the amount of memory and number of logical processors in the machine."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 938
          },
          "name": "max",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "jobs-configuration#override-worker-limit"
            },
            "remarks": "This key may only be used with the \"count\" key.",
            "stability": "experimental",
            "summary": "Allows the number of analysis workers to exceed the recommended value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 945
          },
          "name": "overrideWorkerLimit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:JobsConfiguration"
    },
    "projen.polaris.LanguagesConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "languages-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.LanguagesConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1260
      },
      "name": "LanguagesConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "languages-configuration#exclude"
            },
            "remarks": "This key is mutually exclusive with the \"include\" key.",
            "stability": "experimental",
            "summary": "Specifies the languages for which the source code should be excluded in the capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1266
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.LanguagesConfigurationExclude"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "languages-configuration#include"
            },
            "remarks": "This key is mutually exclusive with the \"exclude\" key.",
            "stability": "experimental",
            "summary": "Specifies the languages for which the source code should be included in the capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1273
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.LanguagesConfigurationInclude"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:LanguagesConfiguration"
    },
    "projen.polaris.LanguagesConfigurationExclude": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "LanguagesConfigurationExclude"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.LanguagesConfigurationExclude",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1943
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "apex."
          },
          "name": "APEX"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "c-family."
          },
          "name": "C_HYPHEN_FAMILY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "csharp."
          },
          "name": "CSHARP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "dart."
          },
          "name": "DART"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "go."
          },
          "name": "GO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "java."
          },
          "name": "JAVA"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "javascript."
          },
          "name": "JAVASCRIPT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "kotlin."
          },
          "name": "KOTLIN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "php."
          },
          "name": "PHP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "python."
          },
          "name": "PYTHON"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "ruby."
          },
          "name": "RUBY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "swift."
          },
          "name": "SWIFT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "vb."
          },
          "name": "VB"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "configuration."
          },
          "name": "CONFIGURATION"
        }
      ],
      "name": "LanguagesConfigurationExclude",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:LanguagesConfigurationExclude"
    },
    "projen.polaris.LanguagesConfigurationInclude": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "LanguagesConfigurationInclude"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.LanguagesConfigurationInclude",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1977
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "apex."
          },
          "name": "APEX"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "c-family."
          },
          "name": "C_HYPHEN_FAMILY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "csharp."
          },
          "name": "CSHARP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "dart."
          },
          "name": "DART"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "go."
          },
          "name": "GO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "java."
          },
          "name": "JAVA"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "javascript."
          },
          "name": "JAVASCRIPT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "kotlin."
          },
          "name": "KOTLIN"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "php."
          },
          "name": "PHP"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "python."
          },
          "name": "PYTHON"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "ruby."
          },
          "name": "RUBY"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "swift."
          },
          "name": "SWIFT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "vb."
          },
          "name": "VB"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "configuration."
          },
          "name": "CONFIGURATION"
        }
      ],
      "name": "LanguagesConfigurationInclude",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:LanguagesConfigurationInclude"
    },
    "projen.polaris.ParallelTranslateConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "parallel-translate-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.ParallelTranslateConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1873
      },
      "name": "ParallelTranslateConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "parallel-translate-configuration#enabled"
            },
            "stability": "experimental",
            "summary": "Specifies whether cov-translate parallelization should be enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1879
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "parallel-translate-configuration#processes"
            },
            "remarks": "A value of 0 will use the number of logical processors in the machine.",
            "stability": "experimental",
            "summary": "Specifies the number of cov-emit processes to be run in parallel by cov-translate when multiple files are seen on a single native compiler invocation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1886
          },
          "name": "processes",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:ParallelTranslateConfiguration"
    },
    "projen.polaris.ParseWarningsConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "parse-warnings-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.ParseWarningsConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 995
      },
      "name": "ParseWarningsConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "parse-warnings-configuration#enabled"
            },
            "remarks": "By default, this is disabled if the aggressiveness level is low, and enabled if the aggressiveness level is medium or high.",
            "stability": "experimental",
            "summary": "Enables parse warnings, recovery warnings, and semantic warnings that are produced by the cov-build command so that they appear as defects in Coverity Connect."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1001
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:ParseWarningsConfiguration"
    },
    "projen.polaris.PolarisCoverity": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "see": "https://docs.blackduck.com/r/cov_polaris/latest/coverity-on-polaris/configuration-file-schema.html",
        "stability": "experimental",
        "summary": "Manages `coverity.yml`, the configuration file for Coverity on Polaris (Black Duck's SAST scanning tool)."
      },
      "fqn": "projen.polaris.PolarisCoverity",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/polaris/coverity.ts",
          "line": 25
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.polaris.PolarisCoverityOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/polaris/coverity.ts",
        "line": 19
      },
      "name": "PolarisCoverity",
      "namespace": "polaris",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The YAML file for the Coverity on Polaris configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity.ts",
            "line": 23
          },
          "name": "file",
          "type": {
            "fqn": "projen.YamlFile"
          }
        }
      ],
      "symbolId": "src/polaris/coverity:PolarisCoverity"
    },
    "projen.polaris.PolarisCoverityGoOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with Go-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `PolarisCoverityGo`."
      },
      "fqn": "projen.polaris.PolarisCoverityGoOptions",
      "interfaces": [
        "projen.polaris.PolarisCoverityOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-go.ts",
        "line": 12
      },
      "name": "PolarisCoverityGoOptions",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-go:PolarisCoverityGoOptions"
    },
    "projen.polaris.PolarisCoverityJavaOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with Java-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `PolarisCoverityJava`."
      },
      "fqn": "projen.polaris.PolarisCoverityJavaOptions",
      "interfaces": [
        "projen.polaris.PolarisCoverityOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-java.ts",
        "line": 12
      },
      "name": "PolarisCoverityJavaOptions",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-java:PolarisCoverityJavaOptions"
    },
    "projen.polaris.PolarisCoverityJavascriptOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with JavaScript/TypeScript-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `PolarisCoverityJavascript`."
      },
      "fqn": "projen.polaris.PolarisCoverityJavascriptOptions",
      "interfaces": [
        "projen.polaris.PolarisCoverityOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-javascript.ts",
        "line": 12
      },
      "name": "PolarisCoverityJavascriptOptions",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-javascript:PolarisCoverityJavascriptOptions"
    },
    "projen.polaris.PolarisCoverityOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `PolarisCoverity`."
      },
      "fqn": "projen.polaris.PolarisCoverityOptions",
      "interfaces": [
        "projen.polaris.PolarisCoveritySchema"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity.ts",
        "line": 11
      },
      "name": "PolarisCoverityOptions",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity:PolarisCoverityOptions"
    },
    "projen.polaris.PolarisCoveritySchema": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PolarisCoveritySchema"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.PolarisCoveritySchema",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 5
      },
      "name": "PolarisCoveritySchema",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PolarisCoveritySchema#commit"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 24
          },
          "name": "commit",
          "type": {
            "fqn": "projen.polaris.CommitConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PolarisCoveritySchema#analyze"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 9
          },
          "name": "analyze",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.AnalysisConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PolarisCoveritySchema#caching"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 14
          },
          "name": "caching",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CachingConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PolarisCoveritySchema#capture"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 19
          },
          "name": "capture",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.CaptureConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PolarisCoveritySchema#version"
            },
            "stability": "experimental",
            "summary": "Specifies the version of the configuration file in use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 31
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:PolarisCoveritySchema"
    },
    "projen.polaris.PolarisGoCoverity": {
      "assembly": "projen",
      "base": "projen.polaris.PolarisCoverity",
      "docs": {
        "example": "new PolarisGoCoverity(project, {\n  commit: {},\n});",
        "remarks": "Provides sensible defaults for Go analysis:\n- `capture.languages.include` = `[go]`\n- `capture.buildCapture.buildCommand` = `go build .`\n- `capture.compilerConfiguration.covConfigure` = `[[\"--go\"]]`\n- `capture.files.excludeRegex` excludes `vendor`, `bin` and other\n  conventional Go build artifacts\n\nAll defaults can be overridden via options. Nested options (e.g.\n`capture`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A Coverity on Polaris configuration preset for Go projects."
      },
      "fqn": "projen.polaris.PolarisGoCoverity",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/polaris/coverity-go.ts",
          "line": 34
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.polaris.PolarisCoverityGoOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/polaris/coverity-go.ts",
        "line": 33
      },
      "name": "PolarisGoCoverity",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-go:PolarisGoCoverity"
    },
    "projen.polaris.PolarisJavaCoverity": {
      "assembly": "projen",
      "base": "projen.polaris.PolarisCoverity",
      "docs": {
        "example": "new PolarisJavaCoverity(project, {\n  commit: {},\n});",
        "remarks": "Provides sensible defaults for Java analysis:\n- `capture.languages.include` = `[java]`\n- `capture.buildCapture.buildCommand` = `mvn package`\n- `capture.buildCapture.cleanCommand` = `mvn clean`\n- `capture.compilerConfiguration.covConfigure` = `[[\"--java\"]]`\n- `capture.files.excludeRegex` excludes `target`, `dist/java` and other\n  conventional Maven/Gradle build artifacts\n\nAll defaults can be overridden via options. Nested options (e.g.\n`capture`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A Coverity on Polaris configuration preset for Java projects."
      },
      "fqn": "projen.polaris.PolarisJavaCoverity",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/polaris/coverity-java.ts",
          "line": 35
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.polaris.PolarisCoverityJavaOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/polaris/coverity-java.ts",
        "line": 34
      },
      "name": "PolarisJavaCoverity",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-java:PolarisJavaCoverity"
    },
    "projen.polaris.PolarisJavascriptCoverity": {
      "assembly": "projen",
      "base": "projen.polaris.PolarisCoverity",
      "docs": {
        "example": "new PolarisJavascriptCoverity(project, {\n  commit: {},\n});",
        "remarks": "Provides sensible defaults for JavaScript/TypeScript analysis:\n- `capture.languages.include` = `[javascript]`\n- `capture.files.excludeRegex` excludes `node_modules`, `lib`, `dist`,\n  `coverage` and other build artifacts, based on the paths projen's\n  `TypeScriptProject` excludes from git by default\n\nAll defaults can be overridden via options. Nested options (e.g.\n`capture`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A Coverity on Polaris configuration preset for JavaScript/TypeScript projects."
      },
      "fqn": "projen.polaris.PolarisJavascriptCoverity",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/polaris/coverity-javascript.ts",
          "line": 34
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.polaris.PolarisCoverityJavascriptOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/polaris/coverity-javascript.ts",
        "line": 33
      },
      "name": "PolarisJavascriptCoverity",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-javascript:PolarisJavascriptCoverity"
    },
    "projen.polaris.ResolvedCodingStandardConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "resolved-coding-standard-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.ResolvedCodingStandardConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2181
      },
      "name": "ResolvedCodingStandardConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "resolved-coding-standard-configuration#title"
            },
            "stability": "experimental",
            "summary": "Name of this code compliance configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2194
          },
          "name": "title",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "resolved-coding-standard-configuration#deviations"
            },
            "stability": "experimental",
            "summary": "List of deviations for this standard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2187
          },
          "name": "deviations",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.CodingStandardDeviation"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "resolved-coding-standard-configuration#version"
            },
            "stability": "experimental",
            "summary": "Version of this code compliance configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2201
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:ResolvedCodingStandardConfiguration"
    },
    "projen.polaris.SigmaConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "sigma-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.SigmaConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1022
      },
      "name": "SigmaConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "sigma-configuration#enable-check-set"
            },
            "stability": "experimental",
            "summary": "List of check sets to enable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1028
          },
          "name": "enableCheckSet",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.polaris.SigmaConfigurationEnableCheckSet"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "sigma-configuration#malicious-url-patterns-file"
            },
            "stability": "experimental",
            "summary": "List of files containing malicious URL patterns."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1035
          },
          "name": "maliciousUrlPatternsFile",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:SigmaConfiguration"
    },
    "projen.polaris.SigmaConfigurationEnableCheckSet": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "SigmaConfigurationEnableCheckSet"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.SigmaConfigurationEnableCheckSet",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1859
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "all."
          },
          "name": "ALL"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "cis."
          },
          "name": "CIS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "default."
          },
          "name": "DEFAULT"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "empty."
          },
          "name": "EMPTY"
        }
      ],
      "name": "SigmaConfigurationEnableCheckSet",
      "namespace": "polaris",
      "symbolId": "src/polaris/coverity-config:SigmaConfigurationEnableCheckSet"
    },
    "projen.polaris.SnapshotConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "snapshot-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.SnapshotConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 2051
      },
      "name": "SnapshotConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "snapshot-configuration#date"
            },
            "remarks": "The value should be of the form \"YYYY-MM-DDThh:mm:ss\" where date and time are separated by a \"T\", optionally followed by a time zone specification consisting of either \"Z\" denoting UTC or a \"+\" or \"-\" character followed by colon-separated hours and minutes east of UTC. Example: \"2023-12-27T13:21:05-08:00\". If no time zone is specified, the local time zone is assumed. This key is mutually exclusive with the \"id\" and \"reference\" keys.",
            "stability": "experimental",
            "summary": "Date and time of snapshot to use for comparison report."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2057
          },
          "name": "date",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "snapshot-configuration#id"
            },
            "remarks": "This key is mutually exclusive with the \"date\" and \"reference\" keys.",
            "stability": "experimental",
            "summary": "ID of snapshot to use for comparison report."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2064
          },
          "name": "id",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "snapshot-configuration#reference"
            },
            "remarks": "\"idir\" will use the snapshot created closest to, but not after, the creation date of the intermediate directory. \"latest\" will use the snapshot with the latest code-version date in the specified stream. \"scm\" will query the SCM to determine the version that was most recently checked out or updated, and then use the closest snapshot. This key is mutually exclusive with the \"date\" and \"id\" keys.",
            "stability": "experimental",
            "summary": "One of \"idir\", \"latest\", or \"scm\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 2071
          },
          "name": "reference",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:SnapshotConfiguration"
    },
    "projen.polaris.SpecificCodingStandardConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "specific-coding-standard-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.SpecificCodingStandardConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1747
      },
      "name": "SpecificCodingStandardConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "specific-coding-standard-configuration#config"
            },
            "remarks": "The actual type of this key is specific to the particular coding standard. This key is mutually exclusive with the \"file\" key. A temporary configuration file will be generated containing the in-line configuration and then passed to \"cov-analyze\" using the \"--coding-standard-config <config_file>\" option.",
            "stability": "experimental",
            "summary": "This key specifies the coding standard configuration for the given coding standard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1753
          },
          "name": "config",
          "optional": true,
          "type": {
            "fqn": "projen.polaris.ResolvedCodingStandardConfiguration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "specific-coding-standard-configuration#file"
            },
            "remarks": "This key is mutually exclusive with the \"config\" key.",
            "stability": "experimental",
            "summary": "This specifies the filename containing the configuration to use for the corresponding coding standard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1760
          },
          "name": "file",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "specific-coding-standard-configuration#pre-canned"
            },
            "remarks": "The available pre-canned coding standard configurations depend on the coding standard in question. Refer to Coverity's documentation for details on the \"pre-canned\" configurations.",
            "stability": "experimental",
            "summary": "This key specifies the name of a \"pre-canned\" coding standard configuration to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1767
          },
          "name": "preCanned",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:SpecificCodingStandardConfiguration"
    },
    "projen.polaris.WebappArchiveConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "webapp-archive-configuration"
        },
        "stability": "experimental"
      },
      "fqn": "projen.polaris.WebappArchiveConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/polaris/coverity-config.ts",
        "line": 1908
      },
      "name": "WebappArchiveConfiguration",
      "namespace": "polaris",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "webapp-archive-configuration#path"
            },
            "stability": "experimental",
            "summary": "Specifies the path to the web application archive file or path to the directory containing the exploded web application."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1914
          },
          "name": "path",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "webapp-archive-configuration#validate-webapp"
            },
            "remarks": "The validation check checks that there is a \"/WEB-INF/web.xml\" file and that > 20% of classes for the web application were captured.",
            "stability": "experimental",
            "summary": "Indicates whether the web-app should be checked to see if it is valid during capture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/polaris/coverity-config.ts",
            "line": 1921
          },
          "name": "validateWebapp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/polaris/coverity-config:WebappArchiveConfiguration"
    },
    "projen.python.BuildSystem": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "BuildSystem"
        },
        "stability": "experimental",
        "summary": "Declares any Python level dependencies that must be installed in order to run the project’s build system successfully."
      },
      "fqn": "projen.python.BuildSystem",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 275
      },
      "name": "BuildSystem",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildSystem#requires"
            },
            "stability": "experimental",
            "summary": "List of strings following the version specifier specification, representing dependencies required to execute the build system."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 281
          },
          "name": "requires",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildSystem#backend-path"
            },
            "stability": "experimental",
            "summary": "list of directories to prepend to `sys.path` when loading the build backend, relative to project root."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 295
          },
          "name": "backendPath",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildSystem#build-backend"
            },
            "remarks": "It’s also legal to leave out the `:object` part.",
            "stability": "experimental",
            "summary": "String is formatted following the same `module:object` syntax as a `setuptools` entry point."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 288
          },
          "name": "buildBackend",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:BuildSystem"
    },
    "projen.python.IPackageProvider": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.IPackageProvider",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-deps.ts",
        "line": 30
      },
      "name": "IPackageProvider",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An array of packages (may be dynamically generated)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-deps.ts",
            "line": 34
          },
          "name": "packages",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Dependency"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/python-deps:IPackageProvider"
    },
    "projen.python.IPythonDeps": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.IPythonDeps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-deps.ts",
        "line": 4
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/python/python-deps.ts",
            "line": 15
          },
          "name": "addDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dev dependency."
          },
          "locationInModule": {
            "filename": "src/python/python-deps.ts",
            "line": 22
          },
          "name": "addDevDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Installs dependencies (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/python-deps.ts",
            "line": 27
          },
          "name": "installDependencies"
        }
      ],
      "name": "IPythonDeps",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A task that installs and updates dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-deps.ts",
            "line": 8
          },
          "name": "installCiTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/python-deps:IPythonDeps"
    },
    "projen.python.IPythonEnv": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.IPythonEnv",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-env.ts",
        "line": 1
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Initializes the virtual environment if it doesn't exist (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/python-env.ts",
            "line": 5
          },
          "name": "setupEnvironment"
        }
      ],
      "name": "IPythonEnv",
      "namespace": "python",
      "symbolId": "src/python/python-env:IPythonEnv"
    },
    "projen.python.IPythonPackaging": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.IPythonPackaging",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-packaging.ts",
        "line": 5
      },
      "name": "IPythonPackaging",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A task that uploads the package to a package repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 9
          },
          "name": "publishTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/python-packaging:IPythonPackaging"
    },
    "projen.python.Pip": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages dependencies using a requirements.txt file and the pip CLI tool."
      },
      "fqn": "projen.python.Pip",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/pip.ts",
          "line": 20
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "_options",
            "optional": true,
            "type": {
              "fqn": "projen.python.PipOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.python.IPythonDeps"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/pip.ts",
        "line": 17
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/python/pip.ts",
            "line": 55
          },
          "name": "addDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dev dependency."
          },
          "locationInModule": {
            "filename": "src/python/pip.ts",
            "line": 64
          },
          "name": "addDevDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Installs dependencies (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/pip.ts",
            "line": 71
          },
          "name": "installDependencies",
          "overrides": "projen.python.IPythonDeps"
        }
      ],
      "name": "Pip",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task that installs and updates dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pip.ts",
            "line": 18
          },
          "name": "installCiTask",
          "overrides": "projen.python.IPythonDeps",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/pip:Pip"
    },
    "projen.python.PipOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for pip."
      },
      "fqn": "projen.python.PipOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pip.ts",
        "line": 12
      },
      "name": "PipOptions",
      "namespace": "python",
      "symbolId": "src/python/pip:PipOptions"
    },
    "projen.python.Poetry": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manage project dependencies, virtual environments, and packaging through the poetry CLI tool."
      },
      "fqn": "projen.python.Poetry",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/poetry.ts",
          "line": 61
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.PoetryOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.python.IPythonDeps",
        "projen.python.IPythonEnv",
        "projen.python.IPythonPackaging"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/poetry.ts",
        "line": 26
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 206
          },
          "name": "addDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dev dependency."
          },
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 215
          },
          "name": "addDevDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Installs dependencies (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 252
          },
          "name": "installDependencies",
          "overrides": "projen.python.IPythonDeps"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Initializes the virtual environment if it doesn't exist (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 222
          },
          "name": "setupEnvironment",
          "overrides": "projen.python.IPythonEnv"
        }
      ],
      "name": "Poetry",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Task for installing dependencies according to the existing lockfile."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 38
          },
          "name": "installCiTask",
          "overrides": "projen.python.IPythonDeps",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Task for updating the lockfile and installing project dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 33
          },
          "name": "installTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Task for publishing the package to a package repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 43
          },
          "name": "publishTask",
          "overrides": "projen.python.IPythonPackaging",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Task for publishing the package to the Test PyPI repository for testing purposes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 48
          },
          "name": "publishTestTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/poetry:Poetry"
    },
    "projen.python.PoetryOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.PoetryOptions",
      "interfaces": [
        "projen.python.PythonPackagingOptions",
        "projen.python.PythonExecutableOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/poetry.ts",
        "line": 19
      },
      "name": "PoetryOptions",
      "namespace": "python",
      "symbolId": "src/python/poetry:PoetryOptions"
    },
    "projen.python.PoetryPyproject": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "see": "https://python-poetry.org/docs/pyproject/",
        "stability": "experimental",
        "summary": "Represents configuration of a pyproject.toml file for a Poetry project."
      },
      "fqn": "projen.python.PoetryPyproject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/poetry.ts",
          "line": 416
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.PoetryPyprojectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/poetry.ts",
        "line": 413
      },
      "name": "PoetryPyproject",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 414
          },
          "name": "file",
          "type": {
            "fqn": "projen.python.PyprojectTomlFile"
          }
        }
      ],
      "symbolId": "src/python/poetry:PoetryPyproject"
    },
    "projen.python.PoetryPyprojectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://python-poetry.org/docs/pyproject/",
        "stability": "experimental",
        "summary": "Poetry-specific options."
      },
      "fqn": "projen.python.PoetryPyprojectOptions",
      "interfaces": [
        "projen.python.PoetryPyprojectOptionsWithoutDeps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/poetry.ts",
        "line": 390
      },
      "name": "PoetryPyprojectOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "{ requests: \"^2.13.0\" }",
            "remarks": "The python version for which your package is compatible is also required.",
            "stability": "experimental",
            "summary": "A list of dependencies for the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 398
          },
          "name": "dependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "{ requests: \"^2.13.0\" }",
            "stability": "experimental",
            "summary": "A list of development dependencies for the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 405
          },
          "name": "devDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/python/poetry:PoetryPyprojectOptions"
    },
    "projen.python.PoetryPyprojectOptionsWithoutDeps": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://python-poetry.org/docs/pyproject/",
        "stability": "experimental",
        "summary": "Poetry-specific options."
      },
      "fqn": "projen.python.PoetryPyprojectOptionsWithoutDeps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/poetry.ts",
        "line": 267
      },
      "name": "PoetryPyprojectOptionsWithoutDeps",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Must be in the form \"name <email>\"",
            "stability": "experimental",
            "summary": "The authors of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 294
          },
          "name": "authors",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://pypi.org/classifiers/",
            "stability": "experimental",
            "summary": "A list of PyPI trove classifiers that describe the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 331
          },
          "name": "classifiers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A short description of the package (required)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 281
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A URL to the documentation of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 319
          },
          "name": "documentation",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If a VCS is being used for a package, the exclude field will be seeded with\nthe VCS’ ignore settings (.gitignore for git for example).",
            "stability": "experimental",
            "summary": "A list of patterns that will be excluded in the final package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 349
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Package extras."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 364
          },
          "name": "extras",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A URL to the website of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 309
          },
          "name": "homepage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of patterns that will be included in the final package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 341
          },
          "name": "include",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of keywords (max: 5) that the package is related to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 324
          },
          "name": "keywords",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If the project is proprietary and does not use a specific license, you\ncan set this value as \"Proprietary\".",
            "stability": "experimental",
            "summary": "License of this package as an SPDX identifier."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 289
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Must be in the form \"name <email>\"",
            "stability": "experimental",
            "summary": "the maintainers of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 299
          },
          "name": "maintainers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Name of the package (required)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 271
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "example": "false",
            "see": "https://python-poetry.org/docs/pyproject/#package-mode",
            "stability": "experimental",
            "summary": "Package mode (optional)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 383
          },
          "name": "packageMode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A list of packages and modules to include in the final distribution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 336
          },
          "name": "packages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Must be specified as a table.",
            "see": "https://toml.io/en/v1.0.0#table",
            "stability": "experimental",
            "summary": "Plugins."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 370
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The name of the readme file of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 304
          },
          "name": "readme",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A URL to the repository of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 314
          },
          "name": "repository",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The scripts or executables that will be installed when installing the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 354
          },
          "name": "scripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Source registries from which packages are retrieved."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 359
          },
          "name": "source",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "E.g. \"Bug Tracker\"",
            "stability": "experimental",
            "summary": "Project custom URLs, in addition to homepage, repository and documentation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 376
          },
          "name": "urls",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Version of the package (required)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/poetry.ts",
            "line": 276
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/poetry:PoetryPyprojectOptionsWithoutDeps"
    },
    "projen.python.ProjectAuthor": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "projectAuthor"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.ProjectAuthor",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 568
      },
      "name": "ProjectAuthor",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "projectAuthor#email"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 577
          },
          "name": "email",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "projectAuthor#name"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 572
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:ProjectAuthor"
    },
    "projen.python.Projenrc": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "remarks": "This will install `projen` as a Python dependency and will add a\n`synth` task which will run `.projenrc.py`.",
        "stability": "experimental",
        "summary": "Allows writing projenrc files in python."
      },
      "fqn": "projen.python.Projenrc",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/projenrc.ts",
          "line": 50
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.python.ProjenrcOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/projenrc.ts",
        "line": 39
      },
      "methods": [
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 65
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Projenrc",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 43
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Path to the python executable to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 48
          },
          "name": "pythonExec",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/projenrc:Projenrc"
    },
    "projen.python.ProjenrcOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Projenrc`."
      },
      "fqn": "projen.python.ProjenrcOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/projenrc.ts",
        "line": 13
      },
      "name": "ProjenrcOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".projenrc.py\"",
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 18
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- current version",
            "stability": "experimental",
            "summary": "The projen version to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 24
          },
          "name": "projenVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"python\"",
            "stability": "experimental",
            "summary": "Path to the python executable to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/projenrc.ts",
            "line": 30
          },
          "name": "pythonExec",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/projenrc:ProjenrcOptions"
    },
    "projen.python.PyprojectToml": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PyprojectToml"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.PyprojectToml",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 5
      },
      "name": "PyprojectToml",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectToml#build-system"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 26
          },
          "name": "buildSystem",
          "optional": true,
          "type": {
            "fqn": "projen.python.BuildSystem"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectToml#dependency-groups"
            },
            "stability": "experimental",
            "summary": "Named groups of dependencies, similar to `requirements.txt` files, which launchers, IDEs, and other tools can find and identify by name. Each item in `[dependency-groups]` is defined as mapping of group name to list of [dependency specifiers](https://packaging.python.org/en/latest/specifications/dependency-specifiers/)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 21
          },
          "name": "dependencyGroups",
          "optional": true,
          "type": {
            "fqn": "projen.python.PyprojectTomlDependencyGroups"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectToml#project"
            },
            "remarks": "- Static metadata is listed in the `[project]` table directly and cannot be specified or changed by a tool.\n- Dynamic metadata key names are listed inside the `dynamic` key and represents metadata that a tool will later provide.\n- Partially dynamic metadata is specified in the `[project]` table as a list or table, and also listed in `dynamic`, allowing the build backend to add entries but not modify or remove existing ones.",
            "stability": "experimental",
            "summary": "There are three kinds of metadata: _static_, _dynamic_, and _partially dynamic_."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 14
          },
          "name": "project",
          "optional": true,
          "type": {
            "fqn": "projen.python.PyprojectTomlProject"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectToml#tool"
            },
            "remarks": "Generally a project can use the subtable `tool.$NAME` if, and only if, they own the entry for `$NAME` in the Cheeseshop/PyPI.",
            "stability": "experimental",
            "summary": "Every tool that is used by the project can have users specify configuration data as long as they use a sub-table within `[tool]`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 33
          },
          "name": "tool",
          "optional": true,
          "type": {
            "fqn": "projen.python.PyprojectTomlTool"
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:PyprojectToml"
    },
    "projen.python.PyprojectTomlDependencyGroups": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PyprojectTomlDependencyGroups"
        },
        "stability": "experimental",
        "summary": "Named groups of dependencies, similar to `requirements.txt` files, which launchers, IDEs, and other tools can find and identify by name. Each item in `[dependency-groups]` is defined as mapping of group name to list of [dependency specifiers](https://packaging.python.org/en/latest/specifications/dependency-specifiers/)."
      },
      "fqn": "projen.python.PyprojectTomlDependencyGroups",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 248
      },
      "name": "PyprojectTomlDependencyGroups",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlDependencyGroups#dev"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 252
          },
          "name": "dev",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:PyprojectTomlDependencyGroups"
    },
    "projen.python.PyprojectTomlFile": {
      "assembly": "projen",
      "base": "projen.TomlFile",
      "docs": {
        "see": "https://packaging.python.org/en/latest/guides/writing-pyproject-toml/",
        "stability": "experimental",
        "summary": "Represents configuration of a pyproject.toml file."
      },
      "fqn": "projen.python.PyprojectTomlFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/pyproject-toml-file.ts",
          "line": 13
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "config",
            "type": {
              "fqn": "projen.python.PyprojectToml"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/pyproject-toml-file.ts",
        "line": 12
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/python/pyproject-toml-file.ts",
            "line": 20
          },
          "name": "synthesizeContent",
          "overrides": "projen.TomlFile",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "PyprojectTomlFile",
      "namespace": "python",
      "symbolId": "src/python/pyproject-toml-file:PyprojectTomlFile"
    },
    "projen.python.PyprojectTomlProject": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PyprojectTomlProject"
        },
        "remarks": "- Static metadata is listed in the `[project]` table directly and cannot be specified or changed by a tool.\n- Dynamic metadata key names are listed inside the `dynamic` key and represents metadata that a tool will later provide.\n- Partially dynamic metadata is specified in the `[project]` table as a list or table, and also listed in `dynamic`, allowing the build backend to add entries but not modify or remove existing ones.",
        "stability": "experimental",
        "summary": "There are three kinds of metadata: _static_, _dynamic_, and _partially dynamic_."
      },
      "fqn": "projen.python.PyprojectTomlProject",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 62
      },
      "name": "PyprojectTomlProject",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#name"
            },
            "remarks": "It must start and end with a letter or number.",
            "stability": "experimental",
            "summary": "Valid name consists only of ASCII letters and numbers, period, underscore and hyphen."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 68
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#authors"
            },
            "remarks": "Each author is a table with `name` key, `email` key, or both.",
            "stability": "experimental",
            "summary": "People or organizations considered as 'authors' of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 121
          },
          "name": "authors",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.ProjectAuthor"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#classifiers"
            },
            "stability": "experimental",
            "summary": "List of [Trove classifiers](https://pypi.org/classifiers/) that describe the project. PyPI use the classifiers to categorize projects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 142
          },
          "name": "classifiers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#dependencies"
            },
            "stability": "experimental",
            "summary": "An array of [dependency specifier](https://packaging.python.org/en/latest/specifications/dependency-specifiers/) strings, each representing a mandatory dependent package of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 177
          },
          "name": "dependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#description"
            },
            "remarks": "Tools may not accept multiple lines.",
            "stability": "experimental",
            "summary": "Summary description of the project in one line."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 82
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#dynamic"
            },
            "remarks": "Each key must be listed only once. It is an error to both list a key in `dynamic` and use the key directly in `[project]` unless the key is a list or table with arbitrary entries (PEP 808), in which case the build backend may extend it.\nOne of the most common usage is `version`, which allows build backend to retrieve project version from source code or version control system instead of hardcoding it in `pyproject.toml`.",
            "stability": "experimental",
            "summary": "Specifies which keys are intentionally unspecified under `[project]` table so build backend can/will provide such metadata dynamically."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 206
          },
          "name": "dynamic",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.PyprojectTomlProjectDynamic"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#entry-points"
            },
            "stability": "experimental",
            "summary": "Extra [entry point groups](https://packaging.python.org/en/latest/specifications/entry-points/) that allow applications to load plugins. For example, Pygments (a syntax highlighting tool) can use additional styles from separately installed packages through `[project.entry-points.\"pygments.styles\"]`. Each key is the name of the entry-point group, and each value is a table of entry points."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 170
          },
          "name": "entryPoints",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#gui-scripts"
            },
            "stability": "experimental",
            "summary": "Table of [entry points](https://packaging.python.org/en/latest/specifications/entry-points/) that allows package installers to create a GUI wrapper for. Each key is the name of the script to be created, and each value is the function or object to all, in form of either `importable.module` or `importable.module:object.attr`. Windows platform treats `gui_scripts` specially in that they are wrapped in a GUI executable, so they can be started without a console, but cannot use standard streams unless application code redirects them."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 163
          },
          "name": "guiScripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#import-names"
            },
            "stability": "experimental",
            "summary": "An array of strings specifying the import names that the project exclusively provides when installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 191
          },
          "name": "importNames",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#import-namespaces"
            },
            "stability": "experimental",
            "summary": "An array of strings specifying the import names that the project provides when installed, but not exclusively."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 198
          },
          "name": "importNamespaces",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#keywords"
            },
            "remarks": "They could be used by search engines to categorize the project.",
            "stability": "experimental",
            "summary": "List of keywords or tags that describe the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 135
          },
          "name": "keywords",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#license"
            },
            "stability": "experimental",
            "summary": "A string containing a valid [SPDX license expression](https://spdx.github.io/spdx-spec/v2.2.2/SPDX-license-expressions/) (recommended), or a table with either: - `file` key specifying a relative path to a license file (deprecated per PEP 639), or - `text` key containing full license content (deprecated per PEP 639)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 107
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#license-files"
            },
            "remarks": "Can be an empty list.",
            "stability": "experimental",
            "summary": "Relative paths or globs to paths of license files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 114
          },
          "name": "licenseFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#maintainers"
            },
            "remarks": "Each maintainer is a table with `name` key, `email` key, or both.",
            "stability": "experimental",
            "summary": "People or organizations considered as 'maintainers' of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 128
          },
          "name": "maintainers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.ProjectAuthor"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#optional-dependencies"
            },
            "stability": "experimental",
            "summary": "Each entry is a key/value pair, with the key specifying [extra feature name](https://packaging.python.org/en/latest/specifications/core-metadata/#provides-extra-multiple-use) (such as `socks` in `requests[socks]`), and value is an array of [dependency specifier](https://packaging.python.org/en/latest/specifications/dependency-specifiers/) strings."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 184
          },
          "name": "optionalDependencies",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#readme"
            },
            "stability": "experimental",
            "summary": "Value can be a relative path to text / markdown (`.md` suffix) / reStructuredText (`.rst` suffix) readme file, or a table with either: - `file` key containing path of aforementioned readme file, or - `text` key containing the full readme text embedded inside `pyproject.toml`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 91
          },
          "name": "readme",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#requires-python"
            },
            "remarks": "Must be in the format specified in [Version specifiers](https://packaging.python.org/en/latest/specifications/version-specifiers/).",
            "stability": "experimental",
            "summary": "Specifies the Python version(s) that the distribution is compatible with."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 98
          },
          "name": "requiresPython",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#scripts"
            },
            "stability": "experimental",
            "summary": "Table of [entry points](https://packaging.python.org/en/latest/specifications/entry-points/) that allows package installers to create a command-line wrapper for. Each key is the name of the script to be created, and each value is the function or object to all, in form of either `importable.module` or `importable.module:object.attr`. Windows platform treats `console_scripts` specially in that they are wrapped in a console executable, so they are attached to a console and can use `sys.stdin`, `sys.stdout` and `sys.stderr` for I/O."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 156
          },
          "name": "scripts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#urls"
            },
            "remarks": "Common indexes like PyPI uses [well-known Project URLs](https://packaging.python.org/en/latest/specifications/well-known-project-urls/#well-known-labels) when presenting project pages.",
            "stability": "experimental",
            "summary": "Table consisting one or multiple `label: URL` pairs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 149
          },
          "name": "urls",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlProject#version"
            },
            "stability": "experimental",
            "summary": "Version of the project, as defined in the [Version specifier specification](https://packaging.python.org/en/latest/specifications/version-specifiers/), and preferably [already normalized](https://packaging.python.org/en/latest/specifications/version-specifiers/#normalization)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 75
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:PyprojectTomlProject"
    },
    "projen.python.PyprojectTomlProjectDynamic": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PyprojectTomlProjectDynamic"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.PyprojectTomlProjectDynamic",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 599
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "version."
          },
          "name": "VERSION"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "description."
          },
          "name": "DESCRIPTION"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "readme."
          },
          "name": "README"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "requires-python."
          },
          "name": "REQUIRES_HYPHEN_PYTHON"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "license."
          },
          "name": "LICENSE"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "license-files."
          },
          "name": "LICENSE_HYPHEN_FILES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "authors."
          },
          "name": "AUTHORS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "maintainers."
          },
          "name": "MAINTAINERS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "keywords."
          },
          "name": "KEYWORDS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "classifiers."
          },
          "name": "CLASSIFIERS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "urls."
          },
          "name": "URLS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "scripts."
          },
          "name": "SCRIPTS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "gui-scripts."
          },
          "name": "GUI_HYPHEN_SCRIPTS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "entry-points."
          },
          "name": "ENTRY_HYPHEN_POINTS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "dependencies."
          },
          "name": "DEPENDENCIES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "optional-dependencies."
          },
          "name": "OPTIONAL_HYPHEN_DEPENDENCIES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "import-names."
          },
          "name": "IMPORT_HYPHEN_NAMES"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "import-namespaces."
          },
          "name": "IMPORT_HYPHEN_NAMESPACES"
        }
      ],
      "name": "PyprojectTomlProjectDynamic",
      "namespace": "python",
      "symbolId": "src/python/pyproject-toml:PyprojectTomlProjectDynamic"
    },
    "projen.python.PyprojectTomlTool": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PyprojectTomlTool"
        },
        "remarks": "Generally a project can use the subtable `tool.$NAME` if, and only if, they own the entry for `$NAME` in the Cheeseshop/PyPI.",
        "stability": "experimental",
        "summary": "Every tool that is used by the project can have users specify configuration data as long as they use a sub-table within `[tool]`."
      },
      "fqn": "projen.python.PyprojectTomlTool",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pyproject-toml.ts",
        "line": 320
      },
      "name": "PyprojectTomlTool",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#black"
            },
            "stability": "experimental",
            "summary": "The uncompromising Python code formatter."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 326
          },
          "name": "black",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#cibuildwheel"
            },
            "stability": "experimental",
            "summary": "Build Python wheels for all platforms."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 333
          },
          "name": "cibuildwheel",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#dfc"
            },
            "stability": "experimental",
            "summary": "A CLI tool to check and validate Python docstring formatting and completeness."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 508
          },
          "name": "dfc",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#docstring-format-checker"
            },
            "stability": "experimental",
            "summary": "A CLI tool to check and validate Python docstring formatting and completeness."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 515
          },
          "name": "docstringFormatChecker",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#fastapi"
            },
            "stability": "experimental",
            "summary": "FastAPI web framework configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 340
          },
          "name": "fastapi",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#hatch"
            },
            "stability": "experimental",
            "summary": "Modern, extensible Python project management."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 396
          },
          "name": "hatch",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#maturin"
            },
            "stability": "experimental",
            "summary": "Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 403
          },
          "name": "maturin",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#mypy"
            },
            "stability": "experimental",
            "summary": "Optional static typing for Python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 375
          },
          "name": "mypy",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#pdm"
            },
            "stability": "experimental",
            "summary": "A modern Python package manager with PEP 621 support."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 452
          },
          "name": "pdm",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#pixi"
            },
            "stability": "experimental",
            "summary": "A package manager and task runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 431
          },
          "name": "pixi",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#poe"
            },
            "stability": "experimental",
            "summary": "A task runner that works well with `pyproject.toml` files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 438
          },
          "name": "poe",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#poetry"
            },
            "stability": "experimental",
            "summary": "Python dependency management and packaging made easy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 445
          },
          "name": "poetry",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#pyright"
            },
            "stability": "experimental",
            "summary": "Static type checker for Python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 459
          },
          "name": "pyright",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#pytest"
            },
            "stability": "experimental",
            "summary": "Standardized automated testing of Python packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 466
          },
          "name": "pytest",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#quikrun"
            },
            "stability": "experimental",
            "summary": "A CLI tool to run code files instantly without typing complex commands in terminal."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 522
          },
          "name": "quikrun",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#repo-review"
            },
            "stability": "experimental",
            "summary": "Review a repository for best practices."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 473
          },
          "name": "repoReview",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#ruff"
            },
            "stability": "experimental",
            "summary": "An extremely fast Python linter and formatter, written in Rust."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 382
          },
          "name": "ruff",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#scheduled"
            },
            "remarks": "This is a specification for declaring recurring scheduled jobs in Python projects, in `pyproject.toml`.\n\nIt defines how jobs are declared and how providers would run them.\n\nIt does not provide a specific implementation for running scheduled jobs, because that is provider specific.\n\nFor example, a file at `app/jobs.py` could define:\n\n```python\ndef clean_files():\nprint(\"Running cleanup...\")\n```\n\nYou could define a scheduled job to run that function once per day with:\n\n```toml\n[tool.scheduled.clean-files]\nevery = \"day\"\nentrypoint = \"app.jobs:clean_files\"\n```",
            "stability": "experimental",
            "summary": "Scheduled jobs in Python's `pyproject.toml`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 368
          },
          "name": "scheduled",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#scikit-build"
            },
            "stability": "experimental",
            "summary": "Improved build system generator for Python C/C++/Fortran extensions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 410
          },
          "name": "scikitBuild",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#setuptools"
            },
            "stability": "experimental",
            "summary": "Easily download, build, install, upgrade, and uninstall Python packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 417
          },
          "name": "setuptools",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#setuptools_scm"
            },
            "stability": "experimental",
            "summary": "Manage Python package versions using SCM (e.g. Git)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 424
          },
          "name": "setuptoolsScm",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#taskipy"
            },
            "stability": "experimental",
            "summary": "The complementary task runner for python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 480
          },
          "name": "taskipy",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#tombi"
            },
            "remarks": "providing a formatter/linter and language server",
            "stability": "experimental",
            "summary": "Tombi is a toolkit for TOML;"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 487
          },
          "name": "tombi",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#tox"
            },
            "stability": "experimental",
            "summary": "Standardized automated testing of Python packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 494
          },
          "name": "tox",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#ty"
            },
            "stability": "experimental",
            "summary": "An extremely fast Python type checker, written in Rust."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 389
          },
          "name": "ty",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PyprojectTomlTool#uv"
            },
            "stability": "experimental",
            "summary": "An extremely fast Python package installer and resolver, written in Rust."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pyproject-toml.ts",
            "line": 501
          },
          "name": "uv",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/python/pyproject-toml:PyprojectTomlTool"
    },
    "projen.python.Pytest": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.Pytest",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/pytest.ts",
          "line": 38
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.python.PytestOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/pytest.ts",
        "line": 35
      },
      "name": "Pytest",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest.ts",
            "line": 36
          },
          "name": "testMatch",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/pytest:Pytest"
    },
    "projen.python.PytestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.PytestOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pytest.ts",
        "line": 5
      },
      "name": "PytestOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Stop the testing process after the first N failures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest.ts",
            "line": 16
          },
          "name": "maxFailures",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "example": "[\"tests/unit\", \"tests/qa\"]",
            "remarks": "Useful when all project tests are in a known location to speed up\ntest collection and to avoid picking up undesired tests by accident.\n\nLeave empty to discover all test_*.py or *_test.py files, per Pytest default.\nGlob patterns are supported, including `**` for recursive matching.\n\nThe entries form pytest's `testpaths` setting, which is parsed like a shell\nword list, so a path containing spaces has to be quoted: `[\"'my tests'\"]`.",
            "stability": "experimental",
            "summary": "List of paths to test files or directories."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest.ts",
            "line": 32
          },
          "name": "testMatch",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"8.3.5\"",
            "stability": "experimental",
            "summary": "Pytest version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest.ts",
            "line": 11
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/pytest:PytestOptions"
    },
    "projen.python.PytestSample": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Python test code sample."
      },
      "fqn": "projen.python.PytestSample",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/pytest-sample.ts",
          "line": 23
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.PytestSampleOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/pytest-sample.ts",
        "line": 22
      },
      "name": "PytestSample",
      "namespace": "python",
      "symbolId": "src/python/pytest-sample:PytestSample"
    },
    "projen.python.PytestSampleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for python test code sample."
      },
      "fqn": "projen.python.PytestSampleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/pytest-sample.ts",
        "line": 7
      },
      "name": "PytestSampleOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Name of the python package as used in imports and filenames."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest-sample.ts",
            "line": 11
          },
          "name": "moduleName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Test directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/pytest-sample.ts",
            "line": 16
          },
          "name": "testdir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/pytest-sample:PytestSampleOptions"
    },
    "projen.python.PythonExecutableOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.PythonExecutableOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-project.ts",
        "line": 30
      },
      "name": "PythonExecutableOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"python\"",
            "stability": "experimental",
            "summary": "Path to the python executable to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 35
          },
          "name": "pythonExec",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/python-project:PythonExecutableOptions"
    },
    "projen.python.PythonPackagingOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.PythonPackagingOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-packaging.ts",
        "line": 12
      },
      "name": "PythonPackagingOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "$GIT_USER_EMAIL",
            "stability": "experimental",
            "summary": "Author's e-mail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 30
          },
          "name": "authorEmail",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "$GIT_USER_NAME",
            "stability": "experimental",
            "summary": "Author's name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 18
          },
          "name": "authorName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "\"0.1.0\"",
            "stability": "experimental",
            "summary": "Version of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 38
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://pypi.org/classifiers/",
            "stability": "experimental",
            "summary": "A list of PyPI trove classifiers that describe the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 61
          },
          "name": "classifiers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "stability": "experimental",
            "summary": "A short description of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 44
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A URL to the website of the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 54
          },
          "name": "homepage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "License of this package as an SPDX identifier."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 49
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Package name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 23
          },
          "name": "packageName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional options to set for poetry if using poetry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 71
          },
          "name": "poetryOptions",
          "optional": true,
          "type": {
            "fqn": "projen.python.PoetryPyprojectOptionsWithoutDeps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional fields to pass in the setup() function if using setuptools."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 66
          },
          "name": "setupConfig",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Additional options to set for uv if using uv."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-packaging.ts",
            "line": 76
          },
          "name": "uvOptions",
          "optional": true,
          "type": {
            "fqn": "projen.python.UvOptions"
          }
        }
      ],
      "symbolId": "src/python/python-packaging:PythonPackagingOptions"
    },
    "projen.python.PythonProject": {
      "assembly": "projen",
      "base": "projen.github.GitHubProject",
      "docs": {
        "custom": {
          "pjid": "python"
        },
        "stability": "experimental",
        "summary": "Python project."
      },
      "fqn": "projen.python.PythonProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/python-project.ts",
          "line": 256
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.PythonProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/python-project.ts",
        "line": 218
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 620
          },
          "name": "addDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dev dependency."
          },
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 629
          },
          "name": "addDevDependency",
          "parameters": [
            {
              "docs": {
                "summary": "Format `<module>@<semver>`."
              },
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Order is *not* guaranteed.",
            "stability": "experimental",
            "summary": "Called after all components are synthesized."
          },
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 633
          },
          "name": "postSynthesize",
          "overrides": "projen.Project"
        }
      ],
      "name": "PythonProject",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "API for managing dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 233
          },
          "name": "depsManager",
          "type": {
            "fqn": "projen.python.IPythonDeps"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "API for managing the Python runtime environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 238
          },
          "name": "envManager",
          "type": {
            "fqn": "projen.python.IPythonEnv"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Python module name (the project name, with any hyphens or periods replaced with underscores)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 223
          },
          "name": "moduleName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "default": "\"tests\"",
            "stability": "experimental",
            "summary": "Directory where sample tests are located."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 254
          },
          "name": "sampleTestdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Version of the package for distribution (should follow semver)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 228
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Only applies when the `projectType` is LIB.",
            "stability": "experimental",
            "summary": "API for managing packaging the project as a library."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 243
          },
          "name": "packagingManager",
          "optional": true,
          "type": {
            "fqn": "projen.python.IPythonPackaging"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Pytest component."
          },
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 248
          },
          "name": "pytest",
          "optional": true,
          "type": {
            "fqn": "projen.python.Pytest"
          }
        }
      ],
      "symbolId": "src/python/python-project:PythonProject"
    },
    "projen.python.PythonProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `PythonProject`."
      },
      "fqn": "projen.python.PythonProjectOptions",
      "interfaces": [
        "projen.github.GitHubProjectOptions",
        "projen.python.PythonPackagingOptions",
        "projen.python.PythonExecutableOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-project.ts",
        "line": 41
      },
      "name": "PythonProjectOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "$PYTHON_MODULE_NAME",
            "remarks": "Must only consist of alphanumeric characters and underscores.",
            "stability": "experimental",
            "summary": "Name of the python package as used in imports and filenames."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 55
          },
          "name": "moduleName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "remarks": "Dependencies use the format: `<module>@<semver>`\n\nAdditional dependencies can be added via `project.addDependency()`.",
            "stability": "experimental",
            "summary": "List of runtime dependencies for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 69
          },
          "name": "deps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "[]",
            "remarks": "Dependencies use the format: `<module>@<semver>`\n\nAdditional dependencies can be added via `project.addDevDependency()`.",
            "stability": "experimental",
            "summary": "List of dev dependencies for this project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 81
          },
          "name": "devDeps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "- true, unless poetry is true, then false",
            "stability": "experimental",
            "summary": "Use pip with a requirements.txt file to track project dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 91
          },
          "name": "pip",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "false",
            "remarks": "This feature is incompatible with pip, setuptools, or venv.\nIf you set this option to `true`, then pip, setuptools, and venv must be set to `false`.",
            "stability": "experimental",
            "summary": "Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 125
          },
          "name": "poetry",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "This will install `projen` as a JavaScript dependency and add a `synth`\ntask which will run `.projenrc.js`.",
            "stability": "experimental",
            "summary": "Use projenrc in javascript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 188
          },
          "name": "projenrcJs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options related to projenrc in JavaScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 194
          },
          "name": "projenrcJsOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.ProjenrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This will install `projen` as a Python dependency and add a `synth`\ntask which will run `.projenrc.py`.",
            "stability": "experimental",
            "summary": "Use projenrc in Python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 172
          },
          "name": "projenrcPython",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options related to projenrc in python."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 178
          },
          "name": "projenrcPythonOptions",
          "optional": true,
          "type": {
            "fqn": "projen.python.ProjenrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "This will create a tsconfig file (default: `tsconfig.projen.json`)\nand use a typescript runner in the default task to parse the project source files.",
            "stability": "experimental",
            "summary": "Use projenrc in TypeScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 204
          },
          "name": "projenrcTs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Options related to projenrc in TypeScript."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 210
          },
          "name": "projenrcTsOptions",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.ProjenrcTsOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "true",
            "stability": "experimental",
            "summary": "Include pytest tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 143
          },
          "name": "pytest",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "pytest options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 149
          },
          "name": "pytestOptions",
          "optional": true,
          "type": {
            "fqn": "projen.python.PytestOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Include sample code and test if the relevant directories don't exist."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 155
          },
          "name": "sample",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"tests\"",
            "remarks": "Typically the same directory where project tests will be located.",
            "stability": "experimental",
            "summary": "Location of sample tests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 162
          },
          "name": "sampleTestdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "- true, unless poetry is true, then false",
            "stability": "experimental",
            "summary": "Use setuptools with a setup.py script for packaging and publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 113
          },
          "name": "setuptools",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "false",
            "stability": "experimental",
            "summary": "Use uv to manage your project dependencies, virtual environment, and (optional) packaging/publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 134
          },
          "name": "uv",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "- true, unless poetry is true, then false",
            "stability": "experimental",
            "summary": "Use venv to manage a virtual environment for installing dependencies inside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 99
          },
          "name": "venv",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- defaults",
            "stability": "experimental",
            "summary": "Venv options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-project.ts",
            "line": 105
          },
          "name": "venvOptions",
          "optional": true,
          "type": {
            "fqn": "projen.python.VenvOptions"
          }
        }
      ],
      "symbolId": "src/python/python-project:PythonProjectOptions"
    },
    "projen.python.PythonSample": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Python code sample."
      },
      "fqn": "projen.python.PythonSample",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/python-sample.ts",
          "line": 19
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.PythonSampleOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/python-sample.ts",
        "line": 18
      },
      "name": "PythonSample",
      "namespace": "python",
      "symbolId": "src/python/python-sample:PythonSample"
    },
    "projen.python.PythonSampleOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for python sample code."
      },
      "fqn": "projen.python.PythonSampleOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/python-sample.ts",
        "line": 8
      },
      "name": "PythonSampleOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Sample code directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/python-sample.ts",
            "line": 12
          },
          "name": "dir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/python-sample:PythonSampleOptions"
    },
    "projen.python.RequirementsFile": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "see": "https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format",
        "stability": "experimental",
        "summary": "Specifies a list of packages to be installed using pip."
      },
      "fqn": "projen.python.RequirementsFile",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/requirements-file.ts",
          "line": 25
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "filePath",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.RequirementsFileOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/requirements-file.ts",
        "line": 21
      },
      "methods": [
        {
          "docs": {
            "remarks": "Comment lines (start with `#`) are ignored.",
            "stability": "experimental",
            "summary": "Adds the specified packages provided in semver format."
          },
          "locationInModule": {
            "filename": "src/python/requirements-file.ts",
            "line": 42
          },
          "name": "addPackages",
          "parameters": [
            {
              "docs": {
                "summary": "Package version in format `<module>@<semver>`."
              },
              "name": "packages",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/python/requirements-file.ts",
            "line": 65
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "RequirementsFile",
      "namespace": "python",
      "symbolId": "src/python/requirements-file:RequirementsFile"
    },
    "projen.python.RequirementsFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.RequirementsFileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/requirements-file.ts",
        "line": 9
      },
      "name": "RequirementsFileOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Provide a list of packages that can be dynamically updated."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/requirements-file.ts",
            "line": 13
          },
          "name": "packageProvider",
          "optional": true,
          "type": {
            "fqn": "projen.python.IPackageProvider"
          }
        }
      ],
      "symbolId": "src/python/requirements-file:RequirementsFileOptions"
    },
    "projen.python.SetupPy": {
      "assembly": "projen",
      "base": "projen.FileBase",
      "docs": {
        "stability": "experimental",
        "summary": "Python packaging script where package metadata can be placed."
      },
      "fqn": "projen.python.SetupPy",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/setuppy.ts",
          "line": 70
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.SetupPyOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/setuppy.ts",
        "line": 67
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Implemented by derived classes and returns the contents of the file to emit."
          },
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 90
          },
          "name": "synthesizeContent",
          "overrides": "projen.FileBase",
          "parameters": [
            {
              "name": "resolver",
              "type": {
                "fqn": "projen.IResolver"
              }
            }
          ],
          "protected": true,
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "SetupPy",
      "namespace": "python",
      "symbolId": "src/python/setuppy:SetupPy"
    },
    "projen.python.SetupPyOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://docs.python.org/3/distutils/setupscript.html",
        "stability": "experimental",
        "summary": "Fields to pass in the setup() function of setup.py."
      },
      "fqn": "projen.python.SetupPyOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/setuppy.ts",
        "line": 10
      },
      "name": "SetupPyOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Escape hatch to allow any value."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 61
          },
          "name": "additionalOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Author's e-mail."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 29
          },
          "name": "authorEmail",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Author's name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 24
          },
          "name": "authorName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://pypi.org/classifiers/",
            "stability": "experimental",
            "summary": "A list of PyPI trove classifiers that describe the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 56
          },
          "name": "classifiers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A short project description."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 39
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Package's Homepage / Website."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 49
          },
          "name": "homepage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The project license."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 44
          },
          "name": "license",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Name of the package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 14
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "List of submodules to be packaged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 19
          },
          "name": "packages",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Manually specify package version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuppy.ts",
            "line": 34
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/setuppy:SetupPyOptions"
    },
    "projen.python.Setuptools": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages packaging through setuptools with a setup.py script."
      },
      "fqn": "projen.python.Setuptools",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/setuptools.ts",
          "line": 28
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.SetuptoolsOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.python.IPythonPackaging"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/setuptools.ts",
        "line": 18
      },
      "name": "Setuptools",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task that uploads the package to a package repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuptools.ts",
            "line": 19
          },
          "name": "publishTask",
          "overrides": "projen.python.IPythonPackaging",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task that uploads the package to the Test PyPI repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/setuptools.ts",
            "line": 24
          },
          "name": "publishTestTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/setuptools:Setuptools"
    },
    "projen.python.SetuptoolsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.python.SetuptoolsOptions",
      "interfaces": [
        "projen.python.PythonPackagingOptions",
        "projen.python.PythonExecutableOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/setuptools.ts",
        "line": 12
      },
      "name": "SetuptoolsOptions",
      "namespace": "python",
      "symbolId": "src/python/setuptools:SetuptoolsOptions"
    },
    "projen.python.Uv": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manage project dependencies, virtual environments, and packaging through uv."
      },
      "fqn": "projen.python.Uv",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/uv.ts",
          "line": 56
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.python.UvOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.python.IPythonDeps",
        "projen.python.IPythonEnv",
        "projen.python.IPythonPackaging"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/uv.ts",
        "line": 41
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a runtime dependency."
          },
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 168
          },
          "name": "addDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a dev dependency."
          },
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 172
          },
          "name": "addDevDependency",
          "overrides": "projen.python.IPythonDeps",
          "parameters": [
            {
              "name": "spec",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Installs dependencies (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 197
          },
          "name": "installDependencies",
          "overrides": "projen.python.IPythonDeps"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Initializes the virtual environment if it doesn't exist (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 176
          },
          "name": "setupEnvironment",
          "overrides": "projen.python.IPythonEnv"
        }
      ],
      "name": "Uv",
      "namespace": "python",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The `pyproject.toml` file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 48
          },
          "name": "file",
          "type": {
            "fqn": "projen.python.PyprojectTomlFile"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task that installs and updates dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 50
          },
          "name": "installCiTask",
          "overrides": "projen.python.IPythonDeps",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 49
          },
          "name": "installTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A task that uploads the package to a package repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 51
          },
          "name": "publishTask",
          "overrides": "projen.python.IPythonPackaging",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 52
          },
          "name": "publishTestTask",
          "type": {
            "fqn": "projen.Task"
          }
        }
      ],
      "symbolId": "src/python/uv:Uv"
    },
    "projen.python.UvOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for UV project."
      },
      "fqn": "projen.python.UvOptions",
      "interfaces": [
        "projen.python.PythonExecutableOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv.ts",
        "line": 19
      },
      "name": "UvOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no build system",
            "stability": "experimental",
            "summary": "Declares any Python level dependencies that must be installed in order to run the project’s build system successfully."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 30
          },
          "name": "buildSystem",
          "optional": true,
          "type": {
            "fqn": "projen.python.BuildSystem"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The project's basic metadata configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 23
          },
          "name": "project",
          "optional": true,
          "type": {
            "fqn": "projen.python.PyprojectTomlProject"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The configuration and metadata for uv."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv.ts",
            "line": 35
          },
          "name": "uv",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.UvConfiguration"
          }
        }
      ],
      "symbolId": "src/python/uv:UvOptions"
    },
    "projen.python.Venv": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "Manages a virtual environment through the Python venv module."
      },
      "fqn": "projen.python.Venv",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/python/venv.ts",
          "line": 40
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.python.VenvOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.python.IPythonEnv"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/venv.ts",
        "line": 29
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Initializes the virtual environment if it doesn't exist (called during post-synthesis)."
          },
          "locationInModule": {
            "filename": "src/python/venv.ts",
            "line": 64
          },
          "name": "setupEnvironment",
          "overrides": "projen.python.IPythonEnv"
        }
      ],
      "name": "Venv",
      "namespace": "python",
      "symbolId": "src/python/venv:Venv"
    },
    "projen.python.VenvOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for venv."
      },
      "fqn": "projen.python.VenvOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/venv.ts",
        "line": 11
      },
      "name": "VenvOptions",
      "namespace": "python",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".env\"",
            "stability": "experimental",
            "summary": "Name of directory to store the environment in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/venv.ts",
            "line": 17
          },
          "name": "envdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"python\"",
            "stability": "experimental",
            "summary": "Path to the python executable to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/venv.ts",
            "line": 23
          },
          "name": "pythonExec",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/venv:VenvOptions"
    },
    "projen.python.uvConfig.AddBoundsKind": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AddBoundsKind"
        },
        "stability": "experimental",
        "summary": "The default version specifier when adding a dependency."
      },
      "fqn": "projen.python.uvConfig.AddBoundsKind",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 974
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Only a lower bound, e.g., `>=1.2.3`. (lower)."
          },
          "name": "LOWER"
        },
        {
          "docs": {
            "remarks": "Leading zeroes are skipped, e.g. `>=0.1.2, <0.2.0`. (major)",
            "stability": "experimental",
            "summary": "Allow the same major version, similar to the semver caret, e.g., `>=1.2.3, <2.0.0`."
          },
          "name": "MAJOR"
        },
        {
          "docs": {
            "remarks": "Leading zeroes are skipped, e.g. `>=0.1.2, <0.1.3`. (minor)",
            "stability": "experimental",
            "summary": "Allow the same minor version, similar to the semver tilde, e.g., `>=1.2.3, <1.3.0`."
          },
          "name": "MINOR"
        },
        {
          "docs": {
            "remarks": "This option is not recommended, as versions are already pinned in the uv lockfile. (exact)",
            "stability": "experimental",
            "summary": "Pin the exact version, e.g., `==1.2.3`."
          },
          "name": "EXACT"
        }
      ],
      "name": "AddBoundsKind",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:AddBoundsKind"
    },
    "projen.python.uvConfig.AnnotationStyle": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AnnotationStyle"
        },
        "stability": "experimental",
        "summary": "Indicate the style of annotation comments, used to indicate the dependencies that requested each package."
      },
      "fqn": "projen.python.uvConfig.AnnotationStyle",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2739
      },
      "members": [
        {
          "docs": {
            "remarks": "(line)",
            "stability": "experimental",
            "summary": "Render the annotations on a single, comma-separated line."
          },
          "name": "LINE"
        },
        {
          "docs": {
            "remarks": "(split)",
            "stability": "experimental",
            "summary": "Render each annotation on its own line."
          },
          "name": "SPLIT"
        }
      ],
      "name": "AnnotationStyle",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:AnnotationStyle"
    },
    "projen.python.uvConfig.AuditOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "AuditOptions"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.AuditOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 994
      },
      "name": "AuditOptions",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "AuditOptions#ignore"
            },
            "remarks": "Vulnerabilities matching any of the provided IDs (including aliases) will be excluded from\nthe audit results.",
            "stability": "experimental",
            "summary": "A list of vulnerability IDs to ignore during auditing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1003
          },
          "name": "ignore",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "AuditOptions#ignore-until-fixed"
            },
            "remarks": "Vulnerabilities matching any of the provided IDs (including aliases) will be excluded from\nthe audit results as long as they have no known fix versions. Once a fix version becomes\navailable, the vulnerability will be reported again.",
            "stability": "experimental",
            "summary": "A list of vulnerability IDs to ignore during auditing, but only while no fix is available."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1014
          },
          "name": "ignoreUntilFixed",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/uv-config:AuditOptions"
    },
    "projen.python.uvConfig.AuthPolicy": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "AuthPolicy"
        },
        "stability": "experimental",
        "summary": "When to use authentication."
      },
      "fqn": "projen.python.uvConfig.AuthPolicy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2668
      },
      "members": [
        {
          "docs": {
            "remarks": "If credentials are provided, they will be used. Otherwise, an unauthenticated request will\nbe attempted first. If the request fails, uv will search for credentials. If credentials are\nfound, an authenticated request will be attempted. (auto)",
            "stability": "experimental",
            "summary": "Authenticate when necessary."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "remarks": "If credentials are not provided, uv will eagerly search for credentials. If credentials\ncannot be found, uv will error instead of attempting an unauthenticated request. (always)",
            "stability": "experimental",
            "summary": "Always authenticate."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "remarks": "If credentials are provided, uv will error. uv will not search for credentials. (never)",
            "stability": "experimental",
            "summary": "Never authenticate."
          },
          "name": "NEVER"
        }
      ],
      "name": "AuthPolicy",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:AuthPolicy"
    },
    "projen.python.uvConfig.BuildBackendSettings": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "BuildBackendSettings"
        },
        "remarks": "Note that those settings only apply when using the `uv_build` backend, other build backends\n(such as hatchling) have their own configuration.\n\nAll options that accept globs use the portable glob patterns from\n[PEP 639](https://packaging.python.org/en/latest/specifications/glob-patterns/).",
        "stability": "experimental",
        "summary": "Settings for the uv build backend (`uv_build`)."
      },
      "fqn": "projen.python.uvConfig.BuildBackendSettings",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1044
      },
      "name": "BuildBackendSettings",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#data"
            },
            "remarks": "Each entry is a directory, whose contents are copied to the matching directory in the wheel\nin `<name>-<version>.data/(purelib|platlib|headers|scripts|data)`. Upon installation, this\ndata is moved to its target location, as defined by\n<https://docs.python.org/3.12/library/sysconfig.html#installation-paths>. Usually, small\ndata files are included by placing them in the Python module instead of using data includes.\n\n- `scripts`: Installed to the directory for executables, `<venv>/bin` on Unix or\n`<venv>\\Scripts` on Windows. This directory is added to `PATH` when the virtual\nenvironment  is activated or when using `uv run`, so this data type can be used to install\nadditional binaries. Consider using `project.scripts` instead for Python entrypoints.\n- `data`: Installed over the virtualenv environment root.\n\nWarning: This may override existing files!\n\n- `headers`: Installed to the include directory. Compilers building Python packages\nwith this package as build requirement use the include directory to find additional header\nfiles.\n- `purelib` and `platlib`: Installed to the `site-packages` directory. It is not recommended\nto use these two options.",
            "stability": "experimental",
            "summary": "Data includes for wheels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1070
          },
          "name": "data",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.WheelDataIncludes"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#default-excludes"
            },
            "remarks": "Default excludes: `__pycache__`, `*.pyc`, and `*.pyo`.",
            "stability": "experimental",
            "summary": "If set to `false`, the default excludes aren't applied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1079
          },
          "name": "defaultExcludes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#module-name"
            },
            "remarks": "The default module name is the package name with dots and dashes replaced by underscores.\n\nPackage names need to be valid Python identifiers, and the directory needs to contain a\n`__init__.py`. An exception are stubs packages, whose name ends with `-stubs`, with the stem\nbeing the module name, and which contain a `__init__.pyi` file.\n\nFor namespace packages with a single module, the path can be dotted, e.g., `foo.bar` or\n`foo-stubs.bar`.\n\nFor namespace packages with multiple modules, the path can be a list, e.g.,\n`[\"foo\", \"bar\"]`. We recommend using a single module per package, splitting multiple\npackages into a workspace.\n\nNote that using this option runs the risk of creating two packages with different names but\nthe same module names. Installing such packages together leads to unspecified behavior,\noften with corrupted files or directory trees.",
            "stability": "experimental",
            "summary": "The name of the module directory inside `module-root`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1103
          },
          "name": "moduleName",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#module-root"
            },
            "remarks": "Common values are `src` (src layout, the default) or an empty path (flat layout).",
            "stability": "experimental",
            "summary": "The directory that contains the module directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1112
          },
          "name": "moduleRoot",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#namespace"
            },
            "remarks": "Build a PEP 420 implicit namespace package, allowing more than one root `__init__.py`.\n\nUse this option when the namespace package contains multiple root `__init__.py`, for\nnamespace packages with a single root `__init__.py` use a dotted `module-name` instead.\n\nTo compare dotted `module-name` and `namespace = true`, the first example below can be\nexpressed with `module-name = \"cloud.database\"`: There is one root `__init__.py` `database`.\nIn the second example, we have three roots (`cloud.database`, `cloud.database_pro`,\n`billing.modules.database_pro`), so `namespace = true` is required.\n\n```text\nsrc\n└── cloud\n└── database\n├── __init__.py\n├── query_builder\n│   └── __init__.py\n└── sql\n├── parser.py\n└── __init__.py\n```\n\n```text\nsrc\n├── cloud\n│   ├── database\n│   │   ├── __init__.py\n│   │   ├── query_builder\n│   │   │   └── __init__.py\n│   │   └── sql\n│   │       ├── __init__.py\n│   │       └── parser.py\n│   └── database_pro\n│       ├── __init__.py\n│       └── query_builder.py\n└── billing\n└── modules\n└── database_pro\n├── __init__.py\n└── sql.py\n```",
            "stability": "experimental",
            "summary": "Build a namespace package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1161
          },
          "name": "namespace",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#source-exclude"
            },
            "remarks": "These exclusions are also applied to wheels to ensure that a wheel built from a source tree\nis consistent with a wheel built from a source distribution.",
            "stability": "experimental",
            "summary": "Glob expressions which files and directories to exclude from the source distribution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1171
          },
          "name": "sourceExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#source-include"
            },
            "remarks": "`pyproject.toml` and the contents of the module directory are always included.",
            "stability": "experimental",
            "summary": "Glob expressions which files and directories to additionally include in the source distribution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1181
          },
          "name": "sourceInclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "BuildBackendSettings#wheel-exclude"
            },
            "stability": "experimental",
            "summary": "Glob expressions which files and directories to exclude from the wheel."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1188
          },
          "name": "wheelExclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/uv-config:BuildBackendSettings"
    },
    "projen.python.uvConfig.DependencyGroupSettings": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "DependencyGroupSettings"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.DependencyGroupSettings",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1258
      },
      "name": "DependencyGroupSettings",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "DependencyGroupSettings#requires-python"
            },
            "stability": "experimental",
            "summary": "Version of python to require when installing this group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1264
          },
          "name": "requiresPython",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:DependencyGroupSettings"
    },
    "projen.python.uvConfig.ExcludeNewerOverride": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "ExcludeNewerOverride"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.ExcludeNewerOverride",
      "kind": "class",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1341
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1342
          },
          "name": "fromBoolean",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "boolean"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1345
          },
          "name": "fromString",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
            }
          },
          "static": true
        }
      ],
      "name": "ExcludeNewerOverride",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1348
          },
          "name": "value",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "primitive": "boolean"
                }
              ]
            }
          }
        }
      ],
      "symbolId": "src/python/uv-config:ExcludeNewerOverride"
    },
    "projen.python.uvConfig.ForkStrategy": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "ForkStrategy"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.ForkStrategy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1355
      },
      "members": [
        {
          "docs": {
            "remarks": "Older versions may\nbe preferred if they are compatible with a wider range of supported Python versions or\nplatforms. (fewest)",
            "stability": "experimental",
            "summary": "Optimize for selecting the fewest number of versions for each package."
          },
          "name": "FEWEST"
        },
        {
          "docs": {
            "remarks": "(requires-python)",
            "stability": "experimental",
            "summary": "Optimize for selecting latest supported version of each package, for each supported Python version."
          },
          "name": "REQUIRES_HYPHEN_PYTHON"
        }
      ],
      "name": "ForkStrategy",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:ForkStrategy"
    },
    "projen.python.uvConfig.Index": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "Index"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.Index",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1368
      },
      "name": "Index",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#url"
            },
            "remarks": "Expects to receive a URL (e.g., `https://pypi.org/simple`) or a local path.",
            "stability": "experimental",
            "summary": "The URL of the index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1531
          },
          "name": "url",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#authenticate"
            },
            "remarks": "```toml\n[[tool.uv.index]]\nname = \"my-index\"\nurl = \"https://<omitted>/simple\"\nauthenticate = \"always\"\n```",
            "stability": "experimental",
            "summary": "When uv should use authentication for requests to the index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1381
          },
          "name": "authenticate",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.AuthPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#cache-control"
            },
            "remarks": "When set, these headers will override the server's cache control headers\nfor both package metadata requests and artifact downloads.\n\n```toml\n[[tool.uv.index]]\nname = \"my-index\"\nurl = \"https://<omitted>/simple\"\ncache-control = { api = \"max-age=600\", files = \"max-age=3600\" }\n```",
            "stability": "experimental",
            "summary": "Cache control configuration for this index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1398
          },
          "name": "cacheControl",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.IndexCacheControl"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#default"
            },
            "remarks": "By default, uv uses PyPI as the default index, such that even if additional indexes are\ndefined via `[[tool.uv.index]]`, PyPI will still be used as a fallback for packages that\naren't found elsewhere. To disable the PyPI default, set `default = true` on at least one\nother index.\n\nMarking an index as default will move it to the front of the list of indexes, such that it\nis given the highest priority when resolving packages.",
            "stability": "experimental",
            "summary": "Mark the index as the default index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1413
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#exclude-newer"
            },
            "remarks": "Accepts the same date, timestamp, and duration values as the global `exclude-newer`\nsetting. Set this to `false` to disable `exclude-newer` for this index entirely.\n\nWhen set to a value, packages resolved from this index will use that cutoff instead of the\nglobally-specified value, unless a package-specific `exclude-newer-package` override is\npresent.\n\nThis option is in preview and may change in any future release.\n\n```toml\n[tool.uv]\nexclude-newer = \"2025-01-01T00:00:00Z\"\n\n[[tool.uv.index]]\nname = \"internal\"\nurl = \"https://internal.example.com/simple\"\nexclude-newer = \"7 days\"\n```",
            "stability": "experimental",
            "summary": "An index-specific `exclude-newer` cutoff."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1439
          },
          "name": "excludeNewer",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#explicit"
            },
            "remarks": "Explicit indexes will _only_ be used when explicitly requested via a `[tool.uv.sources]`\ndefinition, as in:\n\n```toml\n[[tool.uv.index]]\nname = \"pytorch\"\nurl = \"https://download.pytorch.org/whl/cu130\"\nexplicit = true\n\n[tool.uv.sources]\ntorch = { index = \"pytorch\" }\n```",
            "stability": "experimental",
            "summary": "Mark the index as explicit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1459
          },
          "name": "explicit",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#format"
            },
            "remarks": "Indexes can either be PEP 503-compliant (i.e., a PyPI-style registry implementing the Simple\nAPI) or structured as a flat list of distributions (e.g., `--find-links`). In both cases,\nindexes can point to either local or remote resources.",
            "stability": "experimental",
            "summary": "The format used by the index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1470
          },
          "name": "format",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.IndexFormat"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#ignore-error-codes"
            },
            "remarks": "```toml\n[[tool.uv.index]]\nname = \"my-index\"\nurl = \"https://<omitted>/simple\"\nignore-error-codes = [401, 403]\n```",
            "stability": "experimental",
            "summary": "Status codes that uv should ignore when deciding whether to continue resolution after a request to this index fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1485
          },
          "name": "ignoreErrorCodes",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "number"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#name"
            },
            "remarks": "Index names can be used to reference indexes elsewhere in the configuration. For example,\nyou can pin a package to a specific index by name:\n\n```toml\n[[tool.uv.index]]\nname = \"pytorch\"\nurl = \"https://download.pytorch.org/whl/cu130\"\n\n[tool.uv.sources]\ntorch = { index = \"pytorch\" }\n```",
            "stability": "experimental",
            "summary": "The name of the index."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1504
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "Index#publish-url"
            },
            "remarks": "When using `uv publish --index <name>`, this URL is used for publishing.\n\nA configuration for the default index PyPI would look as follows:\n\n```toml\n[[tool.uv.index]]\nname = \"pypi\"\nurl = \"https://pypi.org/simple\"\npublish-url = \"https://upload.pypi.org/legacy/\"\n```",
            "stability": "experimental",
            "summary": "The URL of the upload endpoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1522
          },
          "name": "publishUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:Index"
    },
    "projen.python.uvConfig.IndexCacheControl": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "IndexCacheControl"
        },
        "stability": "experimental",
        "summary": "Cache control configuration for an index."
      },
      "fqn": "projen.python.uvConfig.IndexCacheControl",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2691
      },
      "name": "IndexCacheControl",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "IndexCacheControl#api"
            },
            "stability": "experimental",
            "summary": "Cache control header for Simple API requests."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2697
          },
          "name": "api",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "IndexCacheControl#files"
            },
            "stability": "experimental",
            "summary": "Cache control header for file downloads."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2704
          },
          "name": "files",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:IndexCacheControl"
    },
    "projen.python.uvConfig.IndexFormat": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "IndexFormat"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.IndexFormat",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2726
      },
      "members": [
        {
          "docs": {
            "remarks": "(simple)",
            "stability": "experimental",
            "summary": "A PyPI-style index implementing the Simple Repository API."
          },
          "name": "SIMPLE"
        },
        {
          "docs": {
            "remarks": "(flat)",
            "stability": "experimental",
            "summary": "A `--find-links`-style index containing a flat list of wheels and source distributions."
          },
          "name": "FLAT"
        }
      ],
      "name": "IndexFormat",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:IndexFormat"
    },
    "projen.python.uvConfig.IndexStrategy": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "IndexStrategy"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.IndexStrategy",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1561
      },
      "members": [
        {
          "docs": {
            "remarks": "While this differs from pip's behavior, it's the default index strategy as it's the most\nsecure. (first-index)",
            "stability": "experimental",
            "summary": "Only use results from the first index that returns a match for a given package name."
          },
          "name": "FIRST_HYPHEN_INDEX"
        },
        {
          "docs": {
            "remarks": "In this strategy, we look for every package across all indexes. When resolving, we attempt\nto use versions from the indexes in order, such that we exhaust all available versions from\nthe first index before moving on to the next. Further, if a version is found to be\nincompatible in the first index, we do not reconsider that version in subsequent indexes,\neven if the secondary index might contain compatible versions (e.g., variants of the same\nversions with different ABI tags or Python version constraints).\n\nSee: <https://peps.python.org/pep-0708/> (unsafe-first-match)",
            "stability": "experimental",
            "summary": "Search for every package name across all indexes, exhausting the versions from the first index before moving on to the next."
          },
          "name": "UNSAFE_HYPHEN_FIRST_HYPHEN_MATCH"
        },
        {
          "docs": {
            "remarks": "If a\npackage version is in multiple indexes, only look at the entry for the first index.\n\nIn this strategy, we look for every package across all indexes. When resolving, we consider\nall versions from all indexes, choosing the \"best\" version found (typically, the highest\ncompatible version).\n\nThis most closely matches pip's behavior, but exposes the resolver to \"dependency confusion\"\nattacks whereby malicious actors can publish packages to public indexes with the same name\nas internal packages, causing the resolver to install the malicious package in lieu of\nthe intended internal package.\n\nSee: <https://peps.python.org/pep-0708/> (unsafe-best-match)",
            "stability": "experimental",
            "summary": "Search for every package name across all indexes, preferring the \"best\" version found."
          },
          "name": "UNSAFE_HYPHEN_BEST_HYPHEN_MATCH"
        }
      ],
      "name": "IndexStrategy",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:IndexStrategy"
    },
    "projen.python.uvConfig.KeyringProviderType": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "KeyringProviderType"
        },
        "stability": "experimental",
        "summary": "Keyring provider type to use for credential lookup."
      },
      "fqn": "projen.python.uvConfig.KeyringProviderType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1600
      },
      "members": [
        {
          "docs": {
            "remarks": "(disabled)",
            "stability": "experimental",
            "summary": "Do not use keyring for credential lookup."
          },
          "name": "DISABLED"
        },
        {
          "docs": {
            "remarks": "(subprocess)",
            "stability": "experimental",
            "summary": "Use the `keyring` command for credential lookup."
          },
          "name": "SUBPROCESS"
        }
      ],
      "name": "KeyringProviderType",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:KeyringProviderType"
    },
    "projen.python.uvConfig.LinkMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "LinkMode"
        },
        "default": "LinkMode::Clone`] on macOS and Linux (which support copy-on-write on",
        "remarks": "Defaults to [`LinkMode::Clone`] on macOS and Linux (which support copy-on-write on\nAPFS and btrfs/xfs/bcachefs respectively), and [`LinkMode::Hardlink`] on other\nplatforms.",
        "stability": "experimental",
        "summary": "The method to use when linking."
      },
      "fqn": "projen.python.uvConfig.LinkMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1617
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Clone (i.e., copy-on-write) packages from the source into the destination. (clone)."
          },
          "name": "CLONE"
        },
        {
          "docs": {
            "remarks": "(copy)",
            "stability": "experimental",
            "summary": "Copy packages from the source into the destination."
          },
          "name": "COPY"
        },
        {
          "docs": {
            "remarks": "(hardlink)",
            "stability": "experimental",
            "summary": "Hard link packages from the source into the destination."
          },
          "name": "HARDLINK"
        },
        {
          "docs": {
            "remarks": "(symlink)",
            "stability": "experimental",
            "summary": "Symbolically link packages from the source into the destination."
          },
          "name": "SYMLINK"
        }
      ],
      "name": "LinkMode",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:LinkMode"
    },
    "projen.python.uvConfig.PipGroupName": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PipGroupName"
        },
        "remarks": "Either <groupname> or <path>:<groupname>.\nIf <path> is omitted it defaults to \"pyproject.toml\".",
        "stability": "experimental",
        "summary": "The pip-compatible variant of a [`GroupName`]."
      },
      "fqn": "projen.python.uvConfig.PipGroupName",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2754
      },
      "name": "PipGroupName",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipGroupName#name"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2758
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipGroupName#path"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2763
          },
          "name": "path",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:PipGroupName"
    },
    "projen.python.uvConfig.PipOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "PipOptions"
        },
        "remarks": "These values will be ignored when running commands outside the `uv pip` namespace (e.g.,\n`uv lock`, `uvx`).",
        "stability": "experimental",
        "summary": "Settings that are specific to the `uv pip` command-line interface."
      },
      "fqn": "projen.python.uvConfig.PipOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1636
      },
      "name": "PipOptions",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#all-extras"
            },
            "remarks": "Only applies to `pyproject.toml`, `setup.py`, and `setup.cfg` sources.",
            "stability": "experimental",
            "summary": "Include all optional dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1644
          },
          "name": "allExtras",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#allow-empty-requirements"
            },
            "stability": "experimental",
            "summary": "Allow `uv pip sync` with empty requirements, which will clear the environment of all packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1652
          },
          "name": "allowEmptyRequirements",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#annotation-style"
            },
            "stability": "experimental",
            "summary": "The style of the annotation comments included in the output file, used to indicate the source of each package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1660
          },
          "name": "annotationStyle",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.AnnotationStyle"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#break-system-packages"
            },
            "remarks": "WARNING: `--break-system-packages` is intended for use in continuous integration (CI)\nenvironments, when installing into Python installations that are managed by an external\npackage manager, like `apt`. It should be used with caution, as such Python installations\nexplicitly recommend against modifications by other package managers (like uv or pip).",
            "stability": "experimental",
            "summary": "Allow uv to modify an `EXTERNALLY-MANAGED` Python installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1672
          },
          "name": "breakSystemPackages",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#compile-bytecode"
            },
            "remarks": "By default, uv does not compile Python (`.py`) files to bytecode (`__pycache__/*.pyc`);\ninstead, compilation is performed lazily the first time a module is imported. For use-cases\nin which start time is critical, such as CLI applications and Docker containers, this option\ncan be enabled to trade longer installation times for faster start times.\n\nWhen enabled, uv will process the entire site-packages directory (including packages that\nare not being modified by the current operation) for consistency. Like pip, it will also\nignore errors.",
            "stability": "experimental",
            "summary": "Compile Python files to bytecode after installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1688
          },
          "name": "compileBytecode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#config-settings"
            },
            "stability": "experimental",
            "summary": "Settings to pass to the [PEP 517](https://peps.python.org/pep-0517/) build backend, specified as `KEY=VALUE` pairs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1696
          },
          "name": "configSettings",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#config-settings-package"
            },
            "stability": "experimental",
            "summary": "Settings to pass to the [PEP 517](https://peps.python.org/pep-0517/) build backend for specific packages, specified as `KEY=VALUE` pairs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1704
          },
          "name": "configSettingsPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#custom-compile-command"
            },
            "remarks": "Used to reflect custom build scripts and commands that wrap `uv pip compile`.",
            "stability": "experimental",
            "summary": "The header comment to include at the top of the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1713
          },
          "name": "customCompileCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#dependency-metadata"
            },
            "remarks": "When\nprovided, enables the resolver to use the specified metadata instead of querying the\nregistry or building the relevant package from source.\n\nMetadata should be provided in adherence with the [Metadata 2.3](https://packaging.python.org/en/latest/specifications/core-metadata/)\nstandard, though only the following fields are respected:\n\n- `name`: The name of the package.\n- (Optional) `version`: The version of the package. If omitted, the metadata will be applied\nto all versions of the package.\n- (Optional) `requires-dist`: The dependencies of the package (e.g., `werkzeug>=0.14`).\n- (Optional) `requires-python`: The Python version required by the package (e.g., `>=3.10`).\n- (Optional) `provides-extra`: The extras provided by the package.",
            "stability": "experimental",
            "summary": "Pre-defined static metadata for dependencies of the project (direct or transitive)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1732
          },
          "name": "dependencyMetadata",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.StaticMetadata"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#emit-build-options"
            },
            "stability": "experimental",
            "summary": "Include `--no-binary` and `--only-binary` entries in the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1739
          },
          "name": "emitBuildOptions",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#emit-find-links"
            },
            "stability": "experimental",
            "summary": "Include `--find-links` entries in the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1746
          },
          "name": "emitFindLinks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#emit-index-annotation"
            },
            "stability": "experimental",
            "summary": "Include comment annotations indicating the index used to resolve each package (e.g., `# from https://pypi.org/simple`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1754
          },
          "name": "emitIndexAnnotation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#emit-index-url"
            },
            "stability": "experimental",
            "summary": "Include `--index-url` and `--extra-index-url` entries in the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1761
          },
          "name": "emitIndexUrl",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#emit-marker-expression"
            },
            "remarks": "The pinned dependencies may be valid even when the marker expression is\nfalse, but when the expression is true, the requirements are known to\nbe correct.",
            "stability": "experimental",
            "summary": "Whether to emit a marker string indicating the conditions under which the set of pinned dependencies is valid."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1773
          },
          "name": "emitMarkerExpression",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#exclude-newer"
            },
            "remarks": "The date is compared against the upload time of each individual distribution artifact\n(i.e., when each file was uploaded to the package index), not the release date of the\npackage version.\n\nAccepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a \"friendly\" duration (e.g.,\n`24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).\n\nDurations do not respect semantics of the local time zone and are always resolved to a fixed\nnumber of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).\nCalendar units such as months and years are not allowed.\n\nSet to `false` to disable `exclude-newer`.",
            "stability": "experimental",
            "summary": "Limit candidate packages to those that were uploaded prior to a given point in time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1793
          },
          "name": "excludeNewer",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#exclude-newer-package"
            },
            "remarks": "Accepts a dictionary format of `PACKAGE = \"DATE\"` pairs, where `DATE` is an RFC 3339\ntimestamp (e.g., `2006-12-02T02:07:43Z`), a \"friendly\" duration (e.g., `24 hours`, `1 week`,\n`30 days`), or a ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).\n\nDurations do not respect semantics of the local time zone and are always resolved to a fixed\nnumber of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).\nCalendar units such as months and years are not allowed.\n\nSet a package to `false` to exempt it from the global [`exclude-newer`](#exclude-newer)\nconstraint entirely.",
            "stability": "experimental",
            "summary": "Limit candidate packages for specific packages to those that were uploaded prior to the given date."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1811
          },
          "name": "excludeNewerPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#extra"
            },
            "remarks": "Only applies to `pyproject.toml`, `setup.py`, and `setup.cfg` sources.",
            "stability": "experimental",
            "summary": "Include optional dependencies from the specified extra; may be provided more than once."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1820
          },
          "name": "extra",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#extra-build-dependencies"
            },
            "remarks": "This allows extending the PEP 517 build environment for the project's dependencies with\nadditional packages. This is useful for packages that assume the presence of packages like\n`pip`, and do not declare them as build dependencies.",
            "stability": "experimental",
            "summary": "Additional build dependencies for packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1831
          },
          "name": "extraBuildDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#extra-build-variables"
            },
            "remarks": "Environment variables will be added to the environment when building the\nspecified packages.",
            "stability": "experimental",
            "summary": "Extra environment variables to set when building certain packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1841
          },
          "name": "extraBuildVariables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#extra-index-url"
            },
            "remarks": "Accepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nAll indexes provided via this flag take priority over the index specified by\n[`index_url`](#index-url). When multiple indexes are provided, earlier values take priority.\n\nTo control uv's resolution strategy when multiple indexes are present, see\n[`index_strategy`](#index-strategy).",
            "stability": "experimental",
            "summary": "Extra URLs of package indexes to use, in addition to `--index-url`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1857
          },
          "name": "extraIndexUrl",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#find-links"
            },
            "remarks": "If a path, the target must be a directory that contains packages as wheel files (`.whl`) or\nsource distributions (e.g., `.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the\nformats described above.",
            "stability": "experimental",
            "summary": "Locations to search for candidate distributions, in addition to those found in the registry indexes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1871
          },
          "name": "findLinks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#fork-strategy"
            },
            "remarks": "By default, uv will optimize for selecting the latest version of each package for each\nsupported Python version (`requires-python`), while minimizing the number of selected\nversions across platforms.\n\nUnder `fewest`, uv will minimize the number of selected versions for each package,\npreferring older versions that are compatible with a wider range of supported Python\nversions or platforms.",
            "stability": "experimental",
            "summary": "The strategy to use when selecting multiple versions of a given package across Python versions and platforms."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1887
          },
          "name": "forkStrategy",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ForkStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#generate-hashes"
            },
            "stability": "experimental",
            "summary": "Include distribution hashes in the output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1894
          },
          "name": "generateHashes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#group"
            },
            "stability": "experimental",
            "summary": "Include the following dependency groups."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1901
          },
          "name": "group",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.PipGroupName"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#index-strategy"
            },
            "remarks": "By default, uv will stop at the first index on which a given package is available, and\nlimit resolutions to those present on that first index (`first-index`). This prevents\n\"dependency confusion\" attacks, whereby an attacker can upload a malicious package under the\nsame name to an alternate index.",
            "stability": "experimental",
            "summary": "The strategy to use when resolving against multiple index URLs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1913
          },
          "name": "indexStrategy",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.IndexStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#index-url"
            },
            "remarks": "Accepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nThe index provided by this setting is given lower priority than any indexes specified via\n[`extra_index_url`](#extra-index-url).",
            "stability": "experimental",
            "summary": "The URL of the Python package index (by default: <https://pypi.org/simple>)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1926
          },
          "name": "indexUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#keyring-provider"
            },
            "remarks": "At present, only `--keyring-provider subprocess` is supported, which configures uv to\nuse the `keyring` CLI to handle authentication.",
            "stability": "experimental",
            "summary": "Attempt to use `keyring` for authentication for index URLs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1936
          },
          "name": "keyringProvider",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.KeyringProviderType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#link-mode"
            },
            "default": "clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on",
            "remarks": "Defaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.",
            "stability": "experimental",
            "summary": "The method to use when installing packages from the global cache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1952
          },
          "name": "linkMode",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.LinkMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-annotate"
            },
            "stability": "experimental",
            "summary": "Exclude comment annotations indicating the source of each package from the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1960
          },
          "name": "noAnnotate",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-binary"
            },
            "remarks": "The given packages will be built and installed from source. The resolver will still use\npre-built wheels to extract package metadata, if available.\n\nMultiple packages may be provided. Disable binaries for all packages with `:all:`.\nClear previously specified packages with `:none:`.",
            "stability": "experimental",
            "summary": "Don't install pre-built wheels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1973
          },
          "name": "noBinary",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-build"
            },
            "remarks": "When enabled, uv will reuse cached wheels from previously built source distributions, but\noperations that require building a source distribution will exit with an error. uv may\nstill build editable requirements, and their build backends may run arbitrary Python code.\n\nAlias for `--only-binary :all:`.",
            "stability": "experimental",
            "summary": "Don't build source distributions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1986
          },
          "name": "noBuild",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-build-isolation"
            },
            "remarks": "Assumes that build dependencies specified by [PEP 518](https://peps.python.org/pep-0518/)\nare already installed.",
            "stability": "experimental",
            "summary": "Disable isolation when building source distributions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1996
          },
          "name": "noBuildIsolation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-build-isolation-package"
            },
            "remarks": "Assumes that the packages' build dependencies specified by [PEP 518](https://peps.python.org/pep-0518/)\nare already installed.",
            "stability": "experimental",
            "summary": "Disable isolation when building source distributions for a specific package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2006
          },
          "name": "noBuildIsolationPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-deps"
            },
            "stability": "experimental",
            "summary": "Ignore package dependencies, instead only add those packages explicitly listed on the command line to the resulting requirements file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2014
          },
          "name": "noDeps",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-emit-package"
            },
            "remarks": "Its dependencies will still be\nincluded in the resolution. Equivalent to pip-compile's `--unsafe-package` option.",
            "stability": "experimental",
            "summary": "Specify a package to omit from the output resolution."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2022
          },
          "name": "noEmitPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-extra"
            },
            "stability": "experimental",
            "summary": "Exclude the specified optional dependencies if `all-extras` is supplied."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2029
          },
          "name": "noExtra",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-header"
            },
            "stability": "experimental",
            "summary": "Exclude the comment header at the top of output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2036
          },
          "name": "noHeader",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-index"
            },
            "stability": "experimental",
            "summary": "Ignore all registry indexes (e.g., PyPI), instead relying on direct URL dependencies and those provided via `--find-links`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2044
          },
          "name": "noIndex",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-sources"
            },
            "stability": "experimental",
            "summary": "Ignore the `tool.uv.sources` table when resolving dependencies. Used to lock against the standards-compliant, publishable package metadata, as opposed to using any local or Git sources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2053
          },
          "name": "noSources",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-sources-package"
            },
            "stability": "experimental",
            "summary": "Ignore `tool.uv.sources` for the specified packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2060
          },
          "name": "noSourcesPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-strip-extras"
            },
            "remarks": "By default, uv strips extras, as any packages pulled in by the extras are already included\nas dependencies in the output file directly. Further, output files generated with\n`--no-strip-extras` cannot be used as constraints files in `install` and `sync` invocations.",
            "stability": "experimental",
            "summary": "Include extras in the output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2071
          },
          "name": "noStripExtras",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#no-strip-markers"
            },
            "remarks": "By default, uv strips environment markers, as the resolution generated by `compile` is\nonly guaranteed to be correct for the target environment.",
            "stability": "experimental",
            "summary": "Include environment markers in the output file generated by `uv pip compile`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2081
          },
          "name": "noStripMarkers",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#only-binary"
            },
            "remarks": "When enabled, uv will reuse cached wheels from previously built source distributions, but\noperations that require building a source distribution for the given packages will exit\nwith an error. uv may still build editable requirements, and their build backends may run\narbitrary Python code.\n\nMultiple packages may be provided. Disable binaries for all packages with `:all:`.\nClear previously specified packages with `:none:`.",
            "stability": "experimental",
            "summary": "Only use pre-built wheels; don't build source distributions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2096
          },
          "name": "onlyBinary",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#output-file"
            },
            "remarks": "If the file already exists, the existing versions will be preferred when resolving\ndependencies, unless `--upgrade` is also specified.",
            "stability": "experimental",
            "summary": "Write the requirements generated by `uv pip compile` to the given `requirements.txt` file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2106
          },
          "name": "outputFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#prefix"
            },
            "remarks": "In general, prefer the use of `--python` to install into an alternate environment, as\nscripts and other artifacts installed via `--prefix` will reference the installing\ninterpreter, rather than any interpreter added to the `--prefix` directory, rendering them\nnon-portable.",
            "stability": "experimental",
            "summary": "Install packages into `lib`, `bin`, and other top-level folders under the specified directory, as if a virtual environment were present at that location."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2119
          },
          "name": "prefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#prerelease"
            },
            "remarks": "By default, uv will accept pre-releases for packages that _only_ publish pre-releases,\nalong with first-party requirements that contain an explicit pre-release marker in the\ndeclared specifiers (`if-necessary-or-explicit`).",
            "stability": "experimental",
            "summary": "The strategy to use when considering pre-release versions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2130
          },
          "name": "prerelease",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.PrereleaseMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#python"
            },
            "remarks": "By default, uv installs into the virtual environment in the current working directory or\nany parent directory. The `--python` option allows you to specify a different interpreter,\nwhich is intended for use in continuous integration (CI) environments or other automated\nworkflows.\n\nSupported formats:\n- `3.10` looks for an installed Python 3.10 in the registry on Windows (see\n`py --list-paths`), or `python3.10` on Linux and macOS.\n- `python3.10` or `python.exe` looks for a binary with the given name in `PATH`.\n- `/home/ferris/.local/bin/python3.10` uses the exact Python at the given path.",
            "stability": "experimental",
            "summary": "The Python interpreter into which packages should be installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2148
          },
          "name": "python",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#python-platform"
            },
            "remarks": "Represented as a \"target triple\", a string that describes the target platform in terms of\nits CPU, vendor, and operating system name, like `x86_64-unknown-linux-gnu` or\n`aarch64-apple-darwin`.",
            "stability": "experimental",
            "summary": "The platform for which requirements should be resolved."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2159
          },
          "name": "pythonPlatform",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.TargetTriple"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#python-version"
            },
            "remarks": "If a patch version is omitted, the minimum patch version is assumed. For example, `3.8` is\nmapped to `3.8.0`.",
            "stability": "experimental",
            "summary": "The minimum Python version that should be supported by the resolved requirements (e.g., `3.8` or `3.8.17`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2170
          },
          "name": "pythonVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#reinstall"
            },
            "remarks": "Implies `refresh`.",
            "stability": "experimental",
            "summary": "Reinstall all packages, regardless of whether they're already installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2177
          },
          "name": "reinstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#reinstall-package"
            },
            "remarks": "Implies\n`refresh-package`.",
            "stability": "experimental",
            "summary": "Reinstall a specific package, regardless of whether it's already installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2185
          },
          "name": "reinstallPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#require-hashes"
            },
            "remarks": "Hash-checking mode is all or nothing. If enabled, _all_ requirements must be provided\nwith a corresponding hash or set of hashes. Additionally, if enabled, _all_ requirements\nmust either be pinned to exact versions (e.g., `==1.0.0`), or be specified via direct URL.\n\nHash-checking mode introduces a number of additional constraints:\n\n- Git dependencies are not supported.\n- Editable installations are not supported.\n- Local dependencies are not supported, unless they point to a specific wheel (`.whl`) or\nsource archive (`.zip`, `.tar.gz`), as opposed to a directory.",
            "stability": "experimental",
            "summary": "Require a matching hash for each requirement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2203
          },
          "name": "requireHashes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#resolution"
            },
            "remarks": "By default, uv will use the latest compatible version of each package (`highest`).",
            "stability": "experimental",
            "summary": "The strategy to use when selecting between the different compatible versions for a given package requirement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2213
          },
          "name": "resolution",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ResolutionMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#strict"
            },
            "stability": "experimental",
            "summary": "Validate the Python environment, to detect packages with missing dependencies and other issues."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2221
          },
          "name": "strict",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#system"
            },
            "remarks": "By default, uv installs into the virtual environment in the current working directory or\nany parent directory. The `--system` option instructs uv to instead use the first Python\nfound in the system `PATH`.\n\nWARNING: `--system` is intended for use in continuous integration (CI) environments and\nshould be used with caution, as it can modify the system Python installation.",
            "stability": "experimental",
            "summary": "Install packages into the system Python environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2235
          },
          "name": "system",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#target"
            },
            "remarks": "The packages will be installed at the top-level of the directory.",
            "stability": "experimental",
            "summary": "Install packages into the specified directory, rather than into the virtual or system Python environment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2243
          },
          "name": "target",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#torch-backend"
            },
            "remarks": "When set, uv will ignore the configured index URLs for packages in the PyTorch ecosystem,\nand will instead use the defined backend.\n\nFor example, when set to `cpu`, uv will use the CPU-only PyTorch index; when set to `cu126`,\nuv will use the PyTorch index for CUDA 12.6.\n\nThe `auto` mode will attempt to detect the appropriate PyTorch index based on the currently\ninstalled CUDA drivers.\n\nThis setting is only respected by `uv pip` commands.\n\nThis option is in preview and may change in any future release.",
            "stability": "experimental",
            "summary": "The backend to use when fetching packages in the PyTorch ecosystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2263
          },
          "name": "torchBackend",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.TorchMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#universal"
            },
            "remarks": "In universal mode, the current Python version (or user-provided `--python-version`) will be\ntreated as a lower bound. For example, `--universal --python-version 3.7` would produce a\nuniversal resolution for Python 3.7 and later.",
            "stability": "experimental",
            "summary": "Perform a universal resolution, attempting to generate a single `requirements.txt` output file that is compatible with all operating systems, architectures, and Python implementations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2276
          },
          "name": "universal",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#upgrade"
            },
            "stability": "experimental",
            "summary": "Allow package upgrades, ignoring pinned versions in any existing output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2283
          },
          "name": "upgrade",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#upgrade-package"
            },
            "remarks": "Accepts both standalone package names (`ruff`) and version specifiers (`ruff<0.5.0`).",
            "stability": "experimental",
            "summary": "Allow upgrades for a specific package, ignoring pinned versions in any existing output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2293
          },
          "name": "upgradePackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "PipOptions#verify-hashes"
            },
            "remarks": "Unlike `--require-hashes`, `--verify-hashes` does not require that all requirements have\nhashes; instead, it will limit itself to verifying the hashes of those requirements that do\ninclude them.",
            "stability": "experimental",
            "summary": "Validate any hashes provided in the requirements file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2304
          },
          "name": "verifyHashes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/python/uv-config:PipOptions"
    },
    "projen.python.uvConfig.PrereleaseMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PrereleaseMode"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.PrereleaseMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2385
      },
      "members": [
        {
          "docs": {
            "remarks": "(disallow)",
            "stability": "experimental",
            "summary": "Disallow all pre-release versions."
          },
          "name": "DISALLOW"
        },
        {
          "docs": {
            "remarks": "(allow)",
            "stability": "experimental",
            "summary": "Allow all pre-release versions."
          },
          "name": "ALLOW"
        },
        {
          "docs": {
            "remarks": "(if-necessary)",
            "stability": "experimental",
            "summary": "Allow pre-release versions if all versions of a package are pre-release."
          },
          "name": "IF_HYPHEN_NECESSARY"
        },
        {
          "docs": {
            "remarks": "(explicit)",
            "stability": "experimental",
            "summary": "Allow pre-release versions for first-party packages with explicit pre-release markers in their version requirements."
          },
          "name": "EXPLICIT"
        },
        {
          "docs": {
            "remarks": "(if-necessary-or-explicit)",
            "stability": "experimental",
            "summary": "Allow pre-release versions if all versions of a package are pre-release, or if the package has an explicit pre-release marker in its version requirements."
          },
          "name": "IF_HYPHEN_NECESSARY_HYPHEN_OR_HYPHEN_EXPLICIT"
        }
      ],
      "name": "PrereleaseMode",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:PrereleaseMode"
    },
    "projen.python.uvConfig.PythonDownloads": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PythonDownloads"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.PythonDownloads",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2403
      },
      "members": [
        {
          "docs": {
            "remarks": "(automatic)",
            "stability": "experimental",
            "summary": "Automatically download managed Python installations when needed."
          },
          "name": "AUTOMATIC"
        },
        {
          "docs": {
            "remarks": "require explicit installation. (manual)",
            "stability": "experimental",
            "summary": "Do not automatically download managed Python installations;"
          },
          "name": "MANUAL"
        },
        {
          "docs": {
            "remarks": "(never)",
            "stability": "experimental",
            "summary": "Do not ever allow Python downloads."
          },
          "name": "NEVER"
        }
      ],
      "name": "PythonDownloads",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:PythonDownloads"
    },
    "projen.python.uvConfig.PythonPreference": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "PythonPreference"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.PythonPreference",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2415
      },
      "members": [
        {
          "docs": {
            "remarks": "never use system Python installations. (only-managed)",
            "stability": "experimental",
            "summary": "Only use managed Python installations;"
          },
          "name": "ONLY_HYPHEN_MANAGED"
        },
        {
          "docs": {
            "remarks": "System Python installations are still preferred over downloading managed Python versions.\nUse `only-managed` to always fetch a managed Python version. (managed)",
            "stability": "experimental",
            "summary": "Prefer managed Python installations over system Python installations."
          },
          "name": "MANAGED"
        },
        {
          "docs": {
            "remarks": "If a system Python installation cannot be found, a managed Python installation can be used. (system)",
            "stability": "experimental",
            "summary": "Prefer system Python installations over managed Python installations."
          },
          "name": "SYSTEM"
        },
        {
          "docs": {
            "remarks": "never use managed Python installations. (only-system)",
            "stability": "experimental",
            "summary": "Only use system Python installations;"
          },
          "name": "ONLY_HYPHEN_SYSTEM"
        }
      ],
      "name": "PythonPreference",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:PythonPreference"
    },
    "projen.python.uvConfig.ResolutionMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "ResolutionMode"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.ResolutionMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2434
      },
      "members": [
        {
          "docs": {
            "remarks": "(highest)",
            "stability": "experimental",
            "summary": "Resolve the highest compatible version of each package."
          },
          "name": "HIGHEST"
        },
        {
          "docs": {
            "remarks": "(lowest)",
            "stability": "experimental",
            "summary": "Resolve the lowest compatible version of each package."
          },
          "name": "LOWEST"
        },
        {
          "docs": {
            "remarks": "(lowest-direct)",
            "stability": "experimental",
            "summary": "Resolve the lowest compatible version of any direct dependencies, and the highest compatible version of any transitive dependencies."
          },
          "name": "LOWEST_HYPHEN_DIRECT"
        }
      ],
      "name": "ResolutionMode",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:ResolutionMode"
    },
    "projen.python.uvConfig.SchemaConflictItem": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "SchemaConflictItem"
        },
        "remarks": "Each item is a pair of an (optional) package and a corresponding extra or group name for that\npackage.",
        "stability": "experimental",
        "summary": "A single item in a conflicting set."
      },
      "fqn": "projen.python.uvConfig.SchemaConflictItem",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1221
      },
      "name": "SchemaConflictItem",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "SchemaConflictItem#extra"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1225
          },
          "name": "extra",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "SchemaConflictItem#group"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1230
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "SchemaConflictItem#package"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1235
          },
          "name": "package",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:SchemaConflictItem"
    },
    "projen.python.uvConfig.StaticMetadata": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "StaticMetadata"
        },
        "stability": "experimental",
        "summary": "A subset of the Python Package Metadata 2.3 standard as specified in <https://packaging.python.org/specifications/core-metadata/>."
      },
      "fqn": "projen.python.uvConfig.StaticMetadata",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 1288
      },
      "name": "StaticMetadata",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "StaticMetadata#name"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1292
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "StaticMetadata#provides-extra"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1297
          },
          "name": "providesExtra",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "StaticMetadata#requires-dist"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1302
          },
          "name": "requiresDist",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "StaticMetadata#requires-python"
            },
            "stability": "experimental",
            "summary": "PEP 508-style Python requirement, e.g., `>=3.10`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1309
          },
          "name": "requiresPython",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "StaticMetadata#version"
            },
            "stability": "experimental",
            "summary": "PEP 440-style package version, e.g., `1.2.3`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 1316
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:StaticMetadata"
    },
    "projen.python.uvConfig.TargetTriple": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "TargetTriple"
        },
        "remarks": "See: <https://doc.rust-lang.org/nightly/rustc/platform-support.html>",
        "stability": "experimental",
        "summary": "The supported target triples. Each triple consists of an architecture, vendor, and operating system."
      },
      "fqn": "projen.python.uvConfig.TargetTriple",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2790
      },
      "members": [
        {
          "docs": {
            "remarks": "(windows)",
            "stability": "experimental",
            "summary": "An alias for `x86_64-pc-windows-msvc`, the default target for Windows."
          },
          "name": "WINDOWS"
        },
        {
          "docs": {
            "remarks": "(linux)",
            "stability": "experimental",
            "summary": "An alias for `x86_64-unknown-linux-gnu`, the default target for Linux."
          },
          "name": "LINUX"
        },
        {
          "docs": {
            "remarks": "(macos)",
            "stability": "experimental",
            "summary": "An alias for `aarch64-apple-darwin`, the default target for macOS."
          },
          "name": "MACOS"
        },
        {
          "docs": {
            "remarks": "(x86_64-pc-windows-msvc)",
            "stability": "experimental",
            "summary": "A 64-bit x86 Windows target."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_PC_HYPHEN_WINDOWS_HYPHEN_MSVC"
        },
        {
          "docs": {
            "remarks": "(aarch64-pc-windows-msvc)",
            "stability": "experimental",
            "summary": "An ARM64 Windows target."
          },
          "name": "AARCH64_HYPHEN_PC_HYPHEN_WINDOWS_HYPHEN_MSVC"
        },
        {
          "docs": {
            "remarks": "(i686-pc-windows-msvc)",
            "stability": "experimental",
            "summary": "A 32-bit x86 Windows target."
          },
          "name": "I686_HYPHEN_PC_HYPHEN_WINDOWS_HYPHEN_MSVC"
        },
        {
          "docs": {
            "remarks": "Equivalent to `x86_64-manylinux_2_28`. (x86_64-unknown-linux-gnu)",
            "stability": "experimental",
            "summary": "An x86 Linux target."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_UNKNOWN_HYPHEN_LINUX_HYPHEN_GNU"
        },
        {
          "docs": {
            "remarks": "By default, assumes the least-recent, non-EOL macOS version (13.0), but respects\nthe `MACOSX_DEPLOYMENT_TARGET` environment variable if set. (aarch64-apple-darwin)",
            "stability": "experimental",
            "summary": "An ARM-based macOS target, as seen on Apple Silicon devices."
          },
          "name": "AARCH64_HYPHEN_APPLE_HYPHEN_DARWIN"
        },
        {
          "docs": {
            "remarks": "By default, assumes the least-recent, non-EOL macOS version (13.0), but respects\nthe `MACOSX_DEPLOYMENT_TARGET` environment variable if set. (x86_64-apple-darwin)",
            "stability": "experimental",
            "summary": "An x86 macOS target."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_APPLE_HYPHEN_DARWIN"
        },
        {
          "docs": {
            "remarks": "Equivalent to `aarch64-manylinux_2_28`. (aarch64-unknown-linux-gnu)",
            "stability": "experimental",
            "summary": "An ARM64 Linux target."
          },
          "name": "AARCH64_HYPHEN_UNKNOWN_HYPHEN_LINUX_HYPHEN_GNU"
        },
        {
          "docs": {
            "remarks": "(aarch64-unknown-linux-musl)",
            "stability": "experimental",
            "summary": "An ARM64 Linux target."
          },
          "name": "AARCH64_HYPHEN_UNKNOWN_HYPHEN_LINUX_HYPHEN_MUSL"
        },
        {
          "docs": {
            "remarks": "(x86_64-unknown-linux-musl)",
            "stability": "experimental",
            "summary": "An `x86_64` Linux target."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_UNKNOWN_HYPHEN_LINUX_HYPHEN_MUSL"
        },
        {
          "docs": {
            "remarks": "(riscv64-unknown-linux)",
            "stability": "experimental",
            "summary": "A RISCV64 Linux target."
          },
          "name": "RISCV64_HYPHEN_UNKNOWN_HYPHEN_LINUX"
        },
        {
          "docs": {
            "remarks": "Equivalent to `x86_64-manylinux_2_17`. (x86_64-manylinux2014)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux2014` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX2014"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_17)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_17` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_17"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_28)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_28` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_28"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_31)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_31` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_31"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_32)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_32` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_32"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_33)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_33` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_33"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_34)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_34` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_34"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_35)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_35` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_35"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_36)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_36` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_36"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_37)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_37` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_37"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_38)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_38` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_38"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_39)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_39` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_39"
        },
        {
          "docs": {
            "remarks": "(x86_64-manylinux_2_40)",
            "stability": "experimental",
            "summary": "An `x86_64` target for the `manylinux_2_40` platform."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_40"
        },
        {
          "docs": {
            "remarks": "Equivalent to `aarch64-manylinux_2_17`. (aarch64-manylinux2014)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux2014` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX2014"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_17)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_17` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_17"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_28)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_28` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_28"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_31)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_31` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_31"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_32)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_32` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_32"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_33)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_33` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_33"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_34)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_34` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_34"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_35)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_35` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_35"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_36)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_36` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_36"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_37)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_37` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_37"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_38)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_38` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_38"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_39)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_39` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_39"
        },
        {
          "docs": {
            "remarks": "(aarch64-manylinux_2_40)",
            "stability": "experimental",
            "summary": "An ARM64 target for the `manylinux_2_40` platform."
          },
          "name": "AARCH64_HYPHEN_MANYLINUX_UNDERSCORE_2_UNDERSCORE_40"
        },
        {
          "docs": {
            "remarks": "By default uses Android API level 24, but respects\nthe `ANDROID_API_LEVEL` environment variable if set. (aarch64-linux-android)",
            "stability": "experimental",
            "summary": "An ARM64 Android target."
          },
          "name": "AARCH64_HYPHEN_LINUX_HYPHEN_ANDROID"
        },
        {
          "docs": {
            "remarks": "By default uses Android API level 24, but respects\nthe `ANDROID_API_LEVEL` environment variable if set. (x86_64-linux-android)",
            "stability": "experimental",
            "summary": "An `x86_64` Android target."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_LINUX_HYPHEN_ANDROID"
        },
        {
          "docs": {
            "remarks": "Meant for use with Python 3.12.\nSee <https://pyodide.org/en/stable/development/abi/312.html> (wasm32-pyodide2024)",
            "stability": "experimental",
            "summary": "A wasm32 target using the Pyodide 2024 platform."
          },
          "name": "WASM32_HYPHEN_PYODIDE2024"
        },
        {
          "docs": {
            "remarks": "Meant for use with Python 3.13.\nSee <https://pyodide.org/en/stable/development/abi/313.html> (wasm32-pyodide2025)",
            "stability": "experimental",
            "summary": "A wasm32 target using the Pyodide 2025 platform."
          },
          "name": "WASM32_HYPHEN_PYODIDE2025"
        },
        {
          "docs": {
            "remarks": "By default, iOS 13.0 is used, but respects the `IPHONEOS_DEPLOYMENT_TARGET`\nenvironment variable if set. (arm64-apple-ios)",
            "stability": "experimental",
            "summary": "An ARM64 target for iOS device."
          },
          "name": "ARM64_HYPHEN_APPLE_HYPHEN_IOS"
        },
        {
          "docs": {
            "remarks": "By default, iOS 13.0 is used, but respects the `IPHONEOS_DEPLOYMENT_TARGET`\nenvironment variable if set. (arm64-apple-ios-simulator)",
            "stability": "experimental",
            "summary": "An ARM64 target for iOS simulator."
          },
          "name": "ARM64_HYPHEN_APPLE_HYPHEN_IOS_HYPHEN_SIMULATOR"
        },
        {
          "docs": {
            "remarks": "By default, iOS 13.0 is used, but respects the `IPHONEOS_DEPLOYMENT_TARGET`\nenvironment variable if set. (x86_64-apple-ios-simulator)",
            "stability": "experimental",
            "summary": "An `x86_64` target for iOS simulator."
          },
          "name": "X86_UNDERSCORE_64_HYPHEN_APPLE_HYPHEN_IOS_HYPHEN_SIMULATOR"
        }
      ],
      "name": "TargetTriple",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:TargetTriple"
    },
    "projen.python.uvConfig.ToolUvWorkspace": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "ToolUvWorkspace"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.ToolUvWorkspace",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2569
      },
      "name": "ToolUvWorkspace",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "ToolUvWorkspace#exclude"
            },
            "remarks": "Supports both globs and explicit paths.\n\nFor more information on the glob syntax, refer to the [`glob` documentation](https://docs.rs/glob/latest/glob/struct.Pattern.html).",
            "stability": "experimental",
            "summary": "Packages to exclude as workspace members. If a package matches both `members` and `exclude`, it will be excluded."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2580
          },
          "name": "exclude",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "ToolUvWorkspace#members"
            },
            "remarks": "Supports both globs and explicit paths.\n\nFor more information on the glob syntax, refer to the [`glob` documentation](https://docs.rs/glob/latest/glob/struct.Pattern.html).",
            "stability": "experimental",
            "summary": "Packages to include as workspace members."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2591
          },
          "name": "members",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/python/uv-config:ToolUvWorkspace"
    },
    "projen.python.uvConfig.TorchMode": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "TorchMode"
        },
        "stability": "experimental",
        "summary": "The strategy to use when determining the appropriate PyTorch index."
      },
      "fqn": "projen.python.uvConfig.TorchMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2449
      },
      "members": [
        {
          "docs": {
            "remarks": "(auto)",
            "stability": "experimental",
            "summary": "Select the appropriate PyTorch index based on the operating system and CUDA driver version."
          },
          "name": "AUTO"
        },
        {
          "docs": {
            "remarks": "(cpu)",
            "stability": "experimental",
            "summary": "Use the CPU-only PyTorch index."
          },
          "name": "CPU"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 13.2. (cu132)."
          },
          "name": "CU132"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 13.0. (cu130)."
          },
          "name": "CU130"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.9. (cu129)."
          },
          "name": "CU129"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.8. (cu128)."
          },
          "name": "CU128"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.6. (cu126)."
          },
          "name": "CU126"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.5. (cu125)."
          },
          "name": "CU125"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.4. (cu124)."
          },
          "name": "CU124"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.3. (cu123)."
          },
          "name": "CU123"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.2. (cu122)."
          },
          "name": "CU122"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.1. (cu121)."
          },
          "name": "CU121"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 12.0. (cu120)."
          },
          "name": "CU120"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.8. (cu118)."
          },
          "name": "CU118"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.7. (cu117)."
          },
          "name": "CU117"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.6. (cu116)."
          },
          "name": "CU116"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.5. (cu115)."
          },
          "name": "CU115"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.4. (cu114)."
          },
          "name": "CU114"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.3. (cu113)."
          },
          "name": "CU113"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.2. (cu112)."
          },
          "name": "CU112"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.1. (cu111)."
          },
          "name": "CU111"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 11.0. (cu110)."
          },
          "name": "CU110"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 10.2. (cu102)."
          },
          "name": "CU102"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 10.1. (cu101)."
          },
          "name": "CU101"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 10.0. (cu100)."
          },
          "name": "CU100"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 9.2. (cu92)."
          },
          "name": "CU92"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 9.1. (cu91)."
          },
          "name": "CU91"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 9.0. (cu90)."
          },
          "name": "CU90"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for CUDA 8.0. (cu80)."
          },
          "name": "CU80"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 7.2. (rocm7.2)."
          },
          "name": "ROCM7_2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 7.1. (rocm7.1)."
          },
          "name": "ROCM7_1"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 7.0. (rocm7.0)."
          },
          "name": "ROCM7_0"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.4. (rocm6.4)."
          },
          "name": "ROCM6_4"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.3. (rocm6.3)."
          },
          "name": "ROCM6_3"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.2.4. (rocm6.2.4)."
          },
          "name": "ROCM6_2_4"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.2. (rocm6.2)."
          },
          "name": "ROCM6_2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.1. (rocm6.1)."
          },
          "name": "ROCM6_1"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 6.0. (rocm6.0)."
          },
          "name": "ROCM6_0"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.7. (rocm5.7)."
          },
          "name": "ROCM5_7"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.6. (rocm5.6)."
          },
          "name": "ROCM5_6"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.5. (rocm5.5)."
          },
          "name": "ROCM5_5"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.4.2. (rocm5.4.2)."
          },
          "name": "ROCM5_4_2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.4. (rocm5.4)."
          },
          "name": "ROCM5_4"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.3. (rocm5.3)."
          },
          "name": "ROCM5_3"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.2. (rocm5.2)."
          },
          "name": "ROCM5_2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 5.1.1. (rocm5.1.1)."
          },
          "name": "ROCM5_1_1"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 4.2. (rocm4.2)."
          },
          "name": "ROCM4_2"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 4.1. (rocm4.1)."
          },
          "name": "ROCM4_1"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the PyTorch index for ROCm 4.0.1. (rocm4.0.1)."
          },
          "name": "ROCM4_0_1"
        },
        {
          "docs": {
            "remarks": "(xpu)",
            "stability": "experimental",
            "summary": "Use the PyTorch index for Intel XPU."
          },
          "name": "XPU"
        }
      ],
      "name": "TorchMode",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:TorchMode"
    },
    "projen.python.uvConfig.TrustedPublishing": {
      "assembly": "projen",
      "docs": {
        "custom": {
          "schema": "TrustedPublishing"
        },
        "stability": "experimental"
      },
      "fqn": "projen.python.uvConfig.TrustedPublishing",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2555
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "always."
          },
          "name": "ALWAYS"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "never."
          },
          "name": "NEVER"
        },
        {
          "docs": {
            "remarks": "Supported environments include GitHub Actions and GitLab CI/CD. (automatic)",
            "stability": "experimental",
            "summary": "Attempt trusted publishing when we're in a supported environment, continue if that fails."
          },
          "name": "AUTOMATIC"
        }
      ],
      "name": "TrustedPublishing",
      "namespace": "python.uvConfig",
      "symbolId": "src/python/uv-config:TrustedPublishing"
    },
    "projen.python.uvConfig.UvConfiguration": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "UvConfiguration"
        },
        "stability": "experimental",
        "summary": "Metadata and configuration for uv."
      },
      "fqn": "projen.python.uvConfig.UvConfiguration",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 7
      },
      "name": "UvConfiguration",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#add-bounds"
            },
            "remarks": "When adding a dependency to the project, if no constraint or URL is provided, a constraint\nis added based on the latest compatible version of the package. By default, a lower bound\nconstraint is used, e.g., `>=1.2.3`.\n\nWhen `--frozen` is provided, no resolution is performed, and dependencies are always added\nwithout constraints.\n\nThis option is in preview and may change in any future release.",
            "stability": "experimental",
            "summary": "The default version specifier when adding a dependency."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 22
          },
          "name": "addBounds",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.AddBoundsKind"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#allow-insecure-host"
            },
            "remarks": "Expects to receive either a hostname (e.g., `localhost`), a host-port pair (e.g.,\n`localhost:8080`), or a URL (e.g., `https://localhost`).\n\nWARNING: Hosts included in this list will not be verified against the system's certificate\nstore. Only use `--allow-insecure-host` in a secure network with verified sources, as it\nbypasses SSL verification and could expose you to MITM attacks.",
            "stability": "experimental",
            "summary": "Allow insecure connections to host."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 36
          },
          "name": "allowInsecureHost",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#audit"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 41
          },
          "name": "audit",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.AuditOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#build-backend"
            },
            "remarks": "Note that those settings only apply when using the `uv_build` backend, other build backends\n(such as hatchling) have their own configuration.",
            "stability": "experimental",
            "summary": "Configuration for the uv build backend."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 51
          },
          "name": "buildBackend",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.BuildBackendSettings"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#build-constraint-dependencies"
            },
            "stability": "experimental",
            "summary": "PEP 508-style requirements, e.g., `ruff==0.5.0`, or `ruff @ https://...`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 58
          },
          "name": "buildConstraintDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#cache-dir"
            },
            "stability": "experimental",
            "summary": "Path to the cache directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 65
          },
          "name": "cacheDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#cache-keys"
            },
            "remarks": "Cache keys enable you to specify the files or directories that should trigger a rebuild when\nmodified. By default, uv will rebuild a project whenever the `pyproject.toml`, `setup.py`,\nor `setup.cfg` files in the project directory are modified, or if a `src` directory is\nadded or removed, i.e.:\n\n```toml\ncache-keys = [{ file = \"pyproject.toml\" }, { file = \"setup.py\" }, { file = \"setup.cfg\" }, { dir = \"src\" }]\n```\n\nAs an example: if a project uses dynamic metadata to read its dependencies from a\n`requirements.txt` file, you can specify `cache-keys = [{ file = \"requirements.txt\" }, { file = \"pyproject.toml\" }]`\nto ensure that the project is rebuilt whenever the `requirements.txt` file is modified (in\naddition to watching the `pyproject.toml`).\n\nGlobs are supported, following the syntax of the [`glob`](https://docs.rs/glob/0.3.1/glob/struct.Pattern.html)\ncrate. For example, to invalidate the cache whenever a `.toml` file in the project directory\nor any of its subdirectories is modified, you can specify `cache-keys = [{ file = \"*_/*.toml\" }]`.\nNote that the use of globs can be expensive, as uv may need to walk the filesystem to\ndetermine whether any files have changed.\n\nCache keys can also include version control information. For example, if a project uses\n`setuptools_scm` to read its version from a Git commit, you can specify `cache-keys = [{ git = { commit = true }, { file = \"pyproject.toml\" }]`\nto include the current Git commit hash in the cache key (in addition to the\n`pyproject.toml`). Git tags are also supported via `cache-keys = [{ git = { commit = true, tags = true } }]`.\n\nCache keys can also include environment variables. For example, if a project relies on\n`MACOSX_DEPLOYMENT_TARGET` or other environment variables to determine its behavior, you can\nspecify `cache-keys = [{ env = \"MACOSX_DEPLOYMENT_TARGET\" }]` to invalidate the cache\nwhenever the environment variable changes.\n\nCache keys only affect the project defined by the `pyproject.toml` in which they're\nspecified (as opposed to, e.g., affecting all members in a workspace), and all paths and\nglobs are interpreted as relative to the project directory.",
            "stability": "experimental",
            "summary": "The keys to consider when caching builds for the project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 106
          },
          "name": "cacheKeys",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#check-url"
            },
            "remarks": "This option allows retrying publishing that failed after only some, but not all files have\nbeen uploaded, and handles error due to parallel uploads of the same file.\n\nBefore uploading, the index is checked. If the exact same file already exists in the index,\nthe file will not be uploaded. If an error occurred during the upload, the index is checked\nagain, to handle cases where the identical file was uploaded twice in parallel.\n\nThe exact behavior will vary based on the index. When uploading to PyPI, uploading the same\nfile succeeds even without `--check-url`, while most other indexes error.\n\nThe index must provide one of the supported hashes (SHA-256, SHA-384, or SHA-512).",
            "stability": "experimental",
            "summary": "Check an index URL for existing files to skip duplicate uploads."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 125
          },
          "name": "checkUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#compile-bytecode"
            },
            "remarks": "By default, uv does not compile Python (`.py`) files to bytecode (`__pycache__/*.pyc`);\ninstead, compilation is performed lazily the first time a module is imported. For use-cases\nin which start time is critical, such as CLI applications and Docker containers, this option\ncan be enabled to trade longer installation times for faster start times.\n\nWhen enabled, uv will process the entire site-packages directory (including packages that\nare not being modified by the current operation) for consistency. Like pip, it will also\nignore errors.",
            "stability": "experimental",
            "summary": "Compile Python files to bytecode after installation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 141
          },
          "name": "compileBytecode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#concurrent-builds"
            },
            "default": "the number of available CPU cores.",
            "remarks": "Defaults to the number of available CPU cores.",
            "stability": "experimental",
            "summary": "The maximum number of source distributions that uv will build concurrently at any given time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 152
          },
          "name": "concurrentBuilds",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#concurrent-downloads"
            },
            "stability": "experimental",
            "summary": "The maximum number of in-flight concurrent downloads that uv will perform at any given time."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 160
          },
          "name": "concurrentDownloads",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#concurrent-installs"
            },
            "default": "the number of available CPU cores.",
            "remarks": "Defaults to the number of available CPU cores.",
            "stability": "experimental",
            "summary": "The number of threads used when installing and unzipping packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 170
          },
          "name": "concurrentInstalls",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#config-settings"
            },
            "stability": "experimental",
            "summary": "Settings to pass to the [PEP 517](https://peps.python.org/pep-0517/) build backend, specified as `KEY=VALUE` pairs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 178
          },
          "name": "configSettings",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#config-settings-package"
            },
            "remarks": "Accepts a map from package names to string key-value pairs.",
            "stability": "experimental",
            "summary": "Settings to pass to the [PEP 517](https://peps.python.org/pep-0517/) build backend for specific packages, specified as `KEY=VALUE` pairs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 188
          },
          "name": "configSettingsPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#conflicts"
            },
            "stability": "experimental",
            "summary": "A list of sets of conflicting groups or extras."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 195
          },
          "name": "conflicts",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.python.uvConfig.SchemaConflictItem"
                  },
                  "kind": "array"
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#constraint-dependencies"
            },
            "stability": "experimental",
            "summary": "PEP 508-style requirements, e.g., `ruff==0.5.0`, or `ruff @ https://...`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 202
          },
          "name": "constraintDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#default-groups"
            },
            "remarks": "Can also be the literal `\"all\"` to default enable all groups.",
            "stability": "experimental",
            "summary": "The list of `dependency-groups` to install by default."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 211
          },
          "name": "defaultGroups",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#dependency-groups"
            },
            "remarks": "Currently this can only be used to add `requires-python` constraints\nto dependency groups (typically to inform uv that your dev tooling\nhas a higher python requirement than your actual project).\n\nThis cannot be used to define dependency groups, use the top-level\n`[dependency-groups]` table for that.",
            "stability": "experimental",
            "summary": "Additional settings for `dependency-groups`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 225
          },
          "name": "dependencyGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.DependencyGroupSettings"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#dependency-metadata"
            },
            "remarks": "When\nprovided, enables the resolver to use the specified metadata instead of querying the\nregistry or building the relevant package from source.\n\nMetadata should be provided in adherence with the [Metadata 2.3](https://packaging.python.org/en/latest/specifications/core-metadata/)\nstandard, though only the following fields are respected:\n\n- `name`: The name of the package.\n- (Optional) `version`: The version of the package. If omitted, the metadata will be applied\nto all versions of the package.\n- (Optional) `requires-dist`: The dependencies of the package (e.g., `werkzeug>=0.14`).\n- (Optional) `requires-python`: The Python version required by the package (e.g., `>=3.10`).\n- (Optional) `provides-extra`: The extras provided by the package.",
            "stability": "experimental",
            "summary": "Pre-defined static metadata for dependencies of the project (direct or transitive)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 244
          },
          "name": "dependencyMetadata",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.StaticMetadata"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#dev-dependencies"
            },
            "stability": "experimental",
            "summary": "PEP 508-style requirements, e.g., `ruff==0.5.0`, or `ruff @ https://...`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 251
          },
          "name": "devDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#environments"
            },
            "stability": "experimental",
            "summary": "A list of environment markers, e.g., `python_version >= '3.6'`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 258
          },
          "name": "environments",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#exclude-dependencies"
            },
            "remarks": "Excludes are used to prevent a package from being selected during resolution,\nregardless of whether it's requested by any other package. When a package is excluded,\nit will be omitted from the dependency list entirely.\n\nIncluding a package as an exclusion will prevent it from being installed, even if\nit's requested by transitive dependencies. This can be useful for removing optional\ndependencies or working around packages with broken dependencies.\n\nExclusions can be limited to the dependencies declared by a specific package version by\nusing a table with `package` and `dependencies`. The `package` table identifies the package\nwhose dependencies will be excluded by `name` and, optionally, `version`. If `version` is\nomitted, the exclusions apply to all versions of that package. A version-specific entry\ntakes precedence over an all-versions entry.\n\n!!! note\nIn `uv lock`, `uv sync`, and `uv run`, uv will only read `exclude-dependencies` from\nthe `pyproject.toml` at the workspace root, and will ignore any declarations in other\nworkspace members or `uv.toml` files.",
            "stability": "experimental",
            "summary": "Dependencies to exclude when resolving the project's dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 284
          },
          "name": "excludeDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#exclude-newer"
            },
            "remarks": "The date is compared against the upload time of each individual distribution artifact\n(i.e., when each file was uploaded to the package index), not the release date of the\npackage version.\n\nAccepts RFC 3339 timestamps (e.g., `2006-12-02T02:07:43Z`), a \"friendly\" duration (e.g.,\n`24 hours`, `1 week`, `30 days`), or an ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).\n\nDurations do not respect semantics of the local time zone and are always resolved to a fixed\nnumber of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).\nCalendar units such as months and years are not allowed.\n\nSet to `false` to disable `exclude-newer`.",
            "stability": "experimental",
            "summary": "Limit candidate packages to those that were uploaded prior to the given date."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 304
          },
          "name": "excludeNewer",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#exclude-newer-package"
            },
            "remarks": "Accepts a dictionary format of `PACKAGE = \"DATE\"` pairs, where `DATE` is an RFC 3339\ntimestamp (e.g., `2006-12-02T02:07:43Z`), a \"friendly\" duration (e.g., `24 hours`, `1 week`,\n`30 days`), or a ISO 8601 duration (e.g., `PT24H`, `P7D`, `P30D`).\n\nDurations do not respect semantics of the local time zone and are always resolved to a fixed\nnumber of seconds assuming that a day is 24 hours (e.g., DST transitions are ignored).\nCalendar units such as months and years are not allowed.\n\nSet a package to `false` to exempt it from the global [`exclude-newer`](#exclude-newer)\nconstraint entirely.",
            "stability": "experimental",
            "summary": "Limit candidate packages for specific packages to those that were uploaded prior to the given date."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 323
          },
          "name": "excludeNewerPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.ExcludeNewerOverride"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#extra-build-dependencies"
            },
            "remarks": "This allows extending the PEP 517 build environment for the project's dependencies with\nadditional packages. This is useful for packages that assume the presence of packages like\n`pip`, and do not declare them as build dependencies.",
            "stability": "experimental",
            "summary": "Additional build dependencies for packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 334
          },
          "name": "extraBuildDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#extra-build-variables"
            },
            "remarks": "Environment variables will be added to the environment when building the\nspecified packages.",
            "stability": "experimental",
            "summary": "Extra environment variables to set when building certain packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 344
          },
          "name": "extraBuildVariables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#extra-index-url"
            },
            "remarks": "Accepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nAll indexes provided via this flag take priority over the index specified by\n[`index_url`](#index-url) or [`index`](#index) with `default = true`. When multiple indexes\nare provided, earlier values take priority.\n\nTo control uv's resolution strategy when multiple indexes are present, see\n[`index_strategy`](#index-strategy).\n\n(Deprecated: use `index` instead.)",
            "stability": "experimental",
            "summary": "Extra URLs of package indexes to use, in addition to `--index-url`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 363
          },
          "name": "extraIndexUrl",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#find-links"
            },
            "remarks": "If a path, the target must be a directory that contains packages as wheel files (`.whl`) or\nsource distributions (e.g., `.tar.gz` or `.zip`) at the top level.\n\nIf a URL, the page must contain a flat list of links to package files adhering to the\nformats described above.",
            "stability": "experimental",
            "summary": "Locations to search for candidate distributions, in addition to those found in the registry indexes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 377
          },
          "name": "findLinks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#fork-strategy"
            },
            "remarks": "By default, uv will optimize for selecting the latest version of each package for each\nsupported Python version (`requires-python`), while minimizing the number of selected\nversions across platforms.\n\nUnder `fewest`, uv will minimize the number of selected versions for each package,\npreferring older versions that are compatible with a wider range of supported Python\nversions or platforms.",
            "stability": "experimental",
            "summary": "The strategy to use when selecting multiple versions of a given package across Python versions and platforms."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 393
          },
          "name": "forkStrategy",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ForkStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#http-proxy"
            },
            "stability": "experimental",
            "summary": "The URL of the HTTP proxy to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 400
          },
          "name": "httpProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#https-proxy"
            },
            "stability": "experimental",
            "summary": "The URL of the HTTPS proxy to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 407
          },
          "name": "httpsProxy",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#index"
            },
            "remarks": "Accepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nIndexes are considered in the order in which they're defined, such that the first-defined\nindex has the highest priority. Further, the indexes provided by this setting are given\nhigher priority than any indexes specified via [`index_url`](#index-url) or\n[`extra_index_url`](#extra-index-url). uv will only consider the first index that contains\na given package, unless an alternative [index strategy](#index-strategy) is specified.\n\nIf an index is marked as `explicit = true`, it will be used exclusively for the\ndependencies that select it explicitly via `[tool.uv.sources]`, as in:\n\n```toml\n[[tool.uv.index]]\nname = \"pytorch\"\nurl = \"https://download.pytorch.org/whl/cu130\"\nexplicit = true\n\n[tool.uv.sources]\ntorch = { index = \"pytorch\" }\n```\n\nIf an index is marked as `default = true`, it will be moved to the end of the prioritized list, such that it is\ngiven the lowest priority when resolving packages. Additionally, marking an index as default will disable the\nPyPI default index.",
            "stability": "experimental",
            "summary": "The indexes to use when resolving dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 440
          },
          "name": "index",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.python.uvConfig.Index"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#index-strategy"
            },
            "remarks": "By default, uv will stop at the first index on which a given package is available, and\nlimit resolutions to those present on that first index (`first-index`). This prevents\n\"dependency confusion\" attacks, whereby an attacker can upload a malicious package under the\nsame name to an alternate index.",
            "stability": "experimental",
            "summary": "The strategy to use when resolving against multiple index URLs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 452
          },
          "name": "indexStrategy",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.IndexStrategy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#index-url"
            },
            "remarks": "Accepts either a repository compliant with [PEP 503](https://peps.python.org/pep-0503/)\n(the simple repository API), or a local directory laid out in the same format.\n\nThe index provided by this setting is given lower priority than any indexes specified via\n[`extra_index_url`](#extra-index-url) or [`index`](#index).\n\n(Deprecated: use `index` instead.)",
            "stability": "experimental",
            "summary": "The URL of the Python package index (by default: <https://pypi.org/simple>)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 467
          },
          "name": "indexUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#keyring-provider"
            },
            "remarks": "At present, only `--keyring-provider subprocess` is supported, which configures uv to\nuse the `keyring` CLI to handle authentication.",
            "stability": "experimental",
            "summary": "Attempt to use `keyring` for authentication for index URLs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 477
          },
          "name": "keyringProvider",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.KeyringProviderType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#link-mode"
            },
            "default": "clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on",
            "remarks": "Defaults to `clone` (also known as Copy-on-Write) on macOS and Linux, and `hardlink` on\nWindows.\n\nWARNING: The use of symlink link mode is discouraged, as they create tight coupling between\nthe cache and the target environment. For example, clearing the cache (`uv cache clean`)\nwill break all installed packages by way of removing the underlying source files. Use\nsymlinks with caution.",
            "stability": "experimental",
            "summary": "The method to use when installing packages from the global cache."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 493
          },
          "name": "linkMode",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.LinkMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#managed"
            },
            "remarks": "If `false`, uv will ignore the project when\n`uv run` is invoked.",
            "stability": "experimental",
            "summary": "Whether the project is managed by uv."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 501
          },
          "name": "managed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#native-tls"
            },
            "remarks": "By default, uv uses bundled Mozilla root certificates. When enabled, this loads\ncertificates from the platform's native certificate store instead.\n\n(Deprecated: use `system-certs` instead.)",
            "stability": "experimental",
            "summary": "Whether to load TLS certificates from the platform's native certificate store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 513
          },
          "name": "nativeTls",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-binary"
            },
            "remarks": "The given packages will be built and installed from source. The resolver will still use\npre-built wheels to extract package metadata, if available.",
            "stability": "experimental",
            "summary": "Don't install pre-built wheels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 523
          },
          "name": "noBinary",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-binary-package"
            },
            "stability": "experimental",
            "summary": "Don't install pre-built wheels for a specific package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 530
          },
          "name": "noBinaryPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-build"
            },
            "remarks": "When enabled, uv will reuse cached wheels from previously built source distributions, but\noperations that require building a source distribution will exit with an error. uv may\nstill build editable requirements, and their build backends may run arbitrary Python code.",
            "stability": "experimental",
            "summary": "Don't build source distributions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 541
          },
          "name": "noBuild",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-build-isolation"
            },
            "remarks": "Assumes that build dependencies specified by [PEP 518](https://peps.python.org/pep-0518/)\nare already installed.",
            "stability": "experimental",
            "summary": "Disable isolation when building source distributions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 551
          },
          "name": "noBuildIsolation",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-build-isolation-package"
            },
            "remarks": "Assumes that the packages' build dependencies specified by [PEP 518](https://peps.python.org/pep-0518/)\nare already installed.",
            "stability": "experimental",
            "summary": "Disable isolation when building source distributions for a specific package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 561
          },
          "name": "noBuildIsolationPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-build-package"
            },
            "stability": "experimental",
            "summary": "Don't build source distributions for a specific package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 568
          },
          "name": "noBuildPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-cache"
            },
            "stability": "experimental",
            "summary": "Avoid reading from or writing to the cache, instead using a temporary directory for the duration of the operation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 576
          },
          "name": "noCache",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-index"
            },
            "stability": "experimental",
            "summary": "Ignore all registry indexes (e.g., PyPI), instead relying on direct URL dependencies and those provided via `--find-links`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 584
          },
          "name": "noIndex",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-proxy"
            },
            "stability": "experimental",
            "summary": "A list of hosts to exclude from proxying."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 591
          },
          "name": "noProxy",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-sources"
            },
            "stability": "experimental",
            "summary": "Ignore the `tool.uv.sources` table when resolving dependencies. Used to lock against the standards-compliant, publishable package metadata, as opposed to using any local or Git sources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 600
          },
          "name": "noSources",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#no-sources-package"
            },
            "stability": "experimental",
            "summary": "Ignore `tool.uv.sources` for the specified packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 607
          },
          "name": "noSourcesPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#offline"
            },
            "stability": "experimental",
            "summary": "Disable network access, relying only on locally cached data and locally available files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 614
          },
          "name": "offline",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#override-dependencies"
            },
            "remarks": "Overrides are used to force selection of a specific version of a package, regardless of the\nversion requested by any other package, and regardless of whether choosing that version\nwould typically constitute an invalid resolution.\n\nWhile constraints are _additive_, in that they're combined with the requirements of the\nconstituent packages, overrides are _absolute_, in that they completely replace the\nrequirements of any constituent packages.\n\nIncluding a package as an override will _not_ trigger installation of the package on its\nown; instead, the package must be requested elsewhere in the project's first-party or\ntransitive dependencies.\n\nOverrides can be limited to the dependencies declared by a specific package version by\nusing a table with `package` and `dependencies`. The `package` table identifies the package\nwhose dependencies will be overridden by `name` and, optionally, `version`. If `version` is\nomitted, the overrides apply to all versions of that package. Requirements in `dependencies`\nreplace dependencies with the same name and add dependencies that are not declared by the\npackage. Dependencies not listed in `dependencies` are left unchanged.\n\nScoped overrides currently support registry version specifiers only. Direct URL and path\nsources, including Git sources, and explicit indexes are not supported.\n\n!!! note\nIn `uv lock`, `uv sync`, and `uv run`, uv will only read `override-dependencies` from\nthe `pyproject.toml` at the workspace root, and will ignore any declarations in other\nworkspace members or `uv.toml` files.",
            "stability": "experimental",
            "summary": "Overrides to apply when resolving the project's dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 648
          },
          "name": "overrideDependencies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#package"
            },
            "remarks": "Packages are built and installed into the virtual environment in editable mode and thus\nrequire a build backend, while virtual projects are _not_ built or installed; instead, only\ntheir dependencies are included in the virtual environment.\n\nCreating a package requires that a `build-system` is present in the `pyproject.toml`, and\nthat the project adheres to a structure that adheres to the build backend's expectations\n(e.g., a `src` layout).",
            "stability": "experimental",
            "summary": "Whether the project should be considered a Python package, or a non-package (\"virtual\") project."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 664
          },
          "name": "package",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#pip"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 669
          },
          "name": "pip",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.PipOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#prerelease"
            },
            "remarks": "By default, uv will accept pre-releases for packages that _only_ publish pre-releases,\nalong with first-party requirements that contain an explicit pre-release marker in the\ndeclared specifiers (`if-necessary-or-explicit`).",
            "stability": "experimental",
            "summary": "The strategy to use when considering pre-release versions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 680
          },
          "name": "prerelease",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.PrereleaseMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#preview"
            },
            "remarks": "Use `preview-features` instead.",
            "stability": "experimental",
            "summary": "Whether to enable all experimental, preview features."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 689
          },
          "name": "preview",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#preview-features"
            },
            "remarks": "Unknown feature names are ignored with a warning.",
            "stability": "experimental",
            "summary": "Whether to enable specific or all experimental preview features."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 698
          },
          "name": "previewFeatures",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#publish-url"
            },
            "stability": "experimental",
            "summary": "The URL for publishing packages to the Python package index (by default: <https://upload.pypi.org/legacy/>)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 706
          },
          "name": "publishUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#pypy-install-mirror"
            },
            "remarks": "By default, managed PyPy installations are downloaded from [downloads.python.org](https://downloads.python.org/).\nThis variable can be set to a mirror URL to use a different source for PyPy installations.\nThe provided URL will replace `https://downloads.python.org/pypy` in, e.g., `https://downloads.python.org/pypy/pypy3.8-v7.3.7-osx64.tar.bz2`.\n\nDistributions can be read from a\nlocal directory by using the `file://` URL scheme.",
            "stability": "experimental",
            "summary": "Mirror URL to use for downloading managed PyPy installations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 720
          },
          "name": "pypyInstallMirror",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#python-downloads"
            },
            "stability": "experimental",
            "summary": "Whether to allow Python downloads."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 727
          },
          "name": "pythonDownloads",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.PythonDownloads"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#python-downloads-json-url"
            },
            "stability": "experimental",
            "summary": "URL pointing to JSON of custom Python installations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 734
          },
          "name": "pythonDownloadsJsonUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#python-install-mirror"
            },
            "remarks": "By default, managed Python installations are downloaded from [`python-build-standalone`](https://github.com/astral-sh/python-build-standalone).\nThis variable can be set to a mirror URL to use a different source for Python installations.\nThe provided URL will replace `https://github.com/astral-sh/python-build-standalone/releases/download` in, e.g., `https://github.com/astral-sh/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz`.\n\nDistributions can be read from a local directory by using the `file://` URL scheme.",
            "stability": "experimental",
            "summary": "Mirror URL for downloading managed Python installations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 747
          },
          "name": "pythonInstallMirror",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#python-preference"
            },
            "stability": "experimental",
            "summary": "Whether to prefer using Python installations that are already present on the system, or those that are downloaded and installed by uv."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 755
          },
          "name": "pythonPreference",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.PythonPreference"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#reinstall"
            },
            "remarks": "Implies `refresh`.",
            "stability": "experimental",
            "summary": "Reinstall all packages, regardless of whether they're already installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 762
          },
          "name": "reinstall",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#reinstall-package"
            },
            "remarks": "Implies\n`refresh-package`.",
            "stability": "experimental",
            "summary": "Reinstall a specific package, regardless of whether it's already installed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 770
          },
          "name": "reinstallPackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#required-environments"
            },
            "stability": "experimental",
            "summary": "A list of environment markers, e.g., `sys_platform == 'darwin'."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 777
          },
          "name": "requiredEnvironments",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#required-version"
            },
            "remarks": "If the version of uv does not meet the requirement at runtime, uv will exit\nwith an error.\n\nAccepts a [PEP 440](https://peps.python.org/pep-0440/) specifier, like `==0.5.0` or `>=0.5.0`.",
            "stability": "experimental",
            "summary": "Enforce a requirement on the version of uv."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 789
          },
          "name": "requiredVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#resolution"
            },
            "remarks": "By default, uv will use the latest compatible version of each package (`highest`).",
            "stability": "experimental",
            "summary": "The strategy to use when selecting between the different compatible versions for a given package requirement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 799
          },
          "name": "resolution",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ResolutionMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#sources"
            },
            "remarks": "`tool.uv.sources` enriches the dependency metadata with additional sources, incorporated\nduring development. A dependency source can be a Git repository, a URL, a local path, or an\nalternative registry.\n\nSee [Dependencies](https://docs.astral.sh/uv/concepts/projects/dependencies/) for more.",
            "stability": "experimental",
            "summary": "The sources to use when resolving dependencies."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 812
          },
          "name": "sources",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#system-certs"
            },
            "remarks": "By default, uv uses bundled Mozilla root certificates. When enabled, this loads\ncertificates from the platform's native certificate store instead.",
            "stability": "experimental",
            "summary": "Whether to load TLS certificates from the platform's native certificate store."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 822
          },
          "name": "systemCerts",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#torch-backend"
            },
            "remarks": "When set, uv will ignore the configured index URLs for packages in the PyTorch ecosystem,\nand will instead use the defined backend.\n\nFor example, when set to `cpu`, uv will use the CPU-only PyTorch index; when set to `cu126`,\nuv will use the PyTorch index for CUDA 12.6.\n\nThe `auto` mode will attempt to detect the appropriate PyTorch index based on the currently\ninstalled CUDA drivers.\n\nThis setting is only respected by `uv pip` commands.\n\nThis option is in preview and may change in any future release.",
            "stability": "experimental",
            "summary": "The backend to use when fetching packages in the PyTorch ecosystem."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 842
          },
          "name": "torchBackend",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.TorchMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#trusted-publishing"
            },
            "remarks": "By default, uv checks for trusted publishing when running in a supported environment, but\nignores it if it isn't configured.\n\nuv's supported environments for trusted publishing include GitHub Actions and GitLab CI/CD.",
            "stability": "experimental",
            "summary": "Configure trusted publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 854
          },
          "name": "trustedPublishing",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.TrustedPublishing"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#upgrade"
            },
            "stability": "experimental",
            "summary": "Allow package upgrades, ignoring pinned versions in any existing output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 861
          },
          "name": "upgrade",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#upgrade-package"
            },
            "remarks": "Accepts both standalone package names (`ruff`) and version specifiers (`ruff<0.5.0`).",
            "stability": "experimental",
            "summary": "Allow upgrades for a specific package, ignoring pinned versions in any existing output file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 871
          },
          "name": "upgradePackage",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "UvConfiguration#workspace"
            },
            "stability": "experimental",
            "summary": "The workspace definition for the project, if any."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 878
          },
          "name": "workspace",
          "optional": true,
          "type": {
            "fqn": "projen.python.uvConfig.ToolUvWorkspace"
          }
        }
      ],
      "symbolId": "src/python/uv-config:UvConfiguration"
    },
    "projen.python.uvConfig.WheelDataIncludes": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "custom": {
          "schema": "WheelDataIncludes"
        },
        "remarks": "See `BuildBackendSettings::data`.",
        "stability": "experimental",
        "summary": "Data includes for wheels."
      },
      "fqn": "projen.python.uvConfig.WheelDataIncludes",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/python/uv-config.ts",
        "line": 2617
      },
      "name": "WheelDataIncludes",
      "namespace": "python.uvConfig",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "WheelDataIncludes#data"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2621
          },
          "name": "data",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "WheelDataIncludes#headers"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2626
          },
          "name": "headers",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "WheelDataIncludes#platlib"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2631
          },
          "name": "platlib",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "WheelDataIncludes#purelib"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2636
          },
          "name": "purelib",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "schema": "WheelDataIncludes#scripts"
            },
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/python/uv-config.ts",
            "line": 2641
          },
          "name": "scripts",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/python/uv-config:WheelDataIncludes"
    },
    "projen.release.BranchOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for a release branch."
      },
      "fqn": "projen.release.BranchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release.ts",
        "line": 844
      },
      "name": "BranchOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The major versions released from this branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 867
          },
          "name": "majorVersion",
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used, unless set at the artifact level",
            "remarks": "This can be used to add an explicit approval step to the release\nor limit who can initiate a release through environment protection rules.\n\nWhen multiple artifacts are released, the environment can be overwritten\non a per artifact basis.",
            "stability": "experimental",
            "summary": "The GitHub Actions environment used for the release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 862
          },
          "name": "environment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- GitHub determines the latest release based on date and semantic version.",
            "remarks": "Set to `true` to mark the release as latest, or `false` to explicitly not\nmark it as latest.",
            "stability": "experimental",
            "summary": "Whether GitHub should explicitly mark the release from this branch as the latest release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 895
          },
          "name": "githubReleaseLatest",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The minimum major version to release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 872
          },
          "name": "minMajorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The minor versions released from this branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 877
          },
          "name": "minorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "stability": "experimental",
            "summary": "The npm distribution tag to use for this branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 916
          },
          "name": "npmDistTag",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- normal releases",
            "stability": "experimental",
            "summary": "Bump the version as a pre-release tag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 884
          },
          "name": "prerelease",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no prefix",
            "remarks": "Note: this prefix is used to detect the latest tagged version\nwhen bumping, so if you change this on a project with an existing version\nhistory, you may need to manually tag your latest release\nwith the new prefix.",
            "stability": "experimental",
            "summary": "Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 909
          },
          "name": "tagPrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"release-BRANCH\"",
            "stability": "experimental",
            "summary": "The name of the release workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 849
          },
          "name": "workflowName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/release:BranchOptions"
    },
    "projen.release.CodeArtifactAuthProvider": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Options for authorizing requests to a AWS CodeArtifact npm repository."
      },
      "fqn": "projen.release.CodeArtifactAuthProvider",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1156
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Fixed credentials provided via Github secrets."
          },
          "name": "ACCESS_AND_SECRET_KEY_PAIR"
        },
        {
          "docs": {
            "remarks": "See:\nhttps://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html\nhttps://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services",
            "stability": "experimental",
            "summary": "Ephemeral credentials provided via Github's OIDC integration with an IAM role."
          },
          "name": "GITHUB_OIDC"
        }
      ],
      "name": "CodeArtifactAuthProvider",
      "namespace": "release",
      "symbolId": "src/release/publisher:CodeArtifactAuthProvider"
    },
    "projen.release.CodeArtifactOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for publishing packages to AWS CodeArtifact."
      },
      "fqn": "projen.release.CodeArtifactOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1174
      },
      "name": "CodeArtifactOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- When the `authProvider` value is set to\n`CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is\n\"AWS_ACCESS_KEY_ID\". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this\nvalue must be left undefined.",
            "remarks": "This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).",
            "stability": "experimental",
            "summary": "GitHub secret which contains the AWS access key ID to use when publishing packages to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1190
          },
          "name": "accessKeyIdSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR",
            "stability": "experimental",
            "summary": "Provider to use for authorizing requests to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1180
          },
          "name": "authProvider",
          "optional": true,
          "type": {
            "fqn": "projen.release.CodeArtifactAuthProvider"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "When using the `CodeArtifactAuthProvider.GITHUB_OIDC` auth provider, this value must be defined.",
            "stability": "experimental",
            "summary": "ARN of AWS role to be assumed prior to get authorization token from AWS CodeArtifact This property must be specified only when publishing to AWS CodeArtifact (`registry` contains AWS CodeArtifact URL)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1210
          },
          "name": "roleToAssume",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- When the `authProvider` value is set to\n`CodeArtifactAuthProvider.ACCESS_AND_SECRET_KEY_PAIR`, the default is\n\"AWS_SECRET_ACCESS_KEY\". For `CodeArtifactAuthProvider.GITHUB_OIDC`, this\nvalue must be left undefined.",
            "remarks": "This property must be specified only when publishing to AWS CodeArtifact (`npmRegistryUrl` contains AWS CodeArtifact URL).",
            "stability": "experimental",
            "summary": "GitHub secret which contains the AWS secret access key to use when publishing packages to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1201
          },
          "name": "secretAccessKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:CodeArtifactOptions"
    },
    "projen.release.CommonPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common publishing options."
      },
      "fqn": "projen.release.CommonPublishOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1054
      },
      "name": "CommonPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used, unless set at the package level",
            "remarks": "This can be used to add an explicit approval step to the release\nor limit who can initiate a release through environment protection rules.\n\nSet this to overwrite a package level publishing environment just for this artifact.",
            "stability": "experimental",
            "summary": "The GitHub Actions environment used for publishing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1091
          },
          "name": "githubEnvironment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "These can be used\nto add/update the release artifacts ot any other tasks needed.\n\n\nNote that when using this in `publishToGitHubReleases` this will override steps added via `addGitHubPostPublishingSteps`.",
            "stability": "experimental",
            "summary": "Steps to execute after executing the publishing command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1073
          },
          "name": "postPublishSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "These steps are executed after `dist/` has been populated with the build\noutput.\n\nNote that when using this in `publishToGitHubReleases` this will override steps added via `addGitHubPrePublishingSteps`.",
            "stability": "experimental",
            "summary": "Steps to execute before executing the publishing command. These can be used to prepare the artifact for publishing if needed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1064
          },
          "name": "prePublishSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional tools are installed",
            "stability": "experimental",
            "summary": "Additional tools to install in the publishing job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1079
          },
          "name": "publishTools",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.Tools"
          }
        }
      ],
      "symbolId": "src/release/publisher:CommonPublishOptions"
    },
    "projen.release.ContinuousReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.release.ContinuousReleaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release-trigger.ts",
        "line": 42
      },
      "name": "ContinuousReleaseOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Paths for which pushes should trigger a release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 46
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/release/release-trigger:ContinuousReleaseOptions"
    },
    "projen.release.GitHubReleasesPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Publishing options for GitHub releases."
      },
      "fqn": "projen.release.GitHubReleasesPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1514
      },
      "name": "GitHubReleasesPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "changelog.md",
            "stability": "experimental",
            "summary": "The location of an .md file (relative to `dist/`) that includes the changelog for the release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1473
          },
          "name": "changelogFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "releasetag.txt",
            "stability": "experimental",
            "summary": "The location of a text file (relative to `dist/`) that contains the release tag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1466
          },
          "name": "releaseTagFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "version.txt",
            "stability": "experimental",
            "summary": "The location of a text file (relative to `dist/`) that contains the version number."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1459
          },
          "name": "versionFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- GitHub determines the latest release based on date and semantic version.",
            "remarks": "Set to `true` to mark the release as latest, or `false` to explicitly not\nmark it as latest. A branch-specific setting takes precedence.",
            "stability": "experimental",
            "summary": "Whether GitHub should explicitly mark the release as the latest release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1524
          },
          "name": "latest",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/release/publisher:GitHubReleasesPublishOptions"
    },
    "projen.release.GitPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Publishing options for Git releases."
      },
      "fqn": "projen.release.GitPublishOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1530
      },
      "name": "GitPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "changelog.md",
            "stability": "experimental",
            "summary": "The location of an .md file (relative to `dist/`) that includes the changelog for the release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1473
          },
          "name": "changelogFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "releasetag.txt",
            "stability": "experimental",
            "summary": "The location of a text file (relative to `dist/`) that contains the release tag."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1466
          },
          "name": "releaseTagFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "version.txt",
            "stability": "experimental",
            "summary": "The location of a text file (relative to `dist/`) that contains the version number."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1459
          },
          "name": "versionFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"main\"",
            "stability": "experimental",
            "summary": "Branch to push to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1541
          },
          "name": "gitBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Runs as a shell command in the `publish:git` task - where release\ncredentials are in scope - replacing the default\n`git push --follow-tags origin <branch>`. Shell syntax is interpreted, so\nkeep it a literal command.\n\nSet to an empty string to disable pushing.",
            "stability": "experimental",
            "summary": "Override git-push command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1553
          },
          "name": "gitPushCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The location of an .md file that includes the project-level changelog."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1534
          },
          "name": "projectChangelogFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:GitPublishOptions"
    },
    "projen.release.GoPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Go releases."
      },
      "fqn": "projen.release.GoPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1386
      },
      "name": "GoPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"main\"",
            "stability": "experimental",
            "summary": "Branch to push to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1431
          },
          "name": "gitBranch",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"chore(release): $VERSION\"",
            "stability": "experimental",
            "summary": "The commit message."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1450
          },
          "name": "gitCommitMessage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no GitHub App credentials used",
            "remarks": "Cannot be combined with `githubUseSsh`, `githubTokenSecret` or `githubDeployKeySecret`.",
            "stability": "experimental",
            "summary": "Provide API access to the GitHub repository using `GithubCredentials`, e.g. a GitHub App."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1424
          },
          "name": "githubCredentials",
          "optional": true,
          "type": {
            "fqn": "projen.github.GithubCredentials"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"GO_GITHUB_DEPLOY_KEY\"",
            "remarks": "Ignored if `githubUseSsh` is `false` or `githubCredentials` is set.",
            "stability": "experimental",
            "summary": "The name of the secret that includes a GitHub deploy key used to push to the GitHub repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1406
          },
          "name": "githubDeployKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"GO_GITHUB_TOKEN\"",
            "deprecated": "use `githubCredentials` with `GithubCredentials.fromPersonalAccessToken()` instead.",
            "remarks": "Ignored if `githubUseSsh` or `githubCredentials` is set.",
            "stability": "deprecated",
            "summary": "The name of the secret that includes a personal GitHub access token used to push to the GitHub repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1396
          },
          "name": "githubTokenSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Ignored if `githubCredentials` is set.",
            "stability": "experimental",
            "summary": "Use SSH to push to GitHub instead of a personal accses token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1415
          },
          "name": "githubUseSsh",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user email",
            "stability": "experimental",
            "summary": "The email to use in the release git commit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1443
          },
          "name": "gitUserEmail",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default GitHub Actions user name",
            "stability": "experimental",
            "summary": "The user name to use for the release git commit."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1437
          },
          "name": "gitUserName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:GoPublishOptions"
    },
    "projen.release.ManualReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.release.ManualReleaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release-trigger.ts",
        "line": 12
      },
      "name": "ManualReleaseOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Maintain a project-level changelog."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 18
          },
          "name": "changelog",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'CHANGELOG.md'",
            "remarks": "Ignored if `changelog` is false.",
            "stability": "experimental",
            "summary": "Project-level changelog file path."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 27
          },
          "name": "changelogPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Runs as a shell command in the `publish:git` task - where release\ncredentials are in scope - replacing the default\n`git push --follow-tags origin <branch>`. Shell syntax is interpreted, so\nkeep it a literal command.\n\nSet to an empty string to disable pushing.",
            "stability": "experimental",
            "summary": "Override git-push command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 39
          },
          "name": "gitPushCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/release-trigger:ManualReleaseOptions"
    },
    "projen.release.MavenPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for Maven releases."
      },
      "fqn": "projen.release.MavenPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1302
      },
      "name": "MavenPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- \"https://oss.sonatype.org\" or none when publishing to Maven Central",
            "remarks": "if not set, defaults to https://oss.sonatype.org",
            "stability": "experimental",
            "summary": "URL of Nexus repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1308
          },
          "name": "mavenEndpoint",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"MAVEN_GPG_PRIVATE_KEY_PASSPHRASE\" or not set when using GitHub Packages",
            "remarks": "This is used to sign your Maven packages. See instructions.",
            "see": "https://github.com/cdklabs/publib#maven",
            "stability": "experimental",
            "summary": "GitHub secret name which contains the GPG private key or file that includes it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1343
          },
          "name": "mavenGpgPrivateKeyPassphrase",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"MAVEN_GPG_PRIVATE_KEY\" or not set when using GitHub Packages",
            "remarks": "This is used to sign your Maven\npackages. See instructions.",
            "see": "https://github.com/cdklabs/publib#maven",
            "stability": "experimental",
            "summary": "GitHub secret name which contains the GPG private key or file that includes it."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1334
          },
          "name": "mavenGpgPrivateKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"MAVEN_PASSWORD\" or \"GITHUB_TOKEN\" when using GitHub Packages",
            "remarks": "For Maven Central, you will need to Create JIRA account and then request a\nnew project (see links).",
            "see": "https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134",
            "stability": "experimental",
            "summary": "GitHub secret name which contains the Password for maven repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1369
          },
          "name": "mavenPassword",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "stability": "experimental",
            "summary": "Deployment repository when not deploying to Maven Central."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1324
          },
          "name": "mavenRepositoryUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"central-ossrh\" (Maven Central) or \"github\" when using GitHub Packages",
            "remarks": "Set to `central-ossrh` to publish to Maven Central.",
            "stability": "experimental",
            "summary": "Used in maven settings for credential lookup (e.g. use github when publishing to GitHub)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1317
          },
          "name": "mavenServerId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"MAVEN_STAGING_PROFILE_ID\" or not set when using GitHub Packages",
            "stability": "experimental",
            "summary": "GitHub secret name which contains the Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found in the URL of the \"Releases\" staging profile under \"Staging Profiles\" in https://oss.sonatype.org (e.g. https://oss.sonatype.org/#stagingProfiles;11a33451234521)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1380
          },
          "name": "mavenStagingProfileId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"MAVEN_USERNAME\" or the GitHub Actor when using GitHub Packages",
            "remarks": "For Maven Central, you will need to Create JIRA account and then request a\nnew project (see links).",
            "see": "https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134",
            "stability": "experimental",
            "summary": "GitHub secret name which contains the Username for maven repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1356
          },
          "name": "mavenUsername",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:MavenPublishOptions"
    },
    "projen.release.NpmPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for npm release."
      },
      "fqn": "projen.release.NpmPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1097
      },
      "name": "NpmPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- package is not published to",
            "stability": "experimental",
            "summary": "Options for publishing npm package to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1150
          },
          "name": "codeArtifactOptions",
          "optional": true,
          "type": {
            "fqn": "projen.release.CodeArtifactOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- enabled for for public packages using trusted publishing, disabled otherwise",
            "remarks": "Note that this component is using `publib` to publish packages,\nwhich is using npm internally and supports provenance statements independently of the package manager used.\n\nOnly works in supported CI/CD environments.",
            "see": "https://docs.npmjs.com/generating-provenance-statements",
            "stability": "experimental",
            "summary": "Should provenance statements be generated when package is published."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1143
          },
          "name": "npmProvenance",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"NPM_TOKEN\" or \"GITHUB_TOKEN\" if `registry` is set to `npm.pkg.github.com`.",
            "stability": "experimental",
            "summary": "GitHub secret which contains the NPM token to use for publishing packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1117
          },
          "name": "npmTokenSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"registry.npmjs.org\"",
            "example": "\"npm.pkg.github.com\"",
            "remarks": "To publish to GitHub Packages, set this value to `\"npm.pkg.github.com\"`. In\nthis if `npmTokenSecret` is not specified, it will default to\n`GITHUB_TOKEN` which means that you will be able to publish to the\nrepository's package store. In this case, make sure `repositoryUrl` is\ncorrectly defined.",
            "stability": "experimental",
            "summary": "The domain name of the npm package registry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1110
          },
          "name": "registry",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- false",
            "remarks": "Requires npm CLI version 11.5.1 or later, this is NOT ensured automatically.\nWhen used, `npmTokenSecret` will be ignored.",
            "see": "https://docs.npmjs.com/trusted-publishers",
            "stability": "experimental",
            "summary": "Use trusted publishing for publishing to npmjs.com Needs to be pre-configured on npm.js to work."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1130
          },
          "name": "trustedPublishing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/release/publisher:NpmPublishOptions"
    },
    "projen.release.NugetPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for NuGet releases."
      },
      "fqn": "projen.release.NugetPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1267
      },
      "name": "NugetPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"NUGET_API_KEY\"",
            "stability": "experimental",
            "summary": "GitHub secret which contains the API key for NuGet."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1273
          },
          "name": "nugetApiKeySecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "NuGet Server URL (defaults to nuget.org)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1278
          },
          "name": "nugetServer",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"NUGET_USERNAME\"",
            "remarks": "Required when using trusted publishing.",
            "stability": "experimental",
            "summary": "The NuGet.org username (profile name, not email address) for trusted publisher authentication."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1296
          },
          "name": "nugetUsernameSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Needs to be setup in NuGet.org.",
            "see": "https://learn.microsoft.com/en-us/nuget/nuget-org/trusted-publishing",
            "stability": "experimental",
            "summary": "Use NuGet trusted publishing instead of API keys."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1287
          },
          "name": "trustedPublishing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/release/publisher:NugetPublishOptions"
    },
    "projen.release.Publisher": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "Under the hood, it uses https://github.com/cdklabs/publib",
        "stability": "experimental",
        "summary": "Implements GitHub jobs for publishing modules to package managers."
      },
      "fqn": "projen.release.Publisher",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/release/publisher.ts",
          "line": 206
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.release.PublisherOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 177
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds post publishing steps for the GitHub release job."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 262
          },
          "name": "addGitHubPostPublishingSteps",
          "parameters": [
            {
              "docs": {
                "summary": "The steps."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds pre publishing steps for the GitHub release job."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 253
          },
          "name": "addGitHubPrePublishingSteps",
          "parameters": [
            {
              "docs": {
                "summary": "The steps."
              },
              "name": "steps",
              "type": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "This includes generating a project-level changelog and release tags.",
            "stability": "experimental",
            "summary": "Publish to git."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 273
          },
          "name": "publishToGit",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.release.GitPublishOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.Task"
            }
          }
        },
        {
          "docs": {
            "remarks": "Tolerates a release that already exists, so that re-running a release is\na no-op rather than a failure.",
            "stability": "experimental",
            "summary": "Creates a GitHub Release."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 327
          },
          "name": "publishToGitHubReleases",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.release.GitHubReleasesPublishOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a go publishing job."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 683
          },
          "name": "publishToGo",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.GoPublishOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Publishes artifacts from `java/**` to Maven."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 515
          },
          "name": "publishToMaven",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.MavenPublishOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Publishes artifacts from `js/**` to npm."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 357
          },
          "name": "publishToNpm",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.NpmPublishOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Publishes artifacts from `dotnet/**` to NuGet Gallery."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 460
          },
          "name": "publishToNuget",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.NugetPublishOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Publishes wheel artifacts from `python` to PyPI."
          },
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 588
          },
          "name": "publishToPyPi",
          "parameters": [
            {
              "docs": {
                "summary": "Options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.PyPiPublishOptions"
              }
            }
          ]
        }
      ],
      "name": "Publisher",
      "namespace": "release",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 178
          },
          "name": "PUBLISH_GIT_TASK_NAME",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 181
          },
          "name": "artifactName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 180
          },
          "name": "buildJobId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 182
          },
          "name": "publibVersion",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 183
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:Publisher"
    },
    "projen.release.PublisherOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Publisher`."
      },
      "fqn": "projen.release.PublisherOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 77
      },
      "name": "PublisherOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "The artifact is expected to include a subdirectory for each release target:\n`go` (GitHub), `dotnet` (NuGet), `java` (Maven), `js` (npm), `python`\n(PyPI).",
            "see": "https://github.com/cdklabs/publib",
            "stability": "experimental",
            "summary": "The name of the artifact to download (e.g. `dist`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 99
          },
          "name": "artifactName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "All publish jobs will take a dependency on this job.",
            "stability": "experimental",
            "summary": "The job ID that produces the build artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 81
          },
          "name": "buildJobId",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no condition",
            "stability": "experimental",
            "summary": "A GitHub workflow expression used as a condition for publishers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 88
          },
          "name": "condition",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Useful if you wish to block all publishing from a single option.",
            "stability": "experimental",
            "summary": "Do not actually publish, only print the commands that would be executed instead."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 169
          },
          "name": "dryRun",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Create an issue when a publish task fails."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 129
          },
          "name": "failureIssue",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"failed-release\"",
            "remarks": "Only applies if `failureIssue` is true.",
            "stability": "experimental",
            "summary": "The label to apply to the issue marking failed publish tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 137
          },
          "name": "failureIssueLabel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "stability": "experimental",
            "summary": "Version requirement for `publib`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 122
          },
          "name": "publibVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Normally, publishing only happens within automated workflows. Enable this\nin order to create a publishing task for each publishing activity.",
            "stability": "experimental",
            "summary": "Define publishing tasks that can be executed manually as well as workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 162
          },
          "name": "publishTasks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default image",
            "stability": "experimental",
            "summary": "Container image to use for GitHub workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 115
          },
          "name": "workflowContainerImage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "lts/*",
            "remarks": "For example `publib`, the CLI projen uses to publish releases,\nis an npm library.",
            "stability": "experimental",
            "summary": "Node version to setup in GitHub workflows if any node-based CLI utilities are needed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 108
          },
          "name": "workflowNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 145
          },
          "name": "workflowRunsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 152
          },
          "name": "workflowRunsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/release/publisher:PublisherOptions"
    },
    "projen.release.PyPiPublishOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for PyPI release."
      },
      "fqn": "projen.release.PyPiPublishOptions",
      "interfaces": [
        "projen.release.CommonPublishOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/publisher.ts",
        "line": 1216
      },
      "name": "PyPiPublishOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- enabled when using trusted publishing, otherwise not applicable",
            "remarks": "Attestations provide package provenance and integrity an can be viewed on PyPI.\nThey are only available when using a Trusted Publisher for publishing.",
            "see": "https://docs.pypi.org/attestations/producing-attestations/",
            "stability": "experimental",
            "summary": "Generate and publish cryptographic attestations for files uploaded to PyPI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1254
          },
          "name": "attestations",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined",
            "stability": "experimental",
            "summary": "Options for publishing to AWS CodeArtifact."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1261
          },
          "name": "codeArtifactOptions",
          "optional": true,
          "type": {
            "fqn": "projen.release.CodeArtifactOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Needs to be setup in PyPI.",
            "see": "https://docs.pypi.org/trusted-publishers/adding-a-publisher/",
            "stability": "experimental",
            "summary": "Use PyPI trusted publishing instead of tokens or username & password."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1243
          },
          "name": "trustedPublishing",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"TWINE_PASSWORD\"",
            "stability": "experimental",
            "summary": "The GitHub secret which contains PyPI password."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1234
          },
          "name": "twinePasswordSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- twine default",
            "stability": "experimental",
            "summary": "The registry url to use when releasing packages."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1222
          },
          "name": "twineRegistryUrl",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"TWINE_USERNAME\"",
            "stability": "experimental",
            "summary": "The GitHub secret which contains PyPI user name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/publisher.ts",
            "line": 1228
          },
          "name": "twineUsernameSecret",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/publisher:PyPiPublishOptions"
    },
    "projen.release.Release": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "By default, no branches are released. To add branches, call `addBranch()`.",
        "stability": "experimental",
        "summary": "Manages releases (currently through GitHub workflows)."
      },
      "fqn": "projen.release.Release",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/release/release.ts",
          "line": 414
        },
        "parameters": [
          {
            "docs": {
              "summary": "should be part of the project the Release belongs to."
            },
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "docs": {
              "summary": "options to configure the Release Component."
            },
            "name": "options",
            "type": {
              "fqn": "projen.release.ReleaseOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/release/release.ts",
        "line": 369
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns the `Release` component of a project or `undefined` if the project does not have a Release component."
          },
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 377
          },
          "name": "of",
          "parameters": [
            {
              "name": "project",
              "type": {
                "fqn": "projen.Project"
              }
            }
          ],
          "returns": {
            "optional": true,
            "type": {
              "fqn": "projen.release.Release"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "It is a git branch from which releases are published. If a project has more than one release\nbranch, we require that `majorVersion` is also specified for the primary branch in order to\nensure branches always release the correct version.",
            "stability": "experimental",
            "summary": "Adds a release branch."
          },
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 548
          },
          "name": "addBranch",
          "parameters": [
            {
              "docs": {
                "summary": "The branch to monitor (e.g. `main`, `v2.x`)."
              },
              "name": "branch",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Branch definition."
              },
              "name": "options",
              "type": {
                "fqn": "projen.release.BranchOptions"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds jobs to all release workflows."
          },
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 615
          },
          "name": "addJobs",
          "parameters": [
            {
              "docs": {
                "summary": "The jobs to add (name => job)."
              },
              "name": "jobs",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "projen.github.workflows.Job"
                  },
                  "kind": "map"
                }
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 598
          },
          "name": "preSynthesize",
          "overrides": "projen.Component"
        }
      ],
      "name": "Release",
      "namespace": "release",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 370
          },
          "name": "ANTI_TAMPER_CMD",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Location of build artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 390
          },
          "name": "artifactsDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Retrieve all release branch names."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 624
          },
          "name": "branches",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Package publisher."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 385
          },
          "name": "publisher",
          "type": {
            "fqn": "projen.release.Publisher"
          }
        }
      ],
      "symbolId": "src/release/release:Release"
    },
    "projen.release.ReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `Release`."
      },
      "fqn": "projen.release.ReleaseOptions",
      "interfaces": [
        "projen.release.ReleaseProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release.ts",
        "line": 294
      },
      "name": "ReleaseOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"dist\"",
            "stability": "experimental",
            "summary": "A directory which will contain build artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 346
          },
          "name": "artifactsDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use `majorVersion` to restrict this branch to only publish releases with a\nspecific major version.\n\nYou can add additional branches using `addBranch()`.",
            "stability": "experimental",
            "summary": "The default branch name to release from."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 332
          },
          "name": "branch",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "example": "\"package.json\"",
            "stability": "experimental",
            "summary": "A name of a .json file to set the `version` field in after a bump."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 322
          },
          "name": "versionFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Create a GitHub release for each release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 339
          },
          "name": "githubRelease",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "stability": "experimental",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 301
          },
          "name": "runsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "stability": "experimental",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 308
          },
          "name": "runsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Artifacts are\nexpected to reside under `artifactsDirectory` (defaults to `dist/`) once\nbuild is complete.",
            "stability": "experimental",
            "summary": "The tasks to execute in order to create the release artifacts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 315
          },
          "name": "tasks",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.Task"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"lts/*\"\"",
            "remarks": "For example `publib`, the CLI projen uses to publish releases,\nis an npm library.",
            "stability": "experimental",
            "summary": "Node version to setup in GitHub workflows if any node-based CLI utilities are needed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 355
          },
          "name": "workflowNodeVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`{ contents: JobPermission.WRITE }`",
            "stability": "experimental",
            "summary": "Permissions granted to the release workflow job."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 361
          },
          "name": "workflowPermissions",
          "optional": true,
          "type": {
            "fqn": "projen.github.workflows.JobPermissions"
          }
        }
      ],
      "symbolId": "src/release/release:ReleaseOptions"
    },
    "projen.release.ReleaseProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Project options for release."
      },
      "fqn": "projen.release.ReleaseProjectOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release.ts",
        "line": 51
      },
      "name": "ReleaseProjectOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- A recent version of \"commit-and-tag-version\"",
            "remarks": "This can be any compatible package version, including the deprecated `standard-version@9`.",
            "stability": "experimental",
            "summary": "The `commit-and-tag-version` compatible package used to bump the package version, as a dependency string."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 262
          },
          "name": "bumpPackage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- GitHub determines the latest release based on date and semantic version.",
            "remarks": "Set to `true` to mark the release as latest, or `false` to explicitly not\nmark it as latest.",
            "stability": "experimental",
            "summary": "Whether GitHub should explicitly mark the release from the default branch as the latest release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 167
          },
          "name": "githubReleaseLatest",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "stability": "experimental",
            "summary": "Version requirement of `publib` which is used to publish modules to npm."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 76
          },
          "name": "jsiiReleaseVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Major version is not enforced.",
            "remarks": "If this is specified, we bump the latest version of this major version line.\nIf not specified, we bump the global latest version.",
            "stability": "experimental",
            "summary": "Major version to release from the default branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 92
          },
          "name": "majorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- No minimum version is being enforced",
            "remarks": "This can be useful to set to 1, as breaking changes before the 1.x major\nrelease are not incrementing the major version number.\n\nCan not be set together with `majorVersion`.",
            "stability": "experimental",
            "summary": "Minimal Major version to release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 105
          },
          "name": "minMajorVersion",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The next version will be determined based on the commit history and project settings.",
            "remarks": "If present, this shell command will be run before the bump is executed, and\nit determines what version to release. It will be executed in the following\nenvironment:\n\n- Working directory: the project directory.\n- `$VERSION`: the current version. Looks like `1.2.3`.\n- `$LATEST_TAG`: the most recent tag. Looks like `prefix-v1.2.3`, or may be unset.\n- `$SUGGESTED_BUMP`: the suggested bump action based on commits. One of `major|minor|patch|none`.\n\nThe command should print one of the following to `stdout`:\n\n- Nothing: the next version number will be determined based on commit history.\n- `x.y.z`: the next version number will be `x.y.z`.\n- `major|minor|patch`: the next version number will be the current version number\n  with the indicated component bumped.\n\nThis setting cannot be specified together with `minMajorVersion`; the invoked\nscript can be used to achieve the effects of `minMajorVersion`.",
            "stability": "experimental",
            "summary": "A shell command to control the next version to release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 288
          },
          "name": "nextVersionCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "remarks": "To set the npm dist-tag for release branches, set the `npmDistTag` property\nfor each branch.",
            "stability": "experimental",
            "summary": "The npmDistTag to use when publishing from the default branch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 123
          },
          "name": "npmDistTag",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "stability": "experimental",
            "summary": "Steps to execute after build as part of the release workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 82
          },
          "name": "postBuildSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- normal semantic versions",
            "stability": "experimental",
            "summary": "Bump versions from the default branch as pre-releases (e.g. \"beta\", \"alpha\", \"pre\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 113
          },
          "name": "prerelease",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Instead of actually publishing to package managers, just print the publishing command."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 238
          },
          "name": "publishDryRun",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Normally, publishing only happens within automated workflows. Enable this\nin order to create a publishing task for each publishing activity.",
            "stability": "experimental",
            "summary": "Define publishing tasks that can be executed manually as well as workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 231
          },
          "name": "publishTasks",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ReleasableCommits.everyCommit()",
            "stability": "experimental",
            "summary": "Find commits that should be considered releasable Used to decide if a release is required."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 246
          },
          "name": "releasableCommits",
          "optional": true,
          "type": {
            "fqn": "projen.ReleasableCommits"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional branches are used for release. you can use\n`addBranch()` to add additional branches.",
            "remarks": "A workflow will be created for each\nrelease branch which will publish releases from commits in this branch.\nEach release branch _must_ be assigned a major version number which is used\nto enforce that versions published from that branch always use that major\nversion. If multiple branches are used, the `majorVersion` field must also\nbe provided for the default branch.",
            "stability": "experimental",
            "summary": "Defines additional release branches."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 156
          },
          "name": "releaseBranches",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.release.BranchOptions"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no environment used, unless set at the artifact level",
            "remarks": "This can be used to add an explicit approval step to the release\nor limit who can initiate a release through environment protection rules.\n\nWhen multiple artifacts are released, the environment can be overwritten\non a per artifact basis.",
            "stability": "experimental",
            "summary": "The GitHub Actions environment used for the release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 143
          },
          "name": "releaseEnvironment",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Create a github issue on every failed publishing task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 174
          },
          "name": "releaseFailureIssue",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"failed-release\"",
            "remarks": "Only applies if `releaseFailureIssue` is true.",
            "stability": "experimental",
            "summary": "The label to apply to issues indicating publish failures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 182
          },
          "name": "releaseFailureIssueLabel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"v\"",
            "remarks": "Note: this prefix is used to detect the latest tagged version\nwhen bumping, so if you change this on a project with an existing version\nhistory, you may need to manually tag your latest release\nwith the new prefix.",
            "stability": "experimental",
            "summary": "Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 196
          },
          "name": "releaseTagPrefix",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Continuous releases (`ReleaseTrigger.continuous()`)",
            "stability": "experimental",
            "summary": "The release trigger to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 57
          },
          "name": "releaseTrigger",
          "optional": true,
          "type": {
            "fqn": "projen.release.ReleaseTrigger"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{}",
            "stability": "experimental",
            "summary": "Build environment variables for release workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 253
          },
          "name": "releaseWorkflowEnv",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"release\"",
            "stability": "experimental",
            "summary": "The name of the default release workflow."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 130
          },
          "name": "releaseWorkflowName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "A set of workflow steps to execute in order to setup the workflow container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 63
          },
          "name": "releaseWorkflowSetupSteps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.github.workflows.JobStep"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- standard configuration applicable for GitHub repositories",
            "remarks": "Given values either append to default configuration or overwrite values in it.",
            "stability": "experimental",
            "summary": "Custom configuration used when creating changelog with commit-and-tag-version package."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 204
          },
          "name": "versionrcOptions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default image",
            "stability": "experimental",
            "summary": "Container image to use for GitHub workflows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 70
          },
          "name": "workflowContainerImage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner by labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "default": "[\"ubuntu-latest\"]",
            "deprecated": "use `githubOptions.workflowRunsOn` on the project, or `runsOn` on `ReleaseOptions`",
            "stability": "deprecated",
            "summary": "Github Runner selection labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 213
          },
          "name": "workflowRunsOn",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "description": "Defines a target Runner Group by name and/or labels",
              "throws": "{Error} if both `runsOn` and `runsOnGroup` are specified"
            },
            "deprecated": "use `githubOptions.workflowRunsOnGroup` on the project, or `runsOnGroup` on `ReleaseOptions`",
            "stability": "deprecated",
            "summary": "Github Runner Group selection options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release.ts",
            "line": 221
          },
          "name": "workflowRunsOnGroup",
          "optional": true,
          "type": {
            "fqn": "projen.GroupRunnerOptions"
          }
        }
      ],
      "symbolId": "src/release/release:ReleaseProjectOptions"
    },
    "projen.release.ReleaseTrigger": {
      "assembly": "projen",
      "docs": {
        "remarks": "This includes release\nand release artifact automation",
        "stability": "experimental",
        "summary": "Used to manage release strategies."
      },
      "fqn": "projen.release.ReleaseTrigger",
      "kind": "class",
      "locationInModule": {
        "filename": "src/release/release-trigger.ts",
        "line": 112
      },
      "methods": [
        {
          "docs": {
            "remarks": "Automated releases will occur on every commit.",
            "stability": "experimental",
            "summary": "Creates a continuous release trigger."
          },
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 175
          },
          "name": "continuous",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.ContinuousReleaseOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.release.ReleaseTrigger"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Use this option if you want totally manual releases.\n\nThis will give you a release task that, in addition to the normal\nrelease activities will trigger a `publish:git` task. This task will\nhandle project-level changelog management, release tagging, and pushing\nthese artifacts to origin.\n\nThe command used for pushing can be customised by specifying\n`gitPushCommand`. Set to an empty string to disable pushing entirely.\n\nSimply run `yarn release` to trigger a manual release.",
            "stability": "experimental",
            "summary": "Creates a manual release trigger."
          },
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 130
          },
          "name": "manual",
          "parameters": [
            {
              "docs": {
                "summary": "release options."
              },
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.ManualReleaseOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.release.ReleaseTrigger"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Automated releases will occur based on the provided cron schedule.",
            "stability": "experimental",
            "summary": "Creates a scheduled release trigger."
          },
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 150
          },
          "name": "scheduled",
          "parameters": [
            {
              "docs": {
                "summary": "release options."
              },
              "name": "options",
              "type": {
                "fqn": "projen.release.ScheduledReleaseOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.release.ReleaseTrigger"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Automated releases will occur on every new tag matching the provided patterns.",
            "stability": "experimental",
            "summary": "Creates a tag-based release trigger."
          },
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 187
          },
          "name": "tagged",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.release.TagReleaseOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.release.ReleaseTrigger"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The release can only be triggered using the GitHub UI."
          },
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 159
          },
          "name": "workflowDispatch",
          "returns": {
            "type": {
              "fqn": "projen.release.ReleaseTrigger"
            }
          },
          "static": true
        }
      ],
      "name": "ReleaseTrigger",
      "namespace": "release",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Whether or not this is a continuous release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 210
          },
          "name": "isContinuous",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "remarks": "If the `ReleaseTrigger` is a GitHub-only manual task, this will return `false`.",
            "stability": "experimental",
            "summary": "Whether or not this is a release trigger with a manual task run in a working copy."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 251
          },
          "name": "isManual",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Project-level changelog file path."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 196
          },
          "name": "changelogPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "Runs as a shell command in the `publish:git` task - where release\ncredentials are in scope - replacing the default\n`git push --follow-tags origin <branch>`. Shell syntax is interpreted, so\nkeep it a literal command.\n\nSet to an empty string to disable pushing.",
            "stability": "experimental",
            "summary": "Override git-push command used when releasing manually."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 232
          },
          "name": "gitPushCommand",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Paths for which pushes will trigger a release when `isContinuous` is `true`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 215
          },
          "name": "paths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "example": "'0 17 * * *' - every day at 5 pm",
            "remarks": "Only defined if this is a scheduled release.",
            "stability": "experimental",
            "summary": "Cron schedule for releases."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 205
          },
          "name": "schedule",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Tag patterns for which pushes will trigger a release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 220
          },
          "name": "tags",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/release/release-trigger:ReleaseTrigger"
    },
    "projen.release.ScheduledReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.release.ScheduledReleaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release-trigger.ts",
        "line": 1
      },
      "name": "ScheduledReleaseOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "example": "'0 17 * * *' - every day at 5 pm",
            "remarks": "Only defined if this is a scheduled release.",
            "stability": "experimental",
            "summary": "Cron schedule for releases."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 9
          },
          "name": "schedule",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/release/release-trigger:ScheduledReleaseOptions"
    },
    "projen.release.TagReleaseOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.release.TagReleaseOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/release/release-trigger.ts",
        "line": 49
      },
      "name": "TagReleaseOptions",
      "namespace": "release",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Tag patterns for which pushes should trigger a release."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/release/release-trigger.ts",
            "line": 53
          },
          "name": "tags",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/release/release-trigger:TagReleaseOptions"
    },
    "projen.sonarqube.SonarqubeCoverageOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.coverage.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeCoverageOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 70
      },
      "name": "SonarqubeCoverageOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no coverage exclusions",
            "remarks": "Maps to `sonar.coverage.exclusions`.",
            "stability": "experimental",
            "summary": "Comma-separated file path patterns to exclude from test coverage calculations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 79
          },
          "name": "exclusions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeCoverageOptions"
    },
    "projen.sonarqube.SonarqubeCpdOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.cpd.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeCpdOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 85
      },
      "name": "SonarqubeCpdOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no duplication exclusions",
            "remarks": "Maps to `sonar.cpd.exclusions`.",
            "stability": "experimental",
            "summary": "Comma-separated file path patterns to exclude from code duplication detection."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 94
          },
          "name": "exclusions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeCpdOptions"
    },
    "projen.sonarqube.SonarqubeFileOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "File options for the generated `sonar-project.properties` file."
      },
      "fqn": "projen.sonarqube.SonarqubeFileOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 430
      },
      "name": "SonarqubeFileOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no additional comment",
            "stability": "experimental",
            "summary": "A comment to include at the top of the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 457
          },
          "name": "comment",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether the generated file should be committed to git."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 436
          },
          "name": "committed",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- marker will be included as long as the project is not ejected",
            "stability": "experimental",
            "summary": "Adds the projen marker to the file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 450
          },
          "name": "marker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Whether the generated file should be readonly."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 443
          },
          "name": "readonly",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeFileOptions"
    },
    "projen.sonarqube.SonarqubeJavascriptOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.javascript.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeJavascriptOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 100
      },
      "name": "SonarqubeJavascriptOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no LCOV configuration",
            "stability": "experimental",
            "summary": "Options for `sonar.javascript.lcov.*`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 106
          },
          "name": "lcov",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeLcovOptions"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeJavascriptOptions"
    },
    "projen.sonarqube.SonarqubeJavascriptProperties": {
      "assembly": "projen",
      "base": "projen.sonarqube.SonarqubeProperties",
      "docs": {
        "example": "new SonarqubeJavascriptProperties(project, {\n  projectKey: 'my-org_my-js-project',\n});",
        "remarks": "Provides sensible defaults for JavaScript analysis:\n- `sonar.language` = `js`\n- `sonar.sources` = `src`\n- `sonar.tests` = `test`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- Typical exclusions for `node_modules`, `coverage`, and test files\n- `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`javascript`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A SonarQube configuration preset for JavaScript projects."
      },
      "fqn": "projen.sonarqube.SonarqubeJavascriptProperties",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/sonarqube/javascript.ts",
          "line": 36
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.sonarqube.SonarqubeJavascriptPropertiesOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sonarqube/javascript.ts",
        "line": 35
      },
      "name": "SonarqubeJavascriptProperties",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/javascript:SonarqubeJavascriptProperties"
    },
    "projen.sonarqube.SonarqubeJavascriptPropertiesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with JavaScript-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `SonarqubeJavascriptProperties`."
      },
      "fqn": "projen.sonarqube.SonarqubeJavascriptPropertiesOptions",
      "interfaces": [
        "projen.sonarqube.SonarqubePropertiesOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/javascript.ts",
        "line": 11
      },
      "name": "SonarqubeJavascriptPropertiesOptions",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/javascript:SonarqubeJavascriptPropertiesOptions"
    },
    "projen.sonarqube.SonarqubeLcovOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for lcov report paths (shared between languages)."
      },
      "fqn": "projen.sonarqube.SonarqubeLcovOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 152
      },
      "name": "SonarqubeLcovOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "remarks": "Maps to `sonar.<language>.lcov.reportPaths`.",
            "stability": "experimental",
            "summary": "Comma-separated paths to LCOV coverage report files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 160
          },
          "name": "reportPaths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeLcovOptions"
    },
    "projen.sonarqube.SonarqubeLogLevel": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Log level for SonarQube analysis."
      },
      "fqn": "projen.sonarqube.SonarqubeLogLevel",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 8
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Standard logging (default)."
          },
          "name": "INFO"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Verbose logging."
          },
          "name": "DEBUG"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Most verbose, includes plugin/library output."
          },
          "name": "TRACE"
        }
      ],
      "name": "SonarqubeLogLevel",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/sonarqube:SonarqubeLogLevel"
    },
    "projen.sonarqube.SonarqubeLogOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.log.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeLogOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 194
      },
      "name": "SonarqubeLogOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "SonarqubeLogLevel.INFO",
            "remarks": "Maps to `sonar.log.level`.",
            "stability": "experimental",
            "summary": "Controls the quantity/level of logs produced during analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 202
          },
          "name": "level",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeLogLevel"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeLogOptions"
    },
    "projen.sonarqube.SonarqubeProperties": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "example": "new SonarqubeProperties(project, {\n  projectKey: 'my-org_my-project',\n  organization: 'my-org',\n  sources: 'src',\n  tests: 'test',\n  exclusions: ['*{@literal *}/node_modules/**'],\n  coverage: { exclusions: ['*{@literal *}/test/**'] },\n  javascript: { lcov: { reportPaths: ['coverage/lcov.info'] } },\n  sourceEncoding: 'UTF-8',\n});",
        "remarks": "This component generates a `sonar-project.properties` file at the project\nroot with the specified configuration parameters. It provides typed options\nwhose structure mirrors the dot-notation property namespaces.",
        "see": "https://docs.sonarsource.com/sonarqube-cloud/analyzing-source-code/analysis-parameters/parameters-not-settable-in-ui",
        "stability": "experimental",
        "summary": "Manages the `sonar-project.properties` configuration file for SonarQube analysis."
      },
      "fqn": "projen.sonarqube.SonarqubeProperties",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/sonarqube/sonarqube.ts",
          "line": 488
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.sonarqube.SonarqubePropertiesOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 482
      },
      "name": "SonarqubeProperties",
      "namespace": "sonarqube",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The underlying properties file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 486
          },
          "name": "file",
          "type": {
            "fqn": "projen.PropertiesFile"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeProperties"
    },
    "projen.sonarqube.SonarqubePropertiesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The interface structure mirrors the `sonar.*` dot-notation used in\n`sonar-project.properties`. Nested interfaces map to nested property\nnamespaces. For example, `scm.provider` maps to `sonar.scm.provider`.",
        "stability": "experimental",
        "summary": "Options for `SonarqubeProperties`."
      },
      "fqn": "projen.sonarqube.SonarqubePropertiesOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 237
      },
      "name": "SonarqubePropertiesOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Can include up to 400 characters. Allowed characters:\nletters, digits, dash, underscore, periods, and colons.\n\nMaps to `sonar.projectKey`. This parameter is mandatory.",
            "stability": "experimental",
            "summary": "The project's unique key."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 246
          },
          "name": "projectKey",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no coverage configuration",
            "stability": "experimental",
            "summary": "Coverage-related options (`sonar.coverage.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 361
          },
          "name": "coverage",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeCoverageOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no CPD configuration",
            "stability": "experimental",
            "summary": "Duplication detection options (`sonar.cpd.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 368
          },
          "name": "cpd",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeCpdOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no exclusions",
            "remarks": "Maps to `sonar.exclusions`.",
            "stability": "experimental",
            "summary": "Comma-separated file path patterns to exclude from the analysis scope."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 320
          },
          "name": "exclusions",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no additional properties",
            "remarks": "Use this for properties not covered by the typed options.\nKeys use dot-notation (e.g., `sonar.java.binaries`).\n\nThese are applied as overrides after the typed options above, so a key\nthat is a prefix of a typed option (e.g. `\"sonar.coverage\"`) replaces\nthat entire subtree rather than merging with it.",
            "stability": "experimental",
            "summary": "Additional arbitrary properties to include in the configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 417
          },
          "name": "extraProperties",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default file options",
            "stability": "experimental",
            "summary": "Options for the generated properties file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 424
          },
          "name": "fileOptions",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeFileOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no JavaScript configuration",
            "stability": "experimental",
            "summary": "JavaScript-specific options (`sonar.javascript.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 375
          },
          "name": "javascript",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeJavascriptOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- auto-detected",
            "remarks": "Maps to `sonar.language`.",
            "stability": "experimental",
            "summary": "The language for analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 329
          },
          "name": "language",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- INFO level",
            "stability": "experimental",
            "summary": "Logging options (`sonar.log.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 396
          },
          "name": "log",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeLogOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no organization",
            "remarks": "Maps to `sonar.organization`. Mandatory for SonarQube Cloud.",
            "stability": "experimental",
            "summary": "The key of the organization to which the project belongs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 255
          },
          "name": "organization",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- uses the default profile configured on the server",
            "remarks": "Maps to `sonar.profile`.",
            "stability": "experimental",
            "summary": "The quality profile name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 338
          },
          "name": "profile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the directory from which the analysis was started",
            "remarks": "Maps to `sonar.projectBaseDir`.",
            "stability": "experimental",
            "summary": "The project's base directory when the analysis needs to take place in a directory other than the one from which it was started."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 302
          },
          "name": "projectBaseDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "remarks": "Maps to `sonar.projectName`.",
            "stability": "experimental",
            "summary": "Name of the project displayed on the web interface."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 264
          },
          "name": "projectName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "remarks": "Maps to `sonar.projectVersion`.",
            "stability": "experimental",
            "summary": "The project version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 273
          },
          "name": "projectVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- quality gate not awaited",
            "stability": "experimental",
            "summary": "Quality gate options (`sonar.qualitygate.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 403
          },
          "name": "qualitygate",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeQualityGateOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "SonarqubeRegion.EU",
            "remarks": "Maps to `sonar.region`.",
            "stability": "experimental",
            "summary": "The SonarQube Cloud instance's region."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 347
          },
          "name": "region",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeRegion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no Rust configuration",
            "stability": "experimental",
            "summary": "Rust-specific options (`sonar.rust.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 389
          },
          "name": "rust",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeRustOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no SCM configuration",
            "stability": "experimental",
            "summary": "SCM-related options (`sonar.scm.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 354
          },
          "name": "scm",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeScmOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- system encoding",
            "remarks": "Maps to `sonar.sourceEncoding`.",
            "stability": "experimental",
            "summary": "Encoding of the source files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 311
          },
          "name": "sourceEncoding",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the project base directory",
            "remarks": "Maps to `sonar.sources`.",
            "stability": "experimental",
            "summary": "Comma-separated paths to directories containing main source code (non-test code)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 283
          },
          "name": "sources",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no test code analyzed",
            "remarks": "Maps to `sonar.tests`.",
            "stability": "experimental",
            "summary": "Comma-separated paths to directories containing test code."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 292
          },
          "name": "tests",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no TypeScript configuration",
            "stability": "experimental",
            "summary": "TypeScript-specific options (`sonar.typescript.*`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 382
          },
          "name": "typescript",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeTypescriptOptions"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubePropertiesOptions"
    },
    "projen.sonarqube.SonarqubeQualityGateOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.qualitygate.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeQualityGateOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 208
      },
      "name": "SonarqubeQualityGateOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "300",
            "remarks": "Maps to `sonar.qualitygate.timeout`.",
            "stability": "experimental",
            "summary": "The number of seconds that the scanner should wait for a report to be processed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 227
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Will fail the pipeline if the quality gate fails.\n\nMaps to `sonar.qualitygate.wait`.",
            "stability": "experimental",
            "summary": "Forces the analysis step to poll the server and wait for the Quality Gate status."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 217
          },
          "name": "wait",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeQualityGateOptions"
    },
    "projen.sonarqube.SonarqubeRegion": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "SonarQube Cloud region."
      },
      "fqn": "projen.sonarqube.SonarqubeRegion",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 20
      },
      "members": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "EU instance (default)."
          },
          "name": "EU"
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "US instance."
          },
          "name": "US"
        }
      ],
      "name": "SonarqubeRegion",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/sonarqube:SonarqubeRegion"
    },
    "projen.sonarqube.SonarqubeRustClippyOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.rust.clippy.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeRustClippyOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 166
      },
      "name": "SonarqubeRustClippyOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Maps to `sonar.rust.clippy.enabled`.",
            "stability": "experimental",
            "summary": "Whether Clippy analysis is enabled."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 174
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeRustClippyOptions"
    },
    "projen.sonarqube.SonarqubeRustClippyReportOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.rust.clippyReport.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeRustClippyReportOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 180
      },
      "name": "SonarqubeRustClippyReportOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "remarks": "Maps to `sonar.rust.clippyReport.reportPaths`.",
            "stability": "experimental",
            "summary": "Paths to Clippy JSON report files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 188
          },
          "name": "reportPaths",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeRustClippyReportOptions"
    },
    "projen.sonarqube.SonarqubeRustOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.rust.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeRustOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 126
      },
      "name": "SonarqubeRustOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no clippy configuration",
            "stability": "experimental",
            "summary": "Options for `sonar.rust.clippy.*`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 139
          },
          "name": "clippy",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeRustClippyOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no clippy report configuration",
            "stability": "experimental",
            "summary": "Options for `sonar.rust.clippyReport.*`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 146
          },
          "name": "clippyReport",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeRustClippyReportOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no Rust LCOV configuration",
            "stability": "experimental",
            "summary": "Options for `sonar.rust.lcov.*`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 132
          },
          "name": "lcov",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeLcovOptions"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeRustOptions"
    },
    "projen.sonarqube.SonarqubeRustProperties": {
      "assembly": "projen",
      "base": "projen.sonarqube.SonarqubeProperties",
      "docs": {
        "example": "new SonarqubeRustProperties(project, {\n  projectKey: 'my-org_my-rust-project',\n});",
        "remarks": "Provides sensible defaults for Rust analysis:\n- `sonar.language` = `rust`\n- `sonar.sources` = `src`\n- `sonar.tests` = `tests`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- Typical exclusions for `coverage`, test, and `target` dirs\n- `sonar.rust.lcov.reportPaths` = `target/lcov.info`\n- `sonar.rust.clippy.enabled` = `false`\n- `sonar.rust.clippyReport.reportPaths` = `target/clippy.json`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`rust`) are deep-merged with the defaults, so overriding one nested field\ndoes not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A SonarQube configuration preset for Rust projects."
      },
      "fqn": "projen.sonarqube.SonarqubeRustProperties",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/sonarqube/rust.ts",
          "line": 38
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.sonarqube.SonarqubeRustPropertiesOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sonarqube/rust.ts",
        "line": 37
      },
      "name": "SonarqubeRustProperties",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/rust:SonarqubeRustProperties"
    },
    "projen.sonarqube.SonarqubeRustPropertiesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with Rust-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `SonarqubeRustProperties`."
      },
      "fqn": "projen.sonarqube.SonarqubeRustPropertiesOptions",
      "interfaces": [
        "projen.sonarqube.SonarqubePropertiesOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/rust.ts",
        "line": 11
      },
      "name": "SonarqubeRustPropertiesOptions",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/rust:SonarqubeRustPropertiesOptions"
    },
    "projen.sonarqube.SonarqubeScmExclusionsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.scm.exclusions.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeScmExclusionsOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 55
      },
      "name": "SonarqubeScmExclusionsOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Maps to `sonar.scm.exclusions.disabled`.",
            "stability": "experimental",
            "summary": "Whether to disable files ignored by the SCM (e.g., files in .gitignore) from being excluded from analysis."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 64
          },
          "name": "disabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeScmExclusionsOptions"
    },
    "projen.sonarqube.SonarqubeScmOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.scm.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeScmOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 34
      },
      "name": "SonarqubeScmOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- no exclusion overrides",
            "stability": "experimental",
            "summary": "Options for `sonar.scm.exclusions.*`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 49
          },
          "name": "exclusions",
          "optional": true,
          "type": {
            "fqn": "projen.sonarqube.SonarqubeScmExclusionsOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- auto-detected",
            "remarks": "Maps to `sonar.scm.provider`.",
            "stability": "experimental",
            "summary": "The SCM provider to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 42
          },
          "name": "provider",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeScmOptions"
    },
    "projen.sonarqube.SonarqubeTypescriptOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for `sonar.typescript.*` properties."
      },
      "fqn": "projen.sonarqube.SonarqubeTypescriptOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/sonarqube.ts",
        "line": 112
      },
      "name": "SonarqubeTypescriptOptions",
      "namespace": "sonarqube",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- not set",
            "remarks": "Maps to `sonar.typescript.tsconfigPath`.",
            "stability": "experimental",
            "summary": "Path to the TypeScript configuration file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/sonarqube/sonarqube.ts",
            "line": 120
          },
          "name": "tsconfigPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/sonarqube/sonarqube:SonarqubeTypescriptOptions"
    },
    "projen.sonarqube.SonarqubeTypescriptProperties": {
      "assembly": "projen",
      "base": "projen.sonarqube.SonarqubeProperties",
      "docs": {
        "example": "new SonarqubeTypescriptProperties(project, {\n  projectKey: 'my-org_my-ts-project',\n});",
        "remarks": "Provides sensible defaults for TypeScript analysis:\n- `sonar.language` = `ts`\n- `sonar.sources` = `src`\n- `sonar.tests` = `test`\n- `sonar.sourceEncoding` = `UTF-8`\n- `sonar.profile` = `Sonar Way`\n- `sonar.scm.provider` = `git`\n- `sonar.typescript.tsconfigPath` = `tsconfig.json`\n- Typical exclusions for `node_modules`, `coverage`, test files\n- `sonar.javascript.lcov.reportPaths` = `coverage/lcov.info`\n\nAll defaults can be overridden via options. Nested options (e.g. `coverage`,\n`javascript`) are deep-merged with the defaults, so overriding one nested\nfield does not drop the other defaults in that subtree.",
        "stability": "experimental",
        "summary": "A SonarQube configuration preset for TypeScript projects."
      },
      "fqn": "projen.sonarqube.SonarqubeTypescriptProperties",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/sonarqube/typescript.ts",
          "line": 37
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.IConstruct"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.sonarqube.SonarqubeTypescriptPropertiesOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/sonarqube/typescript.ts",
        "line": 36
      },
      "name": "SonarqubeTypescriptProperties",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/typescript:SonarqubeTypescriptProperties"
    },
    "projen.sonarqube.SonarqubeTypescriptPropertiesOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "Extends base options with TypeScript-specific defaults.",
        "stability": "experimental",
        "summary": "Options for `SonarqubeTypescriptProperties`."
      },
      "fqn": "projen.sonarqube.SonarqubeTypescriptPropertiesOptions",
      "interfaces": [
        "projen.sonarqube.SonarqubePropertiesOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/sonarqube/typescript.ts",
        "line": 11
      },
      "name": "SonarqubeTypescriptPropertiesOptions",
      "namespace": "sonarqube",
      "symbolId": "src/sonarqube/typescript:SonarqubeTypescriptPropertiesOptions"
    },
    "projen.typescript.NodeRunnerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the native Node.js TypeScript runner."
      },
      "fqn": "projen.typescript.NodeRunnerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript-runner.ts",
        "line": 64
      },
      "name": "NodeRunnerOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "deprecated": "This flag has been removed from Node.js 26. Use `transformTypes` instead.",
            "stability": "deprecated",
            "summary": "Whether to also enable `--experimental-transform-types`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 89
          },
          "name": "experimentalTransformTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Uses `amaro` (the TypeScript transformer used internally by Node.js) as an\nexternal loader via `--import=amaro/transform`. Adds a dependency on the\n`amaro` package and enables `--enable-source-maps` to preserve accurate\nstack traces.",
            "see": "https://github.com/nodejs/amaro",
            "stability": "experimental",
            "summary": "Whether to enable transformation of TypeScript-only syntax (e.g. enums, namespaces)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 102
          },
          "name": "transformTypes",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- typescript default discovery",
            "remarks": "When specified, will use this tsconfig for type-checking (if enabled).",
            "stability": "experimental",
            "summary": "Path to the tsconfig file for type-checking."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 82
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Because the native Node.js TypeScript does not type check code,\nyou may want to enable this for additional type safety.\nWhen enabled, runs `tsc --noEmit`, using the provided tsconfig.",
            "stability": "experimental",
            "summary": "Whether to type-check the entrypoint before executing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 74
          },
          "name": "typeCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/typescript-runner:NodeRunnerOptions"
    },
    "projen.typescript.Projenrc": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "remarks": "This component is used within TypeScriptProject.",
        "stability": "experimental",
        "summary": "A projenrc file written in TypeScript."
      },
      "fqn": "projen.typescript.Projenrc",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/typescript/projenrc.ts",
          "line": 57
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.typescript.TypeScriptProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.typescript.ProjenrcOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/projenrc.ts",
        "line": 49
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 125
          },
          "name": "preSynthesize",
          "overrides": "projen.ProjenrcFile"
        },
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 86
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "Projenrc",
      "namespace": "typescript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 50
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 51
          },
          "name": "tsconfig",
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        }
      ],
      "symbolId": "src/typescript/projenrc:Projenrc"
    },
    "projen.typescript.ProjenrcOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.typescript.ProjenrcOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/projenrc.ts",
        "line": 11
      },
      "name": "ProjenrcOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".projenrc.ts\"",
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 16
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"projenrc\"",
            "stability": "experimental",
            "summary": "A directory tree that may contain *.ts files that can be referenced from your projenrc typescript file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 24
          },
          "name": "projenCodeDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- the project's runner",
            "stability": "experimental",
            "summary": "The runner to use for executing TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 39
          },
          "name": "runner",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TypeScriptRunner"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "deprecated": "Use `runner: TypeScriptRunner.tsNode({ swc: true })` instead.",
            "stability": "deprecated",
            "summary": "Whether to use `SWC` for ts-node."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc.ts",
            "line": 32
          },
          "name": "swc",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/projenrc:ProjenrcOptions"
    },
    "projen.typescript.ProjenrcTs": {
      "assembly": "projen",
      "base": "projen.ProjenrcFile",
      "docs": {
        "remarks": "This component can be instantiated in any type of project\nand has no expectations around the project's main language.",
        "stability": "experimental",
        "summary": "A projenrc file written in TypeScript."
      },
      "fqn": "projen.typescript.ProjenrcTs",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/typescript/projenrc-ts.ts",
          "line": 60
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.typescript.ProjenrcTsOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/projenrc-ts.ts",
        "line": 50
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Called before synthesis."
          },
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 117
          },
          "name": "preSynthesize",
          "overrides": "projen.ProjenrcFile"
        },
        {
          "docs": {
            "remarks": "It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).\nUse it for deterministic, one-off file generation. Order across components is not guaranteed.",
            "stability": "experimental",
            "summary": "Called once, right after `synthesize()`, only when the project is created for the first time."
          },
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 100
          },
          "name": "projectCreation",
          "overrides": "projen.Component",
          "parameters": [
            {
              "name": "initProject",
              "type": {
                "fqn": "projen.InitProject"
              }
            }
          ]
        }
      ],
      "name": "ProjenrcTs",
      "namespace": "typescript",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The path of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 55
          },
          "name": "filePath",
          "overrides": "projen.ProjenrcFile",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "TypeScript configuration file used to compile projen source files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 54
          },
          "name": "tsconfig",
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        }
      ],
      "symbolId": "src/typescript/projenrc-ts:ProjenrcTs"
    },
    "projen.typescript.ProjenrcTsOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.typescript.ProjenrcTsOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/projenrc-ts.ts",
        "line": 10
      },
      "name": "ProjenrcTsOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\".projenrc.ts\"",
            "stability": "experimental",
            "summary": "The name of the projenrc file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 15
          },
          "name": "filename",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"projenrc\"",
            "stability": "experimental",
            "summary": "A directory tree that may contain *.ts files that can be referenced from your projenrc typescript file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 23
          },
          "name": "projenCodeDir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "TypeScriptRunner.tsNode()",
            "stability": "experimental",
            "summary": "The runner to use for executing TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 39
          },
          "name": "runner",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TypeScriptRunner"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"tsconfig.projen.json\"",
            "deprecated": "Use `runner` to configure the tsconfigFileName directly.",
            "stability": "deprecated",
            "summary": "The name of the tsconfig file that will be used by the runner when compiling projen source files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/projenrc-ts.ts",
            "line": 32
          },
          "name": "tsconfigFileName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/typescript/projenrc-ts:ProjenrcTsOptions"
    },
    "projen.typescript.TsJestBabelConfig": {
      "assembly": "projen",
      "docs": {
        "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options/babelConfig/",
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TsJestBabelConfig",
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 35
      },
      "methods": [
        {
          "docs": {
            "remarks": "`ts-jest` will try to find an existing Babel configuration and pass it to the `babel-jest` processor.",
            "stability": "experimental",
            "summary": "Enables Babel processing."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 48
          },
          "name": "autoDetectConfig",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestBabelConfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "see": "https://babeljs.io/docs/options",
            "stability": "experimental",
            "summary": "Inline compiler options."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 65
          },
          "name": "custom",
          "parameters": [
            {
              "name": "config",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestBabelConfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Disables the use of Babel."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 39
          },
          "name": "disabled",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestBabelConfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "The path should be relative to the current working directory where you start Jest from. You can also use `<rootDir>` in the path.",
            "stability": "experimental",
            "summary": "Path to a babelrc file."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 57
          },
          "name": "fromFile",
          "parameters": [
            {
              "name": "filePath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestBabelConfig"
            }
          },
          "static": true
        }
      ],
      "name": "TsJestBabelConfig",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript:TsJestBabelConfig"
    },
    "projen.typescript.TsJestDiagnostics": {
      "assembly": "projen",
      "docs": {
        "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options/diagnostics/",
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TsJestDiagnostics",
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 85
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Enable all diagnostics."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 89
          },
          "name": "all",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestDiagnostics"
            }
          },
          "static": true
        },
        {
          "docs": {
            "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options/diagnostics/",
            "stability": "experimental",
            "summary": "Provide a custom diagnostics configuration."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 105
          },
          "name": "custom",
          "parameters": [
            {
              "name": "config",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestDiagnostics"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Disable all diagnostics."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 96
          },
          "name": "none",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestDiagnostics"
            }
          },
          "static": true
        }
      ],
      "name": "TsJestDiagnostics",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript:TsJestDiagnostics"
    },
    "projen.typescript.TsJestOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TsJestOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 226
      },
      "name": "TsJestOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Override the default ts-jest transformer configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 238
          },
          "name": "transformOptions",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TsJestTransformOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"^.+\\\\.[t]sx?$\"",
            "see": "https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object",
            "stability": "experimental",
            "summary": "Which files should ts-jest act upon."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 234
          },
          "name": "transformPattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/typescript/typescript:TsJestOptions"
    },
    "projen.typescript.TsJestTransformOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options",
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TsJestTransformOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 172
      },
      "name": "TsJestTransformOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "auto",
            "stability": "experimental",
            "summary": "Custom TypeScript AST transformers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 178
          },
          "name": "astTransformers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "TsJestBabelConfig.disabled()",
            "stability": "experimental",
            "summary": "Babel(Jest) related configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 184
          },
          "name": "babelConfig",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TsJestBabelConfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"typescript\"",
            "stability": "experimental",
            "summary": "TypeScript module to use as compiler."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 190
          },
          "name": "compiler",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "TsJestDiagnostics.all()",
            "stability": "experimental",
            "summary": "Diagnostics related configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 196
          },
          "name": "diagnostics",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TsJestDiagnostics"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "You'll lose type-checking ability and some features such as const enum, but in the case you plan on using Jest with the cache disabled (jest --no-cache), your tests will then run much faster.",
            "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options/isolatedModules",
            "stability": "experimental",
            "summary": "Run ts-jest tests with this TSConfig isolatedModules setting."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 205
          },
          "name": "isolatedModules",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "disabled",
            "stability": "experimental",
            "summary": "Files which will become modules returning self content."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 211
          },
          "name": "stringifyContentPathRegex",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- Your project's `tsconfigDev` file.",
            "stability": "experimental",
            "summary": "TypeScript compiler related configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 217
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TsJestTsconfig"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "auto",
            "stability": "experimental",
            "summary": "Enable ESM support."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 223
          },
          "name": "useESM",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/typescript:TsJestTransformOptions"
    },
    "projen.typescript.TsJestTsconfig": {
      "assembly": "projen",
      "docs": {
        "see": "https://kulshekhar.github.io/ts-jest/docs/getting-started/options/tsconfig/",
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TsJestTsconfig",
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 123
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Uses `tsconfig.json` if found, or the built-in default TypeScript compiler options."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 127
          },
          "name": "auto",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestTsconfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Force` ts-jest` to use its built-in defaults even if there is a `tsconfig.json` in your project."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 134
          },
          "name": "builtInDefaults",
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestTsconfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "see": "TypeScriptCompilerOptions",
            "stability": "experimental",
            "summary": "Inline compiler options."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 152
          },
          "name": "custom",
          "parameters": [
            {
              "name": "config",
              "type": {
                "fqn": "projen.javascript.TypeScriptCompilerOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestTsconfig"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "The path should be relative to the current working directory where you start Jest from. You can also use `<rootDir>` in the path to start from the project root dir.",
            "stability": "experimental",
            "summary": "Path to a `tsconfig` file."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 143
          },
          "name": "fromFile",
          "parameters": [
            {
              "name": "filePath",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TsJestTsconfig"
            }
          },
          "static": true
        }
      ],
      "name": "TsJestTsconfig",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript:TsJestTsconfig"
    },
    "projen.typescript.TsNodeRunnerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the ts-node runner."
      },
      "fqn": "projen.typescript.TsNodeRunnerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript-runner.ts",
        "line": 9
      },
      "name": "TsNodeRunnerOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "This will disable type-checking.",
            "see": "https://github.com/TypeStrong/ts-node#swc",
            "stability": "experimental",
            "summary": "Whether to use SWC for transpilation."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 35
          },
          "name": "swc",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- ts-node default discovery",
            "stability": "experimental",
            "summary": "Path to the tsconfig file to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 24
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "see": "https://github.com/TypeStrong/ts-node#typecheck",
            "stability": "experimental",
            "summary": "Whether to type-check the script during executing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 17
          },
          "name": "typeCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/typescript-runner:TsNodeRunnerOptions"
    },
    "projen.typescript.TsxRunnerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for the tsx runner."
      },
      "fqn": "projen.typescript.TsxRunnerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript-runner.ts",
        "line": 41
      },
      "name": "TsxRunnerOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- tsx/typescript default discovery",
            "remarks": "When specified, will use this tsconfig for running tsx and type-checking (if enabled).",
            "stability": "experimental",
            "summary": "Path to the tsconfig file to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 58
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Because tsx does not type check code, you may want to enable this for additional type safety.\nWhen enabled, runs `tsc --noEmit`, using the provided tsconfig.",
            "stability": "experimental",
            "summary": "Whether to type-check the entrypoint before executing."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 50
          },
          "name": "typeCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/typescript-runner:TsxRunnerOptions"
    },
    "projen.typescript.TypeScriptAppProject": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptProject",
      "docs": {
        "custom": {
          "pjid": "typescript-app"
        },
        "stability": "experimental",
        "summary": "TypeScript app."
      },
      "fqn": "projen.typescript.TypeScriptAppProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/typescript/typescript.ts",
          "line": 970
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.typescript.TypeScriptProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 969
      },
      "name": "TypeScriptAppProject",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript:TypeScriptAppProject"
    },
    "projen.typescript.TypeScriptProject": {
      "assembly": "projen",
      "base": "projen.javascript.NodeProject",
      "docs": {
        "custom": {
          "pjid": "typescript"
        },
        "stability": "experimental",
        "summary": "TypeScript project."
      },
      "fqn": "projen.typescript.TypeScriptProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/typescript/typescript.ts",
          "line": 435
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.typescript.TypeScriptProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 396
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Projen default Typescript compiler options."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 713
          },
          "name": "defaultTypeScriptCompilerOptions",
          "protected": true,
          "returns": {
            "type": {
              "fqn": "projen.javascript.TypeScriptCompilerOptions"
            }
          }
        }
      ],
      "name": "TypeScriptProject",
      "namespace": "typescript",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 397
          },
          "name": "DEFAULT_TS_JEST_TRANFORM_PATTERN",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 400
          },
          "name": "docsDirectory",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which compiled .js files reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 418
          },
          "name": "libdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The TypeScript runner used for executing TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 428
          },
          "name": "runner",
          "type": {
            "fqn": "projen.typescript.TypeScriptRunner"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which the .ts sources reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 413
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which tests reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 423
          },
          "name": "testdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A typescript configuration file which covers all files (sources, tests, projen)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 408
          },
          "name": "tsconfigDev",
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The \"watch\" task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 433
          },
          "name": "watchTask",
          "type": {
            "fqn": "projen.Task"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 399
          },
          "name": "docgen",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 401
          },
          "name": "eslint",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.Eslint"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 403
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 402
          },
          "name": "tsconfigEslint",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfig"
          }
        }
      ],
      "symbolId": "src/typescript/typescript:TypeScriptProject"
    },
    "projen.typescript.TypeScriptProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.typescript.TypeScriptProjectOptions",
      "interfaces": [
        "projen.javascript.NodeProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript.ts",
        "line": 241
      },
      "name": "TypeScriptProjectOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 334
          },
          "name": "disableTsconfig",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Do not generate a development tsconfig file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 340
          },
          "name": "disableTsconfigDev",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Docgen by Typedoc."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 296
          },
          "name": "docgen",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"docs\"",
            "stability": "experimental",
            "summary": "Docs directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 303
          },
          "name": "docsDirectory",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)",
            "stability": "experimental",
            "summary": "The .d.ts file that includes the type declarations for this module."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 352
          },
          "name": "entrypointTypes",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- true, unless biome is enabled",
            "stability": "experimental",
            "summary": "Setup eslint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 273
          },
          "name": "eslint",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- opinionated default options",
            "stability": "experimental",
            "summary": "Eslint options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 279
          },
          "name": "eslintOptions",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.EslintOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"lib\"",
            "stability": "experimental",
            "summary": "Typescript  artifacts output directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 247
          },
          "name": "libdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "pjnew": "true"
            },
            "default": "false",
            "stability": "experimental",
            "summary": "Use TypeScript for your projenrc file (`.projenrc.ts`)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 360
          },
          "name": "projenrcTs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for .projenrc.ts."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 365
          },
          "name": "projenrcTsOptions",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.ProjenrcOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "TypeScriptRunner.tsNode()",
            "remarks": "This is a project-level setting that components (e.g. projenrc) will\nuse as their default runner.",
            "stability": "experimental",
            "summary": "The TypeScript runner to use for executing TypeScript files."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 375
          },
          "name": "runner",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TypeScriptRunner"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Generate one-time sample in `src/` and `test/` if there are no files there."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 346
          },
          "name": "sampleCode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"src\"",
            "stability": "experimental",
            "summary": "Typescript sources directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 254
          },
          "name": "srcdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"test\"",
            "remarks": "If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`),\nthen tests are going to be compiled into `lib/` and executed as javascript.\nIf the test directory is outside of `src`, then we configure jest to\ncompile the code in-memory.",
            "stability": "experimental",
            "summary": "Jest tests directory. Tests files should be named `xxx.test.ts`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 266
          },
          "name": "testdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default options",
            "stability": "experimental",
            "summary": "Custom TSConfig."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 309
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfigOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- use the production tsconfig options",
            "stability": "experimental",
            "summary": "Custom tsconfig options for the development tsconfig.json file (used for testing)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 315
          },
          "name": "tsconfigDev",
          "optional": true,
          "type": {
            "fqn": "projen.javascript.TypescriptConfigOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- \"{testdir}/tsconfig.json\"",
            "remarks": "By default this lives inside the test directory (e.g. `test/tsconfig.json`)\nso that the TypeScript language service resolves it as the nearest config\nfor test files.",
            "stability": "experimental",
            "summary": "The name (and path) of the development tsconfig file."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 326
          },
          "name": "tsconfigDevFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for ts-jest."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 380
          },
          "name": "tsJestOptions",
          "optional": true,
          "type": {
            "fqn": "projen.typescript.TsJestOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Adds a `tsc --noEmit` step against the development tsconfig.",
            "stability": "experimental",
            "summary": "Type-check the test suite as part of the `test` task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 389
          },
          "name": "typecheckTests",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"latest\"",
            "remarks": "NOTE: Typescript is not semantically versioned and should remain on the\nsame minor, so we recommend using a `~` dependency (e.g. `~1.2.3`).",
            "stability": "experimental",
            "summary": "TypeScript version to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript.ts",
            "line": 289
          },
          "name": "typescriptVersion",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/typescript/typescript:TypeScriptProjectOptions"
    },
    "projen.typescript.TypeScriptRunner": {
      "assembly": "projen",
      "base": "projen.ScriptRunner",
      "docs": {
        "remarks": "A runner is a {@link FutureComponent }: create it standalone (e.g. via one of\nthe static factories) and it is attached to a project by the component that\nconsumes it. Use {@link TypeScriptRunner.copy} to derive a new runner with\nadjusted options.",
        "stability": "experimental",
        "summary": "The runner used to execute TypeScript files."
      },
      "fqn": "projen.typescript.TypeScriptRunner",
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript-runner.ts",
        "line": 146
      },
      "methods": [
        {
          "docs": {
            "remarks": "Requires Node.js 22.18.0 or later.\nThe script must use ESM style imports (no directories, include file endings, etc.).\n\nNamed `nodejs` (not `node`) because a runner is a construct, and `node` is\nreserved by `constructs.Construct` for the construct's tree node.",
            "stability": "experimental",
            "summary": "Use the native Node.js TypeScript support."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 173
          },
          "name": "nodejs",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.typescript.NodeRunnerOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TypeScriptRunner"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use ts-node to execute TypeScript files."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 150
          },
          "name": "tsNode",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.typescript.TsNodeRunnerOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TypeScriptRunner"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "tsx is a fast TypeScript runtime that does not perform type-checking.\nYou may opt-in to an explicit type-checking step before the script is run.",
            "stability": "experimental",
            "summary": "Use tsx to execute TypeScript files."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 160
          },
          "name": "tsx",
          "parameters": [
            {
              "name": "options",
              "optional": true,
              "type": {
                "fqn": "projen.typescript.TsxRunnerOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TypeScriptRunner"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Produce the {@link RunScriptConfig} to run the given entrypoint with this runner."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 205
          },
          "name": "configFor",
          "overrides": "projen.ScriptRunner",
          "parameters": [
            {
              "name": "entrypoint",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.RunScriptConfig"
            }
          }
        },
        {
          "docs": {
            "remarks": "Safe to call while detached.",
            "stability": "experimental",
            "summary": "Returns a new (detached) runner of the same kind, with `overrides` merged over the current options."
          },
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 197
          },
          "name": "copy",
          "parameters": [
            {
              "name": "overrides",
              "optional": true,
              "type": {
                "fqn": "projen.typescript.TypeScriptRunnerOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "projen.typescript.TypeScriptRunner"
            }
          }
        }
      ],
      "name": "TypeScriptRunner",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript-runner:TypeScriptRunner"
    },
    "projen.typescript.TypeScriptRunnerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "This is the override type for {@link TypeScriptRunner.copy}. Runtime-specific\ncreation options (such as `swc` for ts-node) are set via the static factories\nand are preserved - but cannot be changed - by `copy`, so a copy can never\nchange the runtime of a runner.",
        "stability": "experimental",
        "summary": "The options that can be adjusted on any {@link TypeScriptRunner}, regardless of its runtime."
      },
      "fqn": "projen.typescript.TypeScriptRunnerOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/typescript/typescript-runner.ts",
        "line": 114
      },
      "name": "TypeScriptRunnerOptions",
      "namespace": "typescript",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to the tsconfig file to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 123
          },
          "name": "tsconfig",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Whether to type-check the entrypoint."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/typescript/typescript-runner.ts",
            "line": 118
          },
          "name": "typeCheck",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/typescript/typescript-runner:TypeScriptRunnerOptions"
    },
    "projen.typescript.TypedocDocgen": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Adds a simple Typescript documentation generator."
      },
      "fqn": "projen.typescript.TypedocDocgen",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/typescript/typescript-typedoc.ts",
          "line": 7
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.typescript.TypeScriptProject"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/typescript/typescript-typedoc.ts",
        "line": 6
      },
      "name": "TypedocDocgen",
      "namespace": "typescript",
      "symbolId": "src/typescript/typescript-typedoc:TypedocDocgen"
    },
    "projen.vscode.Console": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Controls where to launch the debug target Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes."
      },
      "fqn": "projen.vscode.Console",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 9
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INTERNAL_CONSOLE"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "INTEGRATED_TERMINAL"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "EXTERNAL_TERMINAL"
        }
      ],
      "name": "Console",
      "namespace": "vscode",
      "symbolId": "src/vscode/launch-config:Console"
    },
    "projen.vscode.DevContainer": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "remarks": "used by GitHub\ncodespaces.",
        "stability": "experimental",
        "summary": "A development environment running VSCode in a container;"
      },
      "fqn": "projen.vscode.DevContainer",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/vscode/devcontainer.ts",
          "line": 75
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.vscode.DevContainerOptions"
            }
          }
        ]
      },
      "interfaces": [
        "projen.vscode.IDevContainerEnvironment"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/vscode/devcontainer.ts",
        "line": 60
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Add a custom Docker image or Dockerfile for the container."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 117
          },
          "name": "addDockerImage",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "name": "image",
              "type": {
                "fqn": "projen.DevEnvironmentDockerImage"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a list of VSCode features that should be automatically installed in the container."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 158
          },
          "name": "addFeatures",
          "overrides": "projen.vscode.IDevContainerEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "featureName and version(optional default: latest)."
              },
              "name": "features",
              "type": {
                "fqn": "projen.vscode.DevContainerFeature"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds ports that should be exposed (forwarded) from the container."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 138
          },
          "name": "addPorts",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The new ports."
              },
              "name": "ports",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "Tasks will be run in sequence.",
            "stability": "experimental",
            "summary": "Adds tasks to run when the container starts."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 129
          },
          "name": "addTasks",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The new tasks."
              },
              "name": "tasks",
              "type": {
                "fqn": "projen.Task"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a list of VSCode extensions that should be automatically installed in the container."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 148
          },
          "name": "addVscodeExtensions",
          "overrides": "projen.IDevEnvironment",
          "parameters": [
            {
              "docs": {
                "summary": "The extension IDs."
              },
              "name": "extensions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "DevContainer",
      "namespace": "vscode",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Direct access to the devcontainer configuration (escape hatch)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 73
          },
          "name": "config",
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/vscode/devcontainer:DevContainer"
    },
    "projen.vscode.DevContainerFeature": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "see": "https://containers.dev/implementors/features/#devcontainer-json-properties",
        "stability": "experimental",
        "summary": "devcontainer features options."
      },
      "fqn": "projen.vscode.DevContainerFeature",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/devcontainer.ts",
        "line": 20
      },
      "name": "DevContainerFeature",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "feature name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 24
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest",
            "stability": "experimental",
            "summary": "feature version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 29
          },
          "name": "version",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/vscode/devcontainer:DevContainerFeature"
    },
    "projen.vscode.DevContainerOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "remarks": "The default docker image used for GitHub Codespaces is defined here:",
        "see": "https://github.com/microsoft/vscode-dev-containers/tree/master/containers/codespaces-linux",
        "stability": "experimental",
        "summary": "Constructor options for the DevContainer component."
      },
      "fqn": "projen.vscode.DevContainerOptions",
      "interfaces": [
        "projen.DevEnvironmentOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/devcontainer.ts",
        "line": 38
      },
      "name": "DevContainerOptions",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "An array of VSCode features that specify the features that should be installed inside the container when it is created."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 43
          },
          "name": "features",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "projen.vscode.DevContainerFeature"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/vscode/devcontainer:DevContainerOptions"
    },
    "projen.vscode.IDevContainerEnvironment": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.vscode.IDevContainerEnvironment",
      "interfaces": [
        "projen.IDevEnvironment"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/devcontainer.ts",
        "line": 46
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Adds a list of VSCode features that should be automatically installed in the container."
          },
          "locationInModule": {
            "filename": "src/vscode/devcontainer.ts",
            "line": 53
          },
          "name": "addFeatures",
          "parameters": [
            {
              "docs": {
                "summary": "featureName and version(optional default: latest)."
              },
              "name": "features",
              "type": {
                "fqn": "projen.vscode.DevContainerFeature"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "IDevContainerEnvironment",
      "namespace": "vscode",
      "symbolId": "src/vscode/devcontainer:IDevContainerEnvironment"
    },
    "projen.vscode.InternalConsoleOptions": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Controls the visibility of the VSCode Debug Console panel during a debugging session Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes."
      },
      "fqn": "projen.vscode.InternalConsoleOptions",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 19
      },
      "members": [
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "NEVER_OPEN"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "OPEN_ON_FIRST_SESSION_START"
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "name": "OPEN_ON_SESSION_START"
        }
      ],
      "name": "InternalConsoleOptions",
      "namespace": "vscode",
      "symbolId": "src/vscode/launch-config:InternalConsoleOptions"
    },
    "projen.vscode.Presentation": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "VSCode launch configuration Presentation interface \"using the order, group, and hidden attributes in the presentation object you can sort, group, and hide configurations and compounds in the Debug configuration dropdown and in the Debug quick pick.\" Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes."
      },
      "fqn": "projen.vscode.Presentation",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 32
      },
      "name": "Presentation",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 34
          },
          "name": "group",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 33
          },
          "name": "hidden",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 35
          },
          "name": "order",
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:Presentation"
    },
    "projen.vscode.ServerReadyAction": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "VSCode launch configuration ServerReadyAction interface \"if you want to open a URL in a web browser whenever the program under debugging outputs a specific message to the debug console or integrated terminal.\" Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes."
      },
      "fqn": "projen.vscode.ServerReadyAction",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 43
      },
      "name": "ServerReadyAction",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 44
          },
          "name": "action",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 45
          },
          "name": "pattern",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 46
          },
          "name": "uriFormat",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:ServerReadyAction"
    },
    "projen.vscode.VsCode": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.vscode.VsCode",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/vscode/vscode.ts",
          "line": 12
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.Project"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/vscode/vscode.ts",
        "line": 7
      },
      "name": "VsCode",
      "namespace": "vscode",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/vscode.ts",
            "line": 32
          },
          "name": "extensions",
          "type": {
            "fqn": "projen.vscode.VsCodeRecommendedExtensions"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/vscode.ts",
            "line": 16
          },
          "name": "launchConfiguration",
          "type": {
            "fqn": "projen.vscode.VsCodeLaunchConfig"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/vscode.ts",
            "line": 24
          },
          "name": "settings",
          "type": {
            "fqn": "projen.vscode.VsCodeSettings"
          }
        }
      ],
      "symbolId": "src/vscode/vscode:VsCode"
    },
    "projen.vscode.VsCodeLaunchCommandInputEntry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for a 'VsCodeLaunchCommandInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables."
      },
      "fqn": "projen.vscode.VsCodeLaunchCommandInputEntry",
      "interfaces": [
        "projen.vscode.VsCodeLaunchInputEntry"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 114
      },
      "name": "VsCodeLaunchCommandInputEntry",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 115
          },
          "name": "command",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 116
          },
          "name": "args",
          "optional": true,
          "type": {
            "primitive": "any"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchCommandInputEntry"
    },
    "projen.vscode.VsCodeLaunchConfig": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "VSCode launch configuration file (launch.json), useful for enabling in-editor debugger."
      },
      "fqn": "projen.vscode.VsCodeLaunchConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/vscode/launch-config.ts",
          "line": 143
        },
        "parameters": [
          {
            "name": "vscode",
            "type": {
              "fqn": "projen.vscode.VsCode"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 122
      },
      "methods": [
        {
          "docs": {
            "remarks": "See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.",
            "stability": "experimental",
            "summary": "Adds an input variable with type `command` to `.vscode/launch.json`."
          },
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 203
          },
          "name": "addCommandInput",
          "parameters": [
            {
              "docs": {
                "summary": "VsCodeLaunchCommandInputEntry."
              },
              "name": "cfg",
              "type": {
                "fqn": "projen.vscode.VsCodeLaunchCommandInputEntry"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a VsCodeLaunchConfigurationEntry (e.g. a node.js debugger) to `.vscode/launch.json. Each configuration entry has following mandatory fields: type, request and name. See https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes for details."
          },
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 167
          },
          "name": "addConfiguration",
          "parameters": [
            {
              "docs": {
                "summary": "VsCodeLaunchConfigurationEntry."
              },
              "name": "cfg",
              "type": {
                "fqn": "projen.vscode.VsCodeLaunchConfigurationEntry"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.",
            "stability": "experimental",
            "summary": "Adds an input variable with type `pickString` to `.vscode/launch.json`."
          },
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 190
          },
          "name": "addPickStringInput",
          "parameters": [
            {
              "docs": {
                "summary": "VsCodeLaunchPickStringInputEntry."
              },
              "name": "cfg",
              "type": {
                "fqn": "projen.vscode.VsCodeLaunchPickStringInputEntry"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "See https://code.visualstudio.com/docs/editor/variables-reference#_input-variables for details.",
            "stability": "experimental",
            "summary": "Adds an input variable with type `promptString` to `.vscode/launch.json`."
          },
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 177
          },
          "name": "addPromptStringInput",
          "parameters": [
            {
              "docs": {
                "summary": "VsCodeLaunchPromptStringInputEntry."
              },
              "name": "cfg",
              "type": {
                "fqn": "projen.vscode.VsCodeLaunchPromptStringInputEntry"
              }
            }
          ]
        }
      ],
      "name": "VsCodeLaunchConfig",
      "namespace": "vscode",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 141
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchConfig"
    },
    "projen.vscode.VsCodeLaunchConfigurationEntry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for a 'VsCodeLaunchConfigurationEntry' Source: https://code.visualstudio.com/docs/editor/debugging#_launchjson-attributes."
      },
      "fqn": "projen.vscode.VsCodeLaunchConfigurationEntry",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 53
      },
      "name": "VsCodeLaunchConfigurationEntry",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 56
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 55
          },
          "name": "request",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 54
          },
          "name": "type",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 57
          },
          "name": "args",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 78
          },
          "name": "console",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.Console"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 75
          },
          "name": "cwd",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 58
          },
          "name": "debugServer",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 79
          },
          "name": "disableOptimisticBPs",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Set value to `false` to unset an existing environment variable."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 73
          },
          "name": "env",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "primitive": "boolean"
                    }
                  ]
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 74
          },
          "name": "envFile",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 59
          },
          "name": "internalConsoleOptions",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.InternalConsoleOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 67
          },
          "name": "outFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 76
          },
          "name": "port",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 61
          },
          "name": "postDebugTask",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 62
          },
          "name": "preLaunchTask",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 63
          },
          "name": "presentation",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.Presentation"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 64
          },
          "name": "program",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 60
          },
          "name": "runtimeArgs",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 65
          },
          "name": "serverReadyAction",
          "optional": true,
          "type": {
            "fqn": "projen.vscode.ServerReadyAction"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 66
          },
          "name": "skipFiles",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 77
          },
          "name": "stopOnEntry",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 68
          },
          "name": "url",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 69
          },
          "name": "webRoot",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchConfigurationEntry"
    },
    "projen.vscode.VsCodeLaunchInputEntry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Base options for a 'VsCodeLaunchInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables."
      },
      "fqn": "projen.vscode.VsCodeLaunchInputEntry",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 86
      },
      "name": "VsCodeLaunchInputEntry",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 87
          },
          "name": "id",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchInputEntry"
    },
    "projen.vscode.VsCodeLaunchPickStringInputEntry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for a 'VsCodeLaunchPickStringInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables."
      },
      "fqn": "projen.vscode.VsCodeLaunchPickStringInputEntry",
      "interfaces": [
        "projen.vscode.VsCodeLaunchInputEntry"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 104
      },
      "name": "VsCodeLaunchPickStringInputEntry",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 105
          },
          "name": "description",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 107
          },
          "name": "options",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 106
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchPickStringInputEntry"
    },
    "projen.vscode.VsCodeLaunchPromptStringInputEntry": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for a 'VsCodeLaunchPromptStringInputEntry' Source: https://code.visualstudio.com/docs/editor/variables-reference#_input-variables."
      },
      "fqn": "projen.vscode.VsCodeLaunchPromptStringInputEntry",
      "interfaces": [
        "projen.vscode.VsCodeLaunchInputEntry"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/vscode/launch-config.ts",
        "line": 94
      },
      "name": "VsCodeLaunchPromptStringInputEntry",
      "namespace": "vscode",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 95
          },
          "name": "description",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 96
          },
          "name": "default",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/launch-config.ts",
            "line": 97
          },
          "name": "password",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/vscode/launch-config:VsCodeLaunchPromptStringInputEntry"
    },
    "projen.vscode.VsCodeRecommendedExtensions": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "VS Code Workspace recommended extensions Source: https://code.visualstudio.com/docs/editor/extension-marketplace#_workspace-recommended-extensions."
      },
      "fqn": "projen.vscode.VsCodeRecommendedExtensions",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/vscode/extensions.ts",
          "line": 28
        },
        "parameters": [
          {
            "name": "vscode",
            "type": {
              "fqn": "projen.vscode.VsCode"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/vscode/extensions.ts",
        "line": 9
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a list of VS Code extensions as recommendations for this workspace."
          },
          "locationInModule": {
            "filename": "src/vscode/extensions.ts",
            "line": 46
          },
          "name": "addRecommendations",
          "parameters": [
            {
              "docs": {
                "summary": "The extension IDs."
              },
              "name": "extensions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        },
        {
          "docs": {
            "remarks": "VS Code should not be recommend these extensions for users of this workspace.",
            "stability": "experimental",
            "summary": "Marks a list of VS Code extensions as unwanted recommendations for this workspace."
          },
          "locationInModule": {
            "filename": "src/vscode/extensions.ts",
            "line": 56
          },
          "name": "addUnwantedRecommendations",
          "parameters": [
            {
              "docs": {
                "summary": "The extension IDs."
              },
              "name": "extensions",
              "type": {
                "primitive": "string"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "VsCodeRecommendedExtensions",
      "namespace": "vscode",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/extensions.ts",
            "line": 26
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/vscode/extensions:VsCodeRecommendedExtensions"
    },
    "projen.vscode.VsCodeSettings": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental",
        "summary": "VS Code Workspace settings Source: https://code.visualstudio.com/docs/getstarted/settings#_workspace-settings."
      },
      "fqn": "projen.vscode.VsCodeSettings",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/vscode/settings.ts",
          "line": 13
        },
        "parameters": [
          {
            "name": "vscode",
            "type": {
              "fqn": "projen.vscode.VsCode"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/vscode/settings.ts",
        "line": 9
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a workspace setting."
          },
          "locationInModule": {
            "filename": "src/vscode/settings.ts",
            "line": 31
          },
          "name": "addSetting",
          "parameters": [
            {
              "docs": {
                "summary": "The setting ID."
              },
              "name": "setting",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The value of the setting."
              },
              "name": "value",
              "type": {
                "primitive": "any"
              }
            },
            {
              "docs": {
                "summary": "Scope the setting to a specific language."
              },
              "name": "language",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Adds a workspace setting."
          },
          "locationInModule": {
            "filename": "src/vscode/settings.ts",
            "line": 45
          },
          "name": "addSettings",
          "parameters": [
            {
              "docs": {
                "summary": "Array structure: [setting: string, value: any, languages?: string[]]."
              },
              "name": "settings",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any"
                  },
                  "kind": "map"
                }
              }
            },
            {
              "name": "languages",
              "optional": true,
              "type": {
                "union": {
                  "types": [
                    {
                      "primitive": "string"
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "primitive": "string"
                        },
                        "kind": "array"
                      }
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "name": "VsCodeSettings",
      "namespace": "vscode",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/vscode/settings.ts",
            "line": 11
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        }
      ],
      "symbolId": "src/vscode/settings:VsCodeSettings"
    },
    "projen.web.NextComponent": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.NextComponent",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/next.ts",
          "line": 231
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.NextComponentOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 227
      },
      "name": "NextComponent",
      "namespace": "web",
      "symbolId": "src/web/next:NextComponent"
    },
    "projen.web.NextComponentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.NextComponentOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 209
      },
      "name": "NextComponentOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "see": "https://tailwindcss.com/docs/installation",
            "stability": "experimental",
            "summary": "Setup Tailwind as a PostCSS plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 224
          },
          "name": "tailwind",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to apply options specific for TypeScript Next.js projects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 215
          },
          "name": "typescript",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/web/next:NextComponentOptions"
    },
    "projen.web.NextJsCommonProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.NextJsCommonProjectOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 14
      },
      "name": "NextJsCommonProjectOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"public\"",
            "stability": "experimental",
            "summary": "Assets directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 20
          },
          "name": "assetsdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "featured": "true"
            },
            "default": "true",
            "see": "https://tailwindcss.com/docs/installation",
            "stability": "experimental",
            "summary": "Setup Tailwind CSS as a PostCSS plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 30
          },
          "name": "tailwind",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/web/next:NextJsCommonProjectOptions"
    },
    "projen.web.NextJsProject": {
      "assembly": "projen",
      "base": "projen.javascript.NodeProject",
      "docs": {
        "custom": {
          "pjid": "nextjs"
        },
        "stability": "experimental",
        "summary": "Next.js project using JavaScript."
      },
      "fqn": "projen.web.NextJsProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/next.ts",
          "line": 77
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.NextJsProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 59
      },
      "name": "NextJsProject",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which app assets reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 68
          },
          "name": "assetsdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which source files reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 63
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "see": "https://tailwindcss.com/docs/installation",
            "stability": "experimental",
            "summary": "Setup Tailwind as a PostCSS plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 75
          },
          "name": "tailwind",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/web/next:NextJsProject"
    },
    "projen.web.NextJsProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.NextJsProjectOptions",
      "interfaces": [
        "projen.web.NextJsCommonProjectOptions",
        "projen.javascript.NodeProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 36
      },
      "name": "NextJsProjectOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Generate one-time sample in `pages/` and `public/` if there are no files there."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 49
          },
          "name": "sampleCode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"src\"",
            "stability": "experimental",
            "summary": "Typescript sources directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 43
          },
          "name": "srcdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/next:NextJsProjectOptions"
    },
    "projen.web.NextJsTypeScriptProject": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptAppProject",
      "docs": {
        "custom": {
          "pjid": "nextjs-ts"
        },
        "stability": "experimental",
        "summary": "Next.js project using TypeScript."
      },
      "fqn": "projen.web.NextJsTypeScriptProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/next.ts",
          "line": 126
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.NextJsTypeScriptProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 108
      },
      "name": "NextJsTypeScriptProject",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which app assets reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 117
          },
          "name": "assetsdir",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which source files reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 112
          },
          "name": "srcdir",
          "overrides": "projen.typescript.TypeScriptProject",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "see": "https://tailwindcss.com/docs/installation",
            "stability": "experimental",
            "summary": "Setup Tailwind as a PostCSS plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/next.ts",
            "line": 124
          },
          "name": "tailwind",
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/web/next:NextJsTypeScriptProject"
    },
    "projen.web.NextJsTypeScriptProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.NextJsTypeScriptProjectOptions",
      "interfaces": [
        "projen.web.NextJsCommonProjectOptions",
        "projen.typescript.TypeScriptProjectOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/next.ts",
        "line": 33
      },
      "name": "NextJsTypeScriptProjectOptions",
      "namespace": "web",
      "symbolId": "src/web/next:NextJsTypeScriptProjectOptions"
    },
    "projen.web.PostCss": {
      "assembly": "projen",
      "docs": {
        "stability": "experimental",
        "summary": "Declares a PostCSS dependency with a default config file."
      },
      "fqn": "projen.web.PostCss",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/postcss.ts",
          "line": 33
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.web.PostCssOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/postcss.ts",
        "line": 28
      },
      "name": "PostCss",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 30
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 29
          },
          "name": "fileName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 31
          },
          "name": "tailwind",
          "optional": true,
          "type": {
            "fqn": "projen.web.TailwindConfig"
          }
        }
      ],
      "symbolId": "src/web/postcss:PostCss"
    },
    "projen.web.PostCssOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.PostCssOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/postcss.ts",
        "line": 6
      },
      "name": "PostCssOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"postcss.config.json\"",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 10
          },
          "name": "fileName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Install Tailwind CSS as a PostCSS plugin."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 17
          },
          "name": "tailwind",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Tailwind CSS options."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/postcss.ts",
            "line": 22
          },
          "name": "tailwindOptions",
          "optional": true,
          "type": {
            "fqn": "projen.web.TailwindConfigOptions"
          }
        }
      ],
      "symbolId": "src/web/postcss:PostCssOptions"
    },
    "projen.web.ReactComponent": {
      "assembly": "projen",
      "base": "projen.Component",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.ReactComponent",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/react.ts",
          "line": 198
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.ReactComponentOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 195
      },
      "name": "ReactComponent",
      "namespace": "web",
      "symbolId": "src/web/react:ReactComponent"
    },
    "projen.web.ReactComponentOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.ReactComponentOptions",
      "interfaces": [
        "projen.web.ReactRewireOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 186
      },
      "name": "ReactComponentOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Whether to apply options specific for TypeScript React projects."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 192
          },
          "name": "typescript",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/web/react:ReactComponentOptions"
    },
    "projen.web.ReactProject": {
      "assembly": "projen",
      "base": "projen.javascript.NodeProject",
      "docs": {
        "custom": {
          "pjid": "react"
        },
        "stability": "experimental",
        "summary": "React project using JavaScript."
      },
      "fqn": "projen.web.ReactProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/react.ts",
          "line": 81
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.ReactProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 74
      },
      "name": "ReactProject",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "default": "\"src\"",
            "stability": "experimental",
            "summary": "The directory in which source files reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 79
          },
          "name": "srcdir",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/react:ReactProject"
    },
    "projen.web.ReactProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.ReactProjectOptions",
      "interfaces": [
        "projen.javascript.NodeProjectOptions",
        "projen.web.ReactRewireOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 54
      },
      "name": "ReactProjectOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Generate one-time sample in `src/` and `public/` if there are no files there."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 66
          },
          "name": "sampleCode",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"src\"",
            "stability": "experimental",
            "summary": "Source directory."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 61
          },
          "name": "srcdir",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/react:ReactProjectOptions"
    },
    "projen.web.ReactRewireOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.ReactRewireOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 15
      },
      "name": "ReactRewireOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- No rewired config.",
            "remarks": "Use this property to override webpack configuration properties provided\nby create-react-app, without needing to eject.\n\nThis property will create a `config-overrides.js` file in your root directory,\nwhich will contain the desired rewiring code.\n\nTo **override** the configuration, you can provide simple key value pairs.\nKeys take the form of js code directives that traverse to the desired property.\nValues should be JSON serializable objects.\n\nFor example, the following config:\n\n```json\nrewire: { \"module.unknownContextCritical\": false }\n```\n\nWill translate to the following `config-overrides.js` file:\n\n```js\nmodule.exports = function override(config, env) {\n  config.module.unknownContextCritical = false;\n}\n```",
            "see": "https://github.com/timarney/react-app-rewired",
            "stability": "experimental",
            "summary": "Rewire webpack configuration."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 48
          },
          "name": "rewire",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        }
      ],
      "symbolId": "src/web/react:ReactRewireOptions"
    },
    "projen.web.ReactTypeScriptProject": {
      "assembly": "projen",
      "base": "projen.typescript.TypeScriptAppProject",
      "docs": {
        "custom": {
          "pjid": "react-ts"
        },
        "stability": "experimental",
        "summary": "React project using TypeScript."
      },
      "fqn": "projen.web.ReactTypeScriptProject",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/react.ts",
          "line": 115
        },
        "parameters": [
          {
            "name": "options",
            "type": {
              "fqn": "projen.web.ReactTypeScriptProjectOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 109
      },
      "name": "ReactTypeScriptProject",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The directory in which source files reside."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/react.ts",
            "line": 113
          },
          "name": "srcdir",
          "overrides": "projen.typescript.TypeScriptProject",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/react:ReactTypeScriptProject"
    },
    "projen.web.ReactTypeScriptProjectOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.ReactTypeScriptProjectOptions",
      "interfaces": [
        "projen.typescript.TypeScriptProjectOptions",
        "projen.web.ReactRewireOptions"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/react.ts",
        "line": 51
      },
      "name": "ReactTypeScriptProjectOptions",
      "namespace": "web",
      "symbolId": "src/web/react:ReactTypeScriptProjectOptions"
    },
    "projen.web.TailwindConfig": {
      "assembly": "projen",
      "docs": {
        "remarks": "There are multiple ways to add Tailwind CSS in your node project - see:\nhttps://tailwindcss.com/docs/installation",
        "see": "PostCss",
        "stability": "experimental",
        "summary": "Declares a Tailwind CSS configuration file."
      },
      "fqn": "projen.web.TailwindConfig",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/web/tailwind.ts",
          "line": 23
        },
        "parameters": [
          {
            "name": "project",
            "type": {
              "fqn": "projen.javascript.NodeProject"
            }
          },
          {
            "name": "options",
            "optional": true,
            "type": {
              "fqn": "projen.web.TailwindConfigOptions"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/web/tailwind.ts",
        "line": 19
      },
      "name": "TailwindConfig",
      "namespace": "web",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/tailwind.ts",
            "line": 21
          },
          "name": "file",
          "type": {
            "fqn": "projen.JsonFile"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/tailwind.ts",
            "line": 20
          },
          "name": "fileName",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/tailwind:TailwindConfig"
    },
    "projen.web.TailwindConfigOptions": {
      "assembly": "projen",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "projen.web.TailwindConfigOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/web/tailwind.ts",
        "line": 4
      },
      "name": "TailwindConfigOptions",
      "namespace": "web",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"tailwind.config.json\"",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/web/tailwind.ts",
            "line": 8
          },
          "name": "fileName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/web/tailwind:TailwindConfigOptions"
    }
  },
  "usedFeatures": [
    "class-covariant-overrides"
  ],
  "version": "0.103.12",
  "fingerprint": "umvlno0C4Pu+npeyI8eYa9HLKLT9jUB7eG0FSH9Z1Mo="
}