packages/cloudscape-react-ts-website/src/react-ts-project-options.ts (148 lines of code) (raw):

// ~~ Generated by projen. To modify, edit .projenrc.js and run "pnpm exec projen". import type { github, GitOptions, GroupRunnerOptions, IgnoreFileOptions, javascript, LoggerOptions, Project, ProjectType, ProjenrcJsonOptions, ReleasableCommits, release, RenovatebotOptions, SampleReadmeProps, typescript } from 'projen'; /** * ReactTypeScriptProjectOptions */ export interface ReactTypeScriptProjectOptions { /** * Rewire webpack configuration. * Use this property to override webpack configuration properties provided * by create-react-app, without needing to eject. * * This property will create a `config-overrides.js` file in your root directory, * which will contain the desired rewiring code. * * To **override** the configuration, you can provide simple key value pairs. * Keys take the form of js code directives that traverse to the desired property. * Values should be JSON serializable objects. * * For example, the following config: * * ```json * rewire: { "module.unknownContextCritical": false } * ``` * * Will translate to the following `config-overrides.js` file: * * ```js * module.exports = function override(config, env) { * config.module.unknownContextCritical = false; * } * ``` * @default - No rewired config. * @stability experimental */ readonly rewire?: Record<string, any>; /** * TypeScript version to use. * NOTE: Typescript is not semantically versioned and should remain on the * same minor, so we recommend using a `~` dependency (e.g. `~1.2.3`). * @default "latest" * @stability experimental */ readonly typescriptVersion?: string; /** * Options for ts-jest. * @stability experimental */ readonly tsJestOptions?: typescript.TsJestOptions; /** * The name of the development tsconfig.json file. * @default "tsconfig.dev.json" * @stability experimental */ readonly tsconfigDevFile?: string; /** * Custom tsconfig options for the development tsconfig.json file (used for testing). * @default - use the production tsconfig options * @stability experimental */ readonly tsconfigDev?: javascript.TypescriptConfigOptions; /** * Custom TSConfig. * @default - default options * @stability experimental */ readonly tsconfig?: javascript.TypescriptConfigOptions; /** * Jest tests directory. Tests files should be named `xxx.test.ts`. * If this directory is under `srcdir` (e.g. `src/test`, `src/__tests__`), * then tests are going to be compiled into `lib/` and executed as javascript. * If the test directory is outside of `src`, then we configure jest to * compile the code in-memory. * @default "test" * @stability experimental */ readonly testdir?: string; /** * Typescript sources directory. * @default "src" * @stability experimental */ readonly srcdir?: string; /** * Options for .projenrc.ts. * @stability experimental */ readonly projenrcTsOptions?: typescript.ProjenrcOptions; /** * Use TypeScript for your projenrc file (`.projenrc.ts`). * @default false * @stability experimental * @pjnew true */ readonly projenrcTs?: boolean; /** * Typescript artifacts output directory. * @default "lib" * @stability experimental */ readonly libdir?: string; /** * Eslint options. * @default - opinionated default options * @stability experimental */ readonly eslintOptions?: javascript.EslintOptions; /** * Setup eslint. * @default true * @stability experimental */ readonly eslint?: boolean; /** * The .d.ts file that includes the type declarations for this module. * @default - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts) * @stability experimental */ readonly entrypointTypes?: string; /** * Docs directory. * @default "docs" * @stability experimental */ readonly docsDirectory?: string; /** * Docgen by Typedoc. * @default false * @stability experimental */ readonly docgen?: boolean; /** * Do not generate a `tsconfig.dev.json` file. * @default false * @stability experimental */ readonly disableTsconfigDev?: boolean; /** * Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). * @default false * @stability experimental */ readonly disableTsconfig?: boolean; /** * Enable Node.js package cache in GitHub workflows. * @default false * @stability experimental */ readonly workflowPackageCache?: boolean; /** * The node version to use in GitHub workflows. * @default - same as `minNodeVersion` * @stability experimental */ readonly workflowNodeVersion?: string; /** * The git identity to use in workflows. * @default - GitHub Actions * @stability experimental */ readonly workflowGitIdentity?: github.GitIdentity; /** * Workflow steps to use in order to bootstrap this repo. * @default "yarn install --frozen-lockfile && yarn projen" * @stability experimental */ readonly workflowBootstrapSteps?: Array<github.workflows.JobStep>; /** * DEPRECATED: renamed to `release`. * @default - true if not a subproject * @deprecated see `release`. * @stability deprecated */ readonly releaseWorkflow?: boolean; /** * Automatically release to npm when new versions are introduced. * @default false * @stability experimental */ readonly releaseToNpm?: boolean; /** * Add release management to this project. * @default - true (false for subprojects) * @stability experimental */ readonly release?: boolean; /** * The contents of the pull request template. * @default - default content * @stability experimental */ readonly pullRequestTemplateContents?: Array<string>; /** * Include a GitHub pull request template. * @default true * @stability experimental */ readonly pullRequestTemplate?: boolean; /** * Version of projen to install. * @default - Defaults to the latest version. * @stability experimental */ readonly projenVersion?: string; /** * Options for .projenrc.js. * @default - default options * @stability experimental */ readonly projenrcJsOptions?: javascript.ProjenrcOptions; /** * Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. * @default - true if projenrcJson is false * @stability experimental */ readonly projenrcJs?: boolean; /** * Indicates of "projen" should be installed as a devDependency. * @default - true if not a subproject * @stability experimental */ readonly projenDevDependency?: boolean; /** * Prettier options. * @default - default options * @stability experimental */ readonly prettierOptions?: javascript.PrettierOptions; /** * Setup prettier. * @default false * @stability experimental */ readonly prettier?: boolean; /** * Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). * @default true * @stability experimental */ readonly package?: boolean; /** * Configuration options for .npmignore file. * @stability experimental */ readonly npmIgnoreOptions?: IgnoreFileOptions; /** * Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. * @default true * @stability experimental */ readonly npmignoreEnabled?: boolean; /** * Additional entries to .npmignore. * @deprecated - use `project.addPackageIgnore` * @stability deprecated */ readonly npmignore?: Array<string>; /** * Automatically update files modified during builds to pull-request branches. * This means * that any files synthesized by projen or e.g. test snapshots will always be up-to-date * before a PR is merged. * * Implies that PR builds do not have anti-tamper checks. * @default true * @deprecated - Use `buildWorkflowOptions.mutableBuild` * @stability deprecated */ readonly mutableBuild?: boolean; /** * Jest options. * @default - default options * @stability experimental */ readonly jestOptions?: javascript.JestOptions; /** * Setup jest unit tests. * @default true * @stability experimental */ readonly jest?: boolean; /** * Additional entries to .gitignore. * @stability experimental */ readonly gitignore?: Array<string>; /** * Options for `UpgradeDependencies`. * @default - default options * @stability experimental */ readonly depsUpgradeOptions?: javascript.UpgradeDependenciesOptions; /** * Use tasks and github workflows to handle dependency upgrades. * Cannot be used in conjunction with `dependabot`. * @default true * @stability experimental */ readonly depsUpgrade?: boolean; /** * Options for dependabot. * @default - default options * @stability experimental */ readonly dependabotOptions?: github.DependabotOptions; /** * Use dependabot to handle dependency upgrades. * Cannot be used in conjunction with `depsUpgrade`. * @default false * @stability experimental */ readonly dependabot?: boolean; /** * The copyright years to put in the LICENSE file. * @default - current year * @stability experimental */ readonly copyrightPeriod?: string; /** * License copyright owner. * @default - defaults to the value of authorName or "" if `authorName` is undefined. * @stability experimental */ readonly copyrightOwner?: string; /** * Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. * @default - if this option is not specified, only public repositories are supported * @stability experimental */ readonly codeCovTokenSecret?: string; /** * Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 A secret is required for private repos. Configured with `@codeCovTokenSecret`. * @default false * @stability experimental */ readonly codeCov?: boolean; /** * Configure which licenses should be deemed acceptable for use by dependencies. * This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. * @default - no license checks are run during the build and all licenses will be accepted * @stability experimental */ readonly checkLicenses?: javascript.LicenseCheckerOptions; /** * Options for `Bundler`. * @stability experimental */ readonly bundlerOptions?: javascript.BundlerOptions; /** * Build workflow triggers. * @default "{ pullRequest: {}, workflowDispatch: {} }" * @deprecated - Use `buildWorkflowOptions.workflowTriggers` * @stability deprecated */ readonly buildWorkflowTriggers?: github.workflows.Triggers; /** * Options for PR build workflow. * @stability experimental */ readonly buildWorkflowOptions?: javascript.BuildWorkflowOptions; /** * Define a GitHub workflow for building PRs. * @default - true if not a subproject * @stability experimental */ readonly buildWorkflow?: boolean; /** * Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). * Throw if set to true but `autoApproveOptions` are not defined. * @default - true * @stability experimental */ readonly autoApproveUpgrades?: boolean; /** * A directory which will contain build artifacts. * @default "dist" * @stability experimental */ readonly artifactsDirectory?: string; /** * The name of the main release branch. * @default "main" * @stability experimental */ readonly defaultReleaseBranch?: string; /** * Github Runner Group selection options. * @stability experimental * @description Defines a target Runner Group by name and/or labels * @throws {Error} if both `runsOn` and `runsOnGroup` are specified */ readonly workflowRunsOnGroup?: GroupRunnerOptions; /** * Github Runner selection labels. * @default ["ubuntu-latest"] * @stability experimental * @description Defines a target Runner by labels * @throws {Error} if both `runsOn` and `runsOnGroup` are specified */ readonly workflowRunsOn?: Array<string>; /** * Container image to use for GitHub workflows. * @default - default image * @stability experimental */ readonly workflowContainerImage?: string; /** * Custom configuration used when creating changelog with standard-version package. * Given values either append to default configuration or overwrite values in it. * @default - standard configuration applicable for GitHub repositories * @stability experimental */ readonly versionrcOptions?: Record<string, any>; /** * A set of workflow steps to execute in order to setup the workflow container. * @stability experimental */ readonly releaseWorkflowSetupSteps?: Array<github.workflows.JobStep>; /** * The name of the default release workflow. * @default "release" * @stability experimental */ readonly releaseWorkflowName?: string; /** * The release trigger to use. * @default - Continuous releases (`ReleaseTrigger.continuous()`) * @stability experimental */ readonly releaseTrigger?: release.ReleaseTrigger; /** * Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. * Note: this prefix is used to detect the latest tagged version * when bumping, so if you change this on a project with an existing version * history, you may need to manually tag your latest release * with the new prefix. * @default "v" * @stability experimental */ readonly releaseTagPrefix?: string; /** * CRON schedule to trigger new releases. * @default - no scheduled releases * @deprecated Use `releaseTrigger: ReleaseTrigger.scheduled()` instead * @stability deprecated */ readonly releaseSchedule?: string; /** * The label to apply to issues indicating publish failures. * Only applies if `releaseFailureIssue` is true. * @default "failed-release" * @stability experimental */ readonly releaseFailureIssueLabel?: string; /** * Create a github issue on every failed publishing task. * @default false * @stability experimental */ readonly releaseFailureIssue?: boolean; /** * Automatically release new versions every commit to one of branches in `releaseBranches`. * @default true * @deprecated Use `releaseTrigger: ReleaseTrigger.continuous()` instead * @stability deprecated */ readonly releaseEveryCommit?: boolean; /** * Defines additional release branches. * A workflow will be created for each * release branch which will publish releases from commits in this branch. * Each release branch _must_ be assigned a major version number which is used * to enforce that versions published from that branch always use that major * version. If multiple branches are used, the `majorVersion` field must also * be provided for the default branch. * @default - no additional branches are used for release. you can use `addBranch()` to add additional branches. * @stability experimental */ readonly releaseBranches?: Record<string, release.BranchOptions>; /** * Find commits that should be considered releasable Used to decide if a release is required. * @default ReleasableCommits.everyCommit() * @stability experimental */ readonly releasableCommits?: ReleasableCommits; /** * Define publishing tasks that can be executed manually as well as workflows. * Normally, publishing only happens within automated workflows. Enable this * in order to create a publishing task for each publishing activity. * @default false * @stability experimental */ readonly publishTasks?: boolean; /** * Instead of actually publishing to package managers, just print the publishing command. * @default false * @stability experimental */ readonly publishDryRun?: boolean; /** * Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). * @default - normal semantic versions * @stability experimental */ readonly prerelease?: string; /** * Steps to execute after build as part of the release workflow. * @default [] * @stability experimental */ readonly postBuildSteps?: Array<github.workflows.JobStep>; /** * The npmDistTag to use when publishing from the default branch. * To set the npm dist-tag for release branches, set the `npmDistTag` property * for each branch. * @default "latest" * @stability experimental */ readonly npmDistTag?: string; /** * Minimal Major version to release. * This can be useful to set to 1, as breaking changes before the 1.x major * release are not incrementing the major version number. * * Can not be set together with `majorVersion`. * @default - No minimum version is being enforced * @stability experimental */ readonly minMajorVersion?: number; /** * Major version to release from the default branch. * If this is specified, we bump the latest version of this major version line. * If not specified, we bump the global latest version. * @default - Major version is not enforced. * @stability experimental */ readonly majorVersion?: number; /** * Version requirement of `publib` which is used to publish modules to npm. * @default "latest" * @stability experimental */ readonly jsiiReleaseVersion?: string; /** * Options for Yarn Berry. * @default - Yarn Berry v4 with all default options * @stability experimental */ readonly yarnBerryOptions?: javascript.YarnBerryOptions; /** * Package's Stability. * @stability experimental */ readonly stability?: string; /** * npm scripts to include. * If a script has the same name as a standard script, * the standard script will be overwritten. * Also adds the script as a task. * @default {} * @deprecated use `project.addTask()` or `package.setScript()` * @stability deprecated */ readonly scripts?: Record<string, string>; /** * Options for privately hosted scoped packages. * @default - fetch all scoped packages from the public npm registry * @stability experimental */ readonly scopedPackagesOptions?: Array<javascript.ScopedPackagesOptions>; /** * 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. * @stability experimental */ readonly repositoryDirectory?: string; /** * The repository is the location where the actual code for your package lives. * See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository * @stability experimental */ readonly repository?: string; /** * The version of PNPM to use if using PNPM as a package manager. * @default "7" * @stability experimental */ readonly pnpmVersion?: string; /** * Peer dependencies for this module. * Dependencies listed here are required to * be installed (and satisfied) by the _consumer_ of this library. Using peer * dependencies allows you to ensure that only a single module of a certain * library exists in the `node_modules` tree of your consumers. * * Note that prior to npm@7, peer dependencies are _not_ automatically * installed, which means that adding peer dependencies to a library will be a * breaking change for your customers. * * Unless `peerDependencyOptions.pinnedDevDependency` is disabled (it is * enabled by default), projen will automatically add a dev dependency with a * pinned version for each peer dependency. This will ensure that you build & * test your module against the lowest peer version required. * @default [] * @stability experimental */ readonly peerDeps?: Array<string>; /** * Options for `peerDeps`. * @stability experimental */ readonly peerDependencyOptions?: javascript.PeerDependencyOptions; /** * The "name" in package.json. * @default - defaults to project name * @stability experimental * @featured true */ readonly packageName?: string; /** * The Node Package Manager used to execute scripts. * @default NodePackageManager.YARN_CLASSIC * @stability experimental */ readonly packageManager?: javascript.NodePackageManager; /** * GitHub secret which contains the NPM token to use when publishing packages. * @default "NPM_TOKEN" * @stability experimental */ readonly npmTokenSecret?: string; /** * The base URL of the npm package registry. * Must be a URL (e.g. start with "https://" or "http://") * @default "https://registry.npmjs.org" * @stability experimental */ readonly npmRegistryUrl?: string; /** * The host name of the npm registry to publish to. * Cannot be set together with `npmRegistryUrl`. * @deprecated use `npmRegistryUrl` instead * @stability deprecated */ readonly npmRegistry?: string; /** * Should provenance statements be generated when the package is published. * A supported package manager is required to publish a package with npm provenance statements and * you will need to use a supported CI/CD provider. * * Note that the projen `Release` and `Publisher` components are using `publib` to publish packages, * which is using npm internally and supports provenance statements independently of the package manager used. * @default - true for public packages, false otherwise * @stability experimental */ readonly npmProvenance?: boolean; /** * Access level of the npm package. * @default - for scoped packages (e.g. `foo@bar`), the default is `NpmAccess.RESTRICTED`, for non-scoped packages, the default is `NpmAccess.PUBLIC`. * @stability experimental */ readonly npmAccess?: javascript.NpmAccess; /** * Minimum Node.js version to require via package.json `engines` (inclusive). * @default - no "engines" specified * @stability experimental */ readonly minNodeVersion?: string; /** * Minimum node.js version to require via `engines` (inclusive). * @default - no max * @stability experimental */ readonly maxNodeVersion?: string; /** * Indicates if a license should be added. * @default true * @stability experimental */ readonly licensed?: boolean; /** * License's SPDX identifier. * See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. * Use the `licensed` option if you want to no license to be specified. * @default "Apache-2.0" * @stability experimental */ readonly license?: string; /** * Keywords to include in `package.json`. * @stability experimental */ readonly keywords?: Array<string>; /** * Package's Homepage / Website. * @stability experimental */ readonly homepage?: string; /** * Module entrypoint (`main` in `package.json`). * Set to an empty string to not include `main` in your package.json * @default "lib/index.js" * @stability experimental */ readonly entrypoint?: string; /** * Build dependencies for this module. * These dependencies will only be * available in your build environment but will not be fetched when this * module is consumed. * * The recommendation is to only specify the module name here (e.g. * `express`). This will behave similar to `yarn add` or `npm install` in the * sense that it will add the module as a dependency to your `package.json` * file with the latest version (`^`). You can specify semver requirements in * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and * this will be what you `package.json` will eventually include. * @default [] * @stability experimental * @featured true */ readonly devDeps?: Array<string>; /** * The description is just a string that helps people understand the purpose of the package. * It can be used when searching for packages in a package manager as well. * See https://classic.yarnpkg.com/en/docs/package-json/#toc-description * @stability experimental * @featured true */ readonly description?: string; /** * Runtime dependencies of this module. * The recommendation is to only specify the module name here (e.g. * `express`). This will behave similar to `yarn add` or `npm install` in the * sense that it will add the module as a dependency to your `package.json` * file with the latest version (`^`). You can specify semver requirements in * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and * this will be what you `package.json` will eventually include. * @default [] * @stability experimental * @featured true */ readonly deps?: Array<string>; /** * Options for npm packages using AWS CodeArtifact. * This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact * @default - undefined * @stability experimental */ readonly codeArtifactOptions?: javascript.CodeArtifactOptions; /** * List of dependencies to bundle into this module. * These modules will be * added both to the `dependencies` section and `bundledDependencies` section of * your `package.json`. * * The recommendation is to only specify the module name here (e.g. * `express`). This will behave similar to `yarn add` or `npm install` in the * sense that it will add the module as a dependency to your `package.json` * file with the latest version (`^`). You can specify semver requirements in * the same syntax passed to `npm i` or `yarn add` (e.g. `express@^2`) and * this will be what you `package.json` will eventually include. * @stability experimental */ readonly bundledDeps?: Array<string>; /** * The url to your project's issue tracker. * @stability experimental */ readonly bugsUrl?: string; /** * The email address to which issues should be reported. * @stability experimental */ readonly bugsEmail?: string; /** * Binary programs vended with your module. * You can use this option to add/customize how binaries are represented in * your `package.json`, but unless `autoDetectBin` is `false`, every * executable file under `bin` will automatically be added to this section. * @stability experimental */ readonly bin?: Record<string, string>; /** * Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. * @default true * @stability experimental */ readonly autoDetectBin?: boolean; /** * Author's URL / Website. * @stability experimental */ readonly authorUrl?: string; /** * Is the author an organization. * @stability experimental */ readonly authorOrganization?: boolean; /** * Author's name. * @stability experimental */ readonly authorName?: string; /** * Author's e-mail. * @stability experimental */ readonly authorEmail?: string; /** * Allow the project to include `peerDependencies` and `bundledDependencies`. * This is normally only allowed for libraries. For apps, there's no meaning * for specifying these. * @default true * @stability experimental */ readonly allowLibraryDependencies?: boolean; /** * Enable VSCode integration. * Enabled by default for root projects. Disabled for non-root projects. * @default true * @stability experimental */ readonly vscode?: boolean; /** * Auto-close stale issues and pull requests. * To disable set `stale` to `false`. * @default - see defaults in `StaleOptions` * @stability experimental */ readonly staleOptions?: github.StaleOptions; /** * Auto-close of stale issues and pull request. * See `staleOptions` for options. * @default false * @stability experimental */ readonly stale?: boolean; /** * The README setup. * @default - { filename: 'README.md', contents: '# replace this' } * @stability experimental */ readonly readme?: SampleReadmeProps; /** * The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. * This token needs to have the `repo`, `workflows` * and `packages` scope. * @default "PROJEN_GITHUB_TOKEN" * @deprecated use `projenCredentials` * @stability deprecated */ readonly projenTokenSecret?: string; /** * Choose a method of providing GitHub API access for projen workflows. * @default - use a personal access token named PROJEN_GITHUB_TOKEN * @stability experimental */ readonly projenCredentials?: github.GithubCredentials; /** * Which type of project this is (library/app). * @default ProjectType.UNKNOWN * @deprecated no longer supported at the base project level * @stability deprecated */ readonly projectType?: ProjectType; /** * Options for mergify. * @default - default options * @deprecated use `githubOptions.mergifyOptions` instead * @stability deprecated */ readonly mergifyOptions?: github.MergifyOptions; /** * Whether mergify should be enabled on this repository or not. * @default true * @deprecated use `githubOptions.mergify` instead * @stability deprecated */ readonly mergify?: boolean; /** * Add a Gitpod development environment. * @default false * @stability experimental */ readonly gitpod?: boolean; /** * Options for GitHub integration. * @default - see GitHubOptions * @stability experimental */ readonly githubOptions?: github.GitHubOptions; /** * Enable GitHub integration. * Enabled by default for root projects. Disabled for non-root projects. * @default true * @stability experimental */ readonly github?: boolean; /** * Add a VSCode development environment (used for GitHub Codespaces). * @default false * @stability experimental */ readonly devContainer?: boolean; /** * Add a `clobber` task which resets the repo to origin. * @default - true, but false for subprojects * @stability experimental */ readonly clobber?: boolean; /** * Configure options for automatic merging on GitHub. * Has no effect if * `github.mergify` or `autoMerge` is set to false. * @default - see defaults in `AutoMergeOptions` * @stability experimental */ readonly autoMergeOptions?: github.AutoMergeOptions; /** * Enable automatic merging on GitHub. * Has no effect if `github.mergify` * is set to false. * @default true * @stability experimental */ readonly autoMerge?: boolean; /** * Enable and configure the 'auto approve' workflow. * @default - auto approve is disabled * @stability experimental */ readonly autoApproveOptions?: github.AutoApproveOptions; /** * Options for renovatebot. * @default - default options * @stability experimental */ readonly renovatebotOptions?: RenovatebotOptions; /** * Use renovatebot to handle dependency upgrades. * @default false * @stability experimental */ readonly renovatebot?: boolean; /** * Options for .projenrc.json. * @default - default options * @stability experimental */ readonly projenrcJsonOptions?: ProjenrcJsonOptions; /** * Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. * @default false * @stability experimental */ readonly projenrcJson?: boolean; /** * The shell command to use in order to run the projen CLI. * Can be used to customize in special environments. * @default "npx projen" * @stability experimental */ readonly projenCommand?: string; /** * The parent project, if this project is part of a bigger project. * @stability experimental */ readonly parent?: Project; /** * The root directory of the project. * Relative to this directory, all files are synthesized. * * If this project has a parent, this directory is relative to the parent * directory and it cannot be the same as the parent or any of it's other * subprojects. * @default "." * @stability experimental */ readonly outdir?: string; /** * Configure logging options such as verbosity. * @default {} * @stability experimental */ readonly logging?: LoggerOptions; /** * Configuration options for git. * @stability experimental */ readonly gitOptions?: GitOptions; /** * Configuration options for .gitignore file. * @stability experimental */ readonly gitIgnoreOptions?: IgnoreFileOptions; /** * Whether to commit the managed files by default. * @default true * @stability experimental */ readonly commitGenerated?: boolean; readonly name: string; }