{ "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.14 (build 44649f3)", "keywords": [ "cdk", "cicd", "generator", "management", "project", "scaffolding" ], "license": "Apache-2.0", "metadata": { "jsii": { "pacmak": { "hasDefaultInterfaces": true } }, "tscOutDir": "lib", "tscRootDir": "src" }, "name": "projen", "readme": { "markdown": "

\n \n \n

projen

\n \n

\n\n

\n Define and maintain complex project configuration through code.\n

\n\n

\n Documentation ·\n Changelog ·\n Project types ·\n Join the community\n

\n\n

\n \"Apache\n \"Gitpod\n \"Release\n \"Commit\n

\n\n
\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 `)\n\n\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\n\n**External:** (run `pnpm dlx projen new --from `)\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 .\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": 27 }, "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": 19 }, "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@ `", "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@13\"", "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.ActionRefs": { "assembly": "projen", "docs": { "remarks": "Use these when authoring workflow steps, so that every step references a\nreviewed action version.", "stability": "experimental", "summary": "Fully qualified references (`owner/repo@ref`) for GitHub Actions." }, "fqn": "projen.github.ActionRefs", "kind": "class", "locationInModule": { "filename": "src/github/actions.const.ts", "line": 9 }, "name": "ActionRefs", "namespace": "github", "properties": [ { "const": true, "docs": { "stability": "experimental", "summary": "actions/checkout at v7.0.1." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 11 }, "name": "ACTIONS_CHECKOUT", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/create-github-app-token at v3.2.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 13 }, "name": "ACTIONS_CREATE_GITHUB_APP_TOKEN", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/dependency-review-action at v5.0.0." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 15 }, "name": "ACTIONS_DEPENDENCY_REVIEW_ACTION", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/download-artifact at v8.0.1." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 17 }, "name": "ACTIONS_DOWNLOAD_ARTIFACT", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/github-script at v9.0.0." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 19 }, "name": "ACTIONS_GITHUB_SCRIPT", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/setup-dotnet at v6.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 21 }, "name": "ACTIONS_SETUP_DOTNET", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/setup-go at v7.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 23 }, "name": "ACTIONS_SETUP_GO", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/setup-java at v6.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 25 }, "name": "ACTIONS_SETUP_JAVA", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/setup-node at v7.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 27 }, "name": "ACTIONS_SETUP_NODE", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/setup-python at v7.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 29 }, "name": "ACTIONS_SETUP_PYTHON", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/stale at v11.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 31 }, "name": "ACTIONS_STALE", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "actions/upload-artifact at v7.0.1." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 33 }, "name": "ACTIONS_UPLOAD_ARTIFACT", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "amannn/action-semantic-pull-request at v6.1.1." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 35 }, "name": "AMANNN_ACTION_SEMANTIC_PULL_REQUEST", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "aws-actions/configure-aws-credentials at v6.2.3 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 37 }, "name": "AWS_ACTIONS_CONFIGURE_AWS_CREDENTIALS", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "codecov/codecov-action at v7.0.0 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 39 }, "name": "CODECOV_CODECOV_ACTION", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "oven-sh/setup-bun at v2.2.0." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 41 }, "name": "OVEN_SH_SETUP_BUN", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "peter-evans/create-pull-request at v8.1.1 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 43 }, "name": "PETER_EVANS_CREATE_PULL_REQUEST", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "pnpm/action-setup at v6.0.10 (immutable)." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 45 }, "name": "PNPM_ACTION_SETUP", "static": true, "type": { "primitive": "string" } }, { "const": true, "docs": { "stability": "experimental", "summary": "sqren/backport-github-action at v12.0.4." }, "immutable": true, "locationInModule": { "filename": "src/github/actions.const.ts", "line": 47 }, "name": "SQREN_BACKPORT_GITHUB_ACTION", "static": true, "type": { "primitive": "string" } } ], "symbolId": "src/github/actions.const:ActionRefs" }, "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`:`.", "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..outputs. }}`.", "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 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 `/@`." }, "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 `/@`." }, "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: `/@`\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: `/@`\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 `/@` 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 `/@`." }, "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 `/@`." }, "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": 526 }, "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": 544 }, "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": 561 }, "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": 550 }, "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": 581 }, "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": 572 }, "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.Destination": { "assembly": "projen", "docs": { "see": "https://nodejs.org/api/test.html#test-reporters", "stability": "experimental", "summary": "Where a reporter's output is written." }, "fqn": "projen.javascript.Destination", "kind": "class", "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 101 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Write to a file at the given path." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 116 }, "name": "file", "parameters": [ { "docs": { "summary": "path of the file to write to." }, "name": "path", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "projen.javascript.Destination" } }, "static": true } ], "name": "Destination", "namespace": "javascript", "properties": [ { "const": true, "docs": { "stability": "experimental", "summary": "Write to standard error." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 110 }, "name": "STDERR", "static": true, "type": { "fqn": "projen.javascript.Destination" } }, { "const": true, "docs": { "stability": "experimental", "summary": "Write to standard output." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 105 }, "name": "STDOUT", "static": true, "type": { "fqn": "projen.javascript.Destination" } }, { "docs": { "stability": "experimental", "summary": "The underlying value: `\"stdout\"`, `\"stderr\"`, or a file path." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 124 }, "name": "value", "type": { "primitive": "string" } } ], "symbolId": "src/javascript/node-native-test-runner:Destination" }, "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": 470 }, "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": 474 }, "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": 488 }, "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": 481 }, "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": 496 }, "name": "DevEngines", "namespace": "javascript", "properties": [ { "abstract": true, "docs": { "stability": "experimental", "summary": "Supported CPU architectures." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 505 }, "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": 510 }, "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": 500 }, "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": 520 }, "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": 515 }, "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 `@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": 2434 }, "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": 2446 }, "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": 2448 }, "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": 2454 }, "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": 2460 }, "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/\"", "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 string token to include\nthe path to your project's root directory. Example: [\"/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": "- [\"\"]", "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": 65 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "options", "type": { "fqn": "projen.javascript.LicenseCheckerOptions" } } ] }, "kind": "class", "locationInModule": { "filename": "src/javascript/license-checker.ts", "line": 62 }, "name": "LicenseChecker", "namespace": "javascript", "properties": [ { "docs": { "stability": "experimental" }, "immutable": true, "locationInModule": { "filename": "src/javascript/license-checker.ts", "line": 63 }, "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", "remarks": "Private packages are local to the repository and not published, so their\nlicenses typically don't need to be checked. This also applies to the project\nitself.", "stability": "experimental", "summary": "Exclude packages marked as private from the check." }, "immutable": true, "locationInModule": { "filename": "src/javascript/license-checker.ts", "line": 49 }, "name": "excludePrivatePackages", "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": 56 }, "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": 49 }, "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": 28 }, "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": 33 }, "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": 42 }, "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": 47 }, "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": 13 }, "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": 19 }, "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.NodeNativeTestRunner": { "assembly": "projen", "base": "projen.Component", "docs": { "remarks": "Owns the generated Node.js configuration file, the \"test\", \"test:update\"\nand \"test:watch\" tasks, and the reporters and test match patterns they use.", "stability": "experimental", "summary": "Configures Node's built-in test runner (`node --test`)." }, "fqn": "projen.javascript.NodeNativeTestRunner", "initializer": { "docs": { "stability": "experimental" }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 383 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.IConstruct" } }, { "name": "options", "optional": true, "type": { "fqn": "projen.javascript.NodeNativeTestRunnerOptions" } } ] }, "kind": "class", "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 355 }, "methods": [ { "docs": { "stability": "experimental", "summary": "Returns the singleton NodeNativeTestRunner component of a project or undefined if there is none." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 360 }, "name": "of", "parameters": [ { "name": "project", "type": { "fqn": "projen.Project" } } ], "returns": { "optional": true, "type": { "fqn": "projen.javascript.NodeNativeTestRunner" } }, "static": true }, { "docs": { "default": "Destination.STDOUT", "stability": "experimental", "summary": "Adds a reporter, or updates its destination if one with the same name is already configured." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 560 }, "name": "addReporter", "parameters": [ { "docs": { "summary": "The name/kind of the reporter, e.g. `spec`, `junit`, `lcov`." }, "name": "name", "type": { "primitive": "string" } }, { "docs": { "summary": "Where the reporter's output is written." }, "name": "destination", "optional": true, "type": { "fqn": "projen.javascript.Destination" } } ] }, { "docs": { "stability": "experimental", "summary": "Adds a test match pattern." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 541 }, "name": "addTestMatch", "parameters": [ { "docs": { "summary": "glob pattern to match for tests." }, "name": "pattern", "type": { "primitive": "string" } } ] }, { "docs": { "stability": "experimental", "summary": "Lists the configured reporters, in the order they were added." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 575 }, "name": "listReporters", "returns": { "type": { "collection": { "elementtype": { "fqn": "projen.javascript.NodeReporter" }, "kind": "array" } } } }, { "docs": { "stability": "experimental", "summary": "Removes a reporter, if configured." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 568 }, "name": "removeReporter", "parameters": [ { "docs": { "summary": "The name/kind of the reporter to remove." }, "name": "name", "type": { "primitive": "string" } } ] }, { "docs": { "stability": "experimental", "summary": "Removes a test match pattern, if configured." }, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 549 }, "name": "removeTestMatch", "parameters": [ { "docs": { "summary": "glob pattern to remove." }, "name": "pattern", "type": { "primitive": "string" } } ] } ], "name": "NodeNativeTestRunner", "namespace": "javascript", "properties": [ { "docs": { "stability": "experimental", "summary": "The generated Node.js configuration file." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 377 }, "name": "configFile", "type": { "fqn": "projen.javascript.NodeConfigFile" } }, { "docs": { "stability": "experimental" }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 366 }, "name": "project", "overrides": "projen.Component", "type": { "fqn": "projen.javascript.NodeProject" } } ], "symbolId": "src/javascript/node-native-test-runner:NodeNativeTestRunner" }, "projen.javascript.NodeNativeTestRunnerOptions": { "assembly": "projen", "datatype": true, "docs": { "stability": "experimental", "summary": "Options for Node.js' built-in test runner (`node --test`)." }, "fqn": "projen.javascript.NodeNativeTestRunnerOptions", "kind": "interface", "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 220 }, "name": "NodeNativeTestRunnerOptions", "namespace": "javascript", "properties": [ { "abstract": true, "docs": { "default": "true", "stability": "experimental", "summary": "Indicates whether the coverage information should be collected while executing the test, via `--experimental-test-coverage`." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 291 }, "name": "collectCoverage", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "\"node.config.json\"", "stability": "experimental", "summary": "Path to the JSON configuration file for the test runner." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 275 }, "name": "configFilePath", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "\"coverage\"", "stability": "experimental", "summary": "The directory where coverage files are output, if coverage collection is enabled." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 227 }, "name": "coverageDirectory", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "[\"**\\/test/**\", \"**\\/__tests__/**\"]", "remarks": "If a file path matches any of the\npatterns, coverage information will be skipped for it.", "stability": "experimental", "summary": "An array of glob patterns that are matched against all file paths before executing coverage collection." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 300 }, "name": "coveragePathIgnorePatterns", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- no extra options", "remarks": "Each element is passed as a single argument, exactly as given: no shell\nparses these, so a flag and its value need separate elements\n(`[\"--foo\", \"bar\"]`, not `[\"--foo bar\"]`).", "stability": "experimental", "summary": "Additional options to pass to the `node --test` CLI invocation." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 247 }, "name": "extraCliOptions", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- undefined", "remarks": "Written as `test-global-setup` in the generated Node.js configuration\nfile.", "stability": "experimental", "summary": "This option allows the use of a custom global setup module which exports a function that is triggered once before all test suites." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 310 }, "name": "globalSetup", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "false", "stability": "experimental", "summary": "Enable module mocking support via `--experimental-test-module-mocks`." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 317 }, "name": "moduleMocks", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- no additional node options", "stability": "experimental", "summary": "Additional entries for the `nodeOptions` section of the generated configuration file (e.g. `enableSourceMaps`, `disableWarning`)." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 338 }, "name": "nodeOptions", "optional": true, "type": { "fqn": "projen.javascript.NodeConfigSchemaNodeOptions" } }, { "abstract": true, "docs": { "default": "true", "stability": "experimental", "summary": "Preserve the default reporters (`spec`, `lcov`, `junit`) when additional reporters are added." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 255 }, "name": "preserveDefaultReporters", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "- no additional reporters", "remarks": "These are added on top of the default reporters (`spec`, `lcov`, `junit`),\nwhich are controlled via `collectCoverage`. Use\n`NodeNativeTestRunner.addReporter`/`removeReporter`/`listReporters` to\nmanage reporters after construction.", "stability": "experimental", "summary": "Additional reporters to configure (e.g. `{ name: \"tap\", destination: Destination.file(\"test-reports/tap.txt\") }`)." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 268 }, "name": "reporters", "optional": true, "type": { "collection": { "elementtype": { "fqn": "projen.javascript.NodeReporter" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- no additional options", "stability": "experimental", "summary": "Additional entries for the `test` section of the generated configuration file (e.g. `testConcurrency`, `testTimeout`)." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 346 }, "name": "testConfig", "optional": true, "type": { "fqn": "projen.javascript.NodeConfigSchemaTest" } }, { "abstract": true, "docs": { "default": "- combines Node.js' own default test file discovery with Jest conventions", "remarks": "By default it\ncombines Node.js' own default test file discovery with Jest conventions.", "stability": "experimental", "summary": "Glob patterns matching the files that contain tests." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 283 }, "name": "testMatch", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "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/javascript/node-native-test-runner.ts", "line": 330 }, "name": "transformTypes", "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/node-native-test-runner.ts", "line": 236 }, "name": "updateSnapshot", "optional": true, "type": { "fqn": "projen.javascript.NodeTestUpdateSnapshot" } } ], "symbolId": "src/javascript/node-native-test-runner:NodeNativeTestRunnerOptions" }, "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": 778 }, "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": 604 }, "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": 611 }, "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": 1108 }, "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": 1128 }, "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": 1066 }, "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": 1006 }, "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": 1021 }, "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": 1083 }, "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": 1161 }, "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": 1091 }, "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": 1181 }, "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": 1040 }, "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": 1169 }, "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": 2180 }, "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": 1237 }, "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": 1122 }, "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": 1149 }, "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": 1140 }, "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": 1232 }, "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": 1216 }, "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": 629 }, "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": 624 }, "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": 1312 }, "name": "execCommand", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The package.json file." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 765 }, "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": 1201 }, "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": 755 }, "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": 1192 }, "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": 750 }, "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": 745 }, "name": "lockFile", "type": { "primitive": "string" } }, { "docs": { "deprecated": "use `addField(x, y)`", "stability": "deprecated" }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 639 }, "name": "manifest", "type": { "primitive": "any" } }, { "docs": { "stability": "experimental", "summary": "npm package access level." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 735 }, "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": 740 }, "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": 710 }, "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": 705 }, "name": "npmRegistryUrl", "type": { "primitive": "string" } }, { "docs": { "stability": "experimental", "summary": "The package manager to use." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 634 }, "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": 619 }, "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": 671 }, "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": 723 }, "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": 760 }, "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": 700 }, "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": 653 }, "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": 646 }, "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": 715 }, "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": 660 }, "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": 730 }, "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": 682 }, "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": 2312 }, "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": 419 }, "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..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": 464 }, "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": 229 }, "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": 224 }, "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": 239 }, "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": 234 }, "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": 177 }, "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": 169 }, "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": 331 }, "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": 326 }, "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": 296 }, "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": 379 }, "name": "codeArtifactOptions", "optional": true, "type": { "fqn": "projen.javascript.CodeArtifactOptions" } }, { "abstract": true, "docs": { "default": "- no package configuration", "remarks": "Values should be JSON-serializable.", "see": "https://docs.npmjs.com/cli/v11/configuring-npm/package-json#config", "stability": "experimental", "summary": "Configuration values available to package scripts at runtime." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-package.ts", "line": 151 }, "name": "config", "optional": true, "type": { "collection": { "elementtype": { "primitive": "any" }, "kind": "map" } } }, { "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": 207 }, "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": 430 }, "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": 411 }, "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": 160 }, "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": 244 }, "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": 305 }, "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": 312 }, "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": 282 }, "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": 268 }, "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": 340 }, "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": 354 }, "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": 321 }, "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": 361 }, "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": 371 }, "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": 185 }, "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": 400 }, "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": 289 }, "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": 213 }, "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": 219 }, "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": 386 }, "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": 249 }, "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": 393 }, "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.NodeReporter": { "assembly": "projen", "datatype": true, "docs": { "see": "https://nodejs.org/api/test.html#test-reporters", "stability": "experimental", "summary": "A single reporter/destination pair for the Node.js native test runner." }, "fqn": "projen.javascript.NodeReporter", "kind": "interface", "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 133 }, "name": "NodeReporter", "namespace": "javascript", "properties": [ { "abstract": true, "docs": { "default": "Destination.STDOUT", "see": "https://github.com/nodejs/node/blob/4215cc35e25c44f9f4fea5a4541afc862db7ef0a/test/parallel/test-runner-reporters.js#L46-L77", "stability": "experimental", "summary": "Where the reporter's output is written." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 144 }, "name": "destination", "type": { "fqn": "projen.javascript.Destination" } }, { "abstract": true, "docs": { "stability": "experimental", "summary": "The name/kind of the reporter." }, "immutable": true, "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 137 }, "name": "name", "type": { "primitive": "string" } } ], "symbolId": "src/javascript/node-native-test-runner:NodeReporter" }, "projen.javascript.NodeTestUpdateSnapshot": { "assembly": "projen", "docs": { "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." }, "fqn": "projen.javascript.NodeTestUpdateSnapshot", "kind": "enum", "locationInModule": { "filename": "src/javascript/node-native-test-runner.ts", "line": 52 }, "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": "NodeTestUpdateSnapshot", "namespace": "javascript", "symbolId": "src/javascript/node-native-test-runner:NodeTestUpdateSnapshot" }, "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": 2356 }, "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": 2301 }, "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": 2306 }, "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": 2416 }, "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": 2422 }, "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": 1108 }, "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": 1129 }, "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": 558 }, "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": 1115 }, "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": 418 }, "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": 876 }, "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": 425 }, "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": 432 }, "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": 671 }, "name": "childConcurrency", "optional": true, "type": { "primitive": "number" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#ci" }, "remarks": "Added in pnpm v10.12.1.", "stability": "experimental", "summary": "Explicitly tells pnpm whether the current environment is a Continuous Integration system, overriding pnpm's automatic CI detection." }, "immutable": true, "locationInModule": { "filename": "src/javascript/pnpm-workspace-config.ts", "line": 897 }, "name": "ci", "optional": true, "type": { "primitive": "boolean" } }, { "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": 586 }, "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": 946 }, "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": 953 }, "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": 565 }, "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": 1136 }, "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": 939 }, "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": 799 }, "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": 320 }, "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": 974 }, "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": 362 }, "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": 1030 }, "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": 622 }, "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": 932 }, "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": 820 }, "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": 551 }, "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": 509 }, "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": 516 }, "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": 530 }, "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": 523 }, "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": 537 }, "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": 544 }, "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": 827 }, "name": "forceLegacyDeploy", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#frozenStore" }, "remarks": "When enabled, pnpm opens the store's SQLite database in immutable mode and never writes to the store. Works best together with --offline and --frozen-lockfile; incompatible with --force. Added in pnpm v11.7.0.", "stability": "experimental", "summary": "Makes pnpm install work against a read-only package store (such as a Nix store or OCI image layer)." }, "immutable": true, "locationInModule": { "filename": "src/javascript/pnpm-workspace-config.ts", "line": 348 }, "name": "frozenStore", "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": 390 }, "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": 967 }, "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": 446 }, "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": 855 }, "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": 848 }, "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": 1009 }, "name": "globalPnpmfile", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#globalShims" }, "remarks": "A boolean disables (false) or resets to the defaults (true), while an object maps package names to a policy: \"auto\" (or true) to switch automatically when publisher-authenticated, \"prompt\" to confirm on each use, \"always\" to switch unconditionally, or false to disable. Object entries merge with the built-in defaults ({\"node\": \"auto\", \"deno\": \"auto\", \"bun\": \"auto\"}). Added in pnpm v12.0.0-rc.2.", "stability": "experimental", "summary": "Controls which globally installed packages get project-aware shims, which are global commands that run the version specified by the current project instead of the globally installed one." }, "immutable": true, "locationInModule": { "filename": "src/javascript/pnpm-workspace-config.ts", "line": 862 }, "name": "globalShims", "optional": true, "type": { "primitive": "any" } }, { "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": 1206 }, "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 /node_modules/.pnpm/node_modules or to /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": 460 }, "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": 453 }, "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": 911 }, "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": 664 }, "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": 1016 }, "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": 657 }, "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": 785 }, "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": 792 }, "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": 778 }, "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": 743 }, "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": 439 }, "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": 736 }, "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": 474 }, "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": 369 }, "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": 383 }, "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": 593 }, "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": 650 }, "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": 481 }, "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": 397 }, "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": 1058 }, "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": 1065 }, "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": 1080 }, "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": 1150 }, "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": 1073 }, "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": 313 }, "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": 1164 }, "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": 502 }, "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": 1192 }, "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": 701 }, "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": 729 }, "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": 488 }, "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": 629 }, "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": 1143 }, "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": 960 }, "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": 306 }, "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": 636 }, "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": 643 }, "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": 1023 }, "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": 404 }, "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": 1178 }, "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": 1002 }, "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": 376 }, "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": 1087 }, "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": 904 }, "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": 757 }, "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": 995 }, "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": 467 }, "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": 981 }, "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": 615 }, "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": 1157 }, "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": 411 }, "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": 925 }, "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": 601 }, "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": 918 }, "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": 579 }, "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": 1185 }, "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": 1051 }, "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": 834 }, "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": 771 }, "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": 1037 }, "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": 764 }, "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": 1044 }, "name": "shellEmulator", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#sideEffectsCache" }, "remarks": "When a pre/post install script modify the contents of a package (e.g. build output), pnpm saves the modified package in the global store. On future installs on the same machine, pnpm reuses this cached, prebuilt version.\nAn object is the canonical way to declare the remote tier; `sideEffectsCache: true` is the shorthand for reading and writing.", "stability": "experimental", "summary": "Use and cache the results of (pre/post)install hooks." }, "immutable": true, "locationInModule": { "filename": "src/javascript/pnpm-workspace-config.ts", "line": 680 }, "name": "sideEffectsCache", "optional": true, "type": { "primitive": "any" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#sideEffectsCacheReadonly" }, "remarks": "The older spelling of sideEffectsCache: { read: true, write: false }.", "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": 687 }, "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": 869 }, "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": 327 }, "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": 715 }, "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": 572 }, "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": 495 }, "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": 355 }, "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": 750 }, "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": 841 }, "name": "tag", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "schema": "PnpmWorkspaceYamlSchema#tasks" }, "remarks": "A task is a script in one workspace project; it becomes ready after every task it depends on completes successfully. A task with no entry under tasks defaults to depending on the same task in its workspace dependencies, but once a task has an entry, an omitted dependsOn is the same as `dependsOn: []`.", "stability": "experimental", "summary": "Configure dependency relationships and per-task concurrency limits for recursive runs (`pnpm -r run