Documentation - v0.0.0
    Preparing search index...

    NxMonorepoProjectOptions

    interface NxMonorepoProjectOptions {
        allowLibraryDependencies?: boolean;
        artifactsDirectory?: string;
        authorEmail?: string;
        authorName?: string;
        authorOrganization?: boolean;
        authorUrl?: string;
        autoApproveOptions?: AutoApproveOptions;
        autoApproveUpgrades?: boolean;
        autoDetectBin?: boolean;
        autoMerge?: boolean;
        autoMergeOptions?: AutoMergeOptions;
        bin?: Record<string, string>;
        bugsEmail?: string;
        bugsUrl?: string;
        buildWorkflow?: boolean;
        buildWorkflowOptions?: BuildWorkflowOptions;
        bundledDeps?: string[];
        bundlerOptions?: BundlerOptions;
        checkLicenses?: LicenseCheckerOptions;
        clobber?: boolean;
        codeArtifactOptions?: CodeArtifactOptions;
        codeCov?: boolean;
        codeCovTokenSecret?: string;
        commitGenerated?: boolean;
        copyrightOwner?: string;
        copyrightPeriod?: string;
        defaultReleaseBranch?: string;
        dependabot?: boolean;
        dependabotOptions?: DependabotOptions;
        deps?: string[];
        depsUpgrade?: boolean;
        depsUpgradeOptions?: UpgradeDependenciesOptions;
        description?: string;
        devContainer?: boolean;
        devDeps?: string[];
        disableNodeWarnings?: boolean;
        disableTsconfig?: boolean;
        disableTsconfigDev?: boolean;
        docgen?: boolean;
        docgenOptions?: any;
        docsDirectory?: string;
        entrypoint?: string;
        entrypointTypes?: string;
        eslint?: boolean;
        eslintOptions?: EslintOptions;
        github?: boolean;
        githubOptions?: GitHubOptions;
        gitignore?: string[];
        gitIgnoreOptions?: IgnoreFileOptions;
        gitOptions?: GitOptions;
        gitpod?: boolean;
        homepage?: string;
        jest?: boolean;
        jestOptions?: JestOptions;
        jsiiReleaseVersion?: string;
        keywords?: string[];
        libdir?: string;
        license?: string;
        licensed?: boolean;
        licenseOptions?: LicenseOptions;
        logging?: LoggerOptions;
        majorVersion?: number;
        maxNodeVersion?: string;
        minMajorVersion?: number;
        minNodeVersion?: string;
        monorepoUpgradeDeps?: boolean;
        monorepoUpgradeDepsOptions?: MonorepoUpgradeDepsOptions;
        name: string;
        namingScheme?: ProjectNameSchemeOptions;
        npmAccess?: NpmAccess;
        npmDistTag?: string;
        npmignoreEnabled?: boolean;
        npmIgnoreOptions?: IgnoreFileOptions;
        npmProvenance?: boolean;
        npmRegistryUrl?: string;
        npmTokenSecret?: string;
        outdir?: string;
        package?: boolean;
        packageManager?: NodePackageManager;
        packageName?: string;
        parent?: Project;
        peerDependencyOptions?: PeerDependencyOptions;
        peerDeps?: string[];
        pnpmVersion?: string;
        postBuildSteps?: JobStep[];
        prerelease?: string;
        prettier?: boolean;
        prettierOptions?: PrettierOptions;
        projenCommand?: string;
        projenCredentials?: GithubCredentials;
        projenDevDependency?: boolean;
        projenrcJs?: boolean;
        projenrcJson?: boolean;
        projenrcJsonOptions?: ProjenrcJsonOptions;
        projenrcJsOptions?: ProjenrcOptions;
        projenrcTs?: boolean;
        projenrcTsOptions?: ProjenrcOptions;
        projenVersion?: string;
        publishDryRun?: boolean;
        publishTasks?: boolean;
        pullRequestTemplate?: boolean;
        pullRequestTemplateContents?: string[];
        readme?: SampleReadmeProps;
        releasableCommits?: ReleasableCommits;
        release?: boolean;
        releaseBranches?: Record<string, BranchOptions>;
        releaseFailureIssue?: boolean;
        releaseFailureIssueLabel?: string;
        releaseTagPrefix?: string;
        releaseToNpm?: boolean;
        releaseTrigger?: ReleaseTrigger;
        releaseWorkflowName?: string;
        releaseWorkflowSetupSteps?: JobStep[];
        renovatebot?: boolean;
        renovatebotOptions?: RenovatebotOptions;
        repository?: string;
        repositoryDirectory?: string;
        sampleCode?: boolean;
        scopedPackagesOptions?: ScopedPackagesOptions[];
        srcdir?: string;
        stability?: string;
        stale?: boolean;
        staleOptions?: StaleOptions;
        testdir?: string;
        tsconfig?: TypescriptConfigOptions;
        tsconfigBase?: TypescriptConfigExtends;
        tsconfigDev?: TypescriptConfigOptions;
        tsconfigDevFile?: string;
        tsJestOptions?: TsJestOptions;
        typescriptVersion?: string;
        versionrcOptions?: Record<string, any>;
        vscode?: boolean;
        workflowBootstrapSteps?: JobStep[];
        workflowContainerImage?: string;
        workflowGitIdentity?: GitIdentity;
        workflowNodeVersion?: string;
        workflowPackageCache?: boolean;
        workflowRunsOn?: string[];
        workflowRunsOnGroup?: GroupRunnerOptions;
        workspaceConfig?: WorkspaceConfig;
        workspaceDeps?: (string | NodeProject)[];
        yarnBerryOptions?: YarnBerryOptions;
    }
    Index

    Properties

    allowLibraryDependencies? artifactsDirectory? authorEmail? authorName? authorOrganization? authorUrl? autoApproveOptions? autoApproveUpgrades? autoDetectBin? autoMerge? autoMergeOptions? bin? bugsEmail? bugsUrl? buildWorkflow? buildWorkflowOptions? bundledDeps? bundlerOptions? checkLicenses? clobber? codeArtifactOptions? codeCov? codeCovTokenSecret? commitGenerated? copyrightOwner? copyrightPeriod? defaultReleaseBranch? dependabot? dependabotOptions? deps? depsUpgrade? depsUpgradeOptions? description? devContainer? devDeps? disableNodeWarnings? disableTsconfig? disableTsconfigDev? docgen? docgenOptions? docsDirectory? entrypoint? entrypointTypes? eslint? eslintOptions? github? githubOptions? gitignore? gitIgnoreOptions? gitOptions? gitpod? homepage? jest? jestOptions? jsiiReleaseVersion? keywords? libdir? license? licensed? licenseOptions? logging? majorVersion? maxNodeVersion? minMajorVersion? minNodeVersion? monorepoUpgradeDeps? monorepoUpgradeDepsOptions? name namingScheme? npmAccess? npmDistTag? npmignoreEnabled? npmIgnoreOptions? npmProvenance? npmRegistryUrl? npmTokenSecret? outdir? package? packageManager? packageName? parent? peerDependencyOptions? peerDeps? pnpmVersion? postBuildSteps? prerelease? prettier? prettierOptions? projenCommand? projenCredentials? projenDevDependency? projenrcJs? projenrcJson? projenrcJsonOptions? projenrcJsOptions? projenrcTs? projenrcTsOptions? projenVersion? publishDryRun? publishTasks? pullRequestTemplate? pullRequestTemplateContents? readme? releasableCommits? release? releaseBranches? releaseFailureIssue? releaseFailureIssueLabel? releaseTagPrefix? releaseToNpm? releaseTrigger? releaseWorkflowName? releaseWorkflowSetupSteps? renovatebot? renovatebotOptions? repository? repositoryDirectory? sampleCode? scopedPackagesOptions? srcdir? stability? stale? staleOptions? testdir? tsconfig? tsconfigBase? tsconfigDev? tsconfigDevFile? tsJestOptions? typescriptVersion? versionrcOptions? vscode? workflowBootstrapSteps? workflowContainerImage? workflowGitIdentity? workflowNodeVersion? workflowPackageCache? workflowRunsOn? workflowRunsOnGroup? workspaceConfig? workspaceDeps? yarnBerryOptions?

    Properties

    allowLibraryDependencies?: boolean

    Allow the project to include peerDependencies and bundledDependencies. This is normally only allowed for libraries. For apps, there's no meaning for specifying these.

    true
    

    experimental

    artifactsDirectory?: string

    A directory which will contain build artifacts.

    "dist"
    

    experimental

    authorEmail?: string

    Author's e-mail.

    experimental

    authorName?: string

    Author's name.

    experimental

    authorOrganization?: boolean

    Is the author an organization.

    experimental

    authorUrl?: string

    Author's URL / Website.

    experimental

    autoApproveOptions?: AutoApproveOptions

    Enable and configure the 'auto approve' workflow.

    - auto approve is disabled
    

    experimental

    autoApproveUpgrades?: 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.

    - true
    

    experimental

    autoDetectBin?: boolean

    Automatically add all executables under the bin directory to your package.json file under the bin section.

    true
    

    experimental

    autoMerge?: boolean

    Enable automatic merging on GitHub. Has no effect if github.mergify is set to false.

    true
    

    experimental

    autoMergeOptions?: AutoMergeOptions

    Configure options for automatic merging on GitHub. Has no effect if github.mergify or autoMerge is set to false.

    • see defaults in AutoMergeOptions

    experimental

    bin?: Record<string, 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.

    experimental

    bugsEmail?: string

    The email address to which issues should be reported.

    experimental

    bugsUrl?: string

    The url to your project's issue tracker.

    experimental

    buildWorkflow?: boolean

    Define a GitHub workflow for building PRs.

    - true if not a subproject
    

    experimental

    buildWorkflowOptions?: BuildWorkflowOptions

    Options for PR build workflow.

    experimental

    bundledDeps?: string[]

    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.

    experimental

    bundlerOptions?: BundlerOptions

    Options for Bundler.

    experimental

    checkLicenses?: LicenseCheckerOptions

    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.

    - no license checks are run during the build and all licenses will be accepted
    

    experimental

    clobber?: boolean

    Add a clobber task which resets the repo to origin.

    - true, but false for subprojects
    

    experimental

    codeArtifactOptions?: CodeArtifactOptions

    Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact

    - undefined
    

    experimental

    codeCov?: boolean

    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.

    false
    

    experimental

    codeCovTokenSecret?: string

    Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.

    - if this option is not specified, only public repositories are supported
    

    experimental

    commitGenerated?: boolean

    Whether to commit the managed files by default.

    true
    

    experimental

    copyrightOwner?: string

    License copyright owner.

    • defaults to the value of authorName or "" if authorName is undefined.

    experimental

    copyrightPeriod?: string

    The copyright years to put in the LICENSE file.

    - current year
    

    experimental

    defaultReleaseBranch?: string

    The name of the main release branch.

    "main"
    

    experimental

    dependabot?: boolean

    Use dependabot to handle dependency upgrades. Cannot be used in conjunction with depsUpgrade.

    false
    

    experimental

    dependabotOptions?: DependabotOptions

    Options for dependabot.

    - default options
    

    experimental

    deps?: 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.

    []
    

    experimental

    depsUpgrade?: boolean

    Use tasks and github workflows to handle dependency upgrades. Cannot be used in conjunction with dependabot.

    true
    

    experimental

    depsUpgradeOptions?: UpgradeDependenciesOptions

    Options for UpgradeDependencies.

    - default options
    

    experimental

    description?: 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

    experimental

    devContainer?: boolean

    Add a VSCode development environment (used for GitHub Codespaces).

    false
    

    experimental

    devDeps?: 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.

    []
    

    experimental

    disableNodeWarnings?: boolean

    Disable node warnings from being emitted during build tasks.

    false
    

    stable

    disableTsconfig?: boolean

    Do not generate a tsconfig.json file (used by jsii projects since tsconfig.json is generated by the jsii compiler).

    false
    

    experimental

    disableTsconfigDev?: boolean

    Do not generate a tsconfig.dev.json file.

    false
    

    experimental

    docgen?: boolean

    Docgen by Typedoc.

    false
    

    experimental

    docgenOptions?: any

    TSDoc configuration options. Requires docgen to be true.

    docsDirectory?: string

    Docs directory.

    "docs"
    

    experimental

    entrypoint?: string

    Module entrypoint (main in package.json). Set to an empty string to not include main in your package.json.

    "lib/index.js"
    

    experimental

    entrypointTypes?: string

    The .d.ts file that includes the type declarations for this module.

    - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
    

    experimental

    eslint?: boolean

    Setup eslint.

    true
    

    experimental

    eslintOptions?: EslintOptions

    Eslint options.

    - opinionated default options
    

    experimental

    github?: boolean

    Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects.

    true
    

    experimental

    githubOptions?: GitHubOptions

    Options for GitHub integration.

    - see GitHubOptions
    

    experimental

    gitignore?: string[]

    Additional entries to .gitignore.

    experimental

    gitIgnoreOptions?: IgnoreFileOptions

    Configuration options for .gitignore file.

    experimental

    gitOptions?: GitOptions

    Configuration options for git.

    experimental

    gitpod?: boolean

    Add a Gitpod development environment.

    false
    

    experimental

    homepage?: string

    Package's Homepage / Website.

    experimental

    jest?: boolean

    Setup jest unit tests.

    true
    

    experimental

    jestOptions?: JestOptions

    Jest options.

    - default options
    

    experimental

    jsiiReleaseVersion?: string

    Version requirement of publib which is used to publish modules to npm.

    "latest"
    

    experimental

    keywords?: string[]

    Keywords to include in package.json.

    experimental

    libdir?: string

    Typescript artifacts output directory.

    "lib"
    

    experimental

    license?: string

    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.

    "Apache-2.0"
    

    experimental

    licensed?: boolean

    Indicates if a license should be added.

    true
    

    experimental

    licenseOptions?: LicenseOptions

    Default license to apply to all PDK managed packages.

    Apache-2.0
    

    stable

    logging?: LoggerOptions

    Configure logging options such as verbosity.

    {}
    

    experimental

    majorVersion?: 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.

    - Major version is not enforced.
    

    experimental

    maxNodeVersion?: string

    Minimum node.js version to require via engines (inclusive).

    - no max
    

    experimental

    minMajorVersion?: number

    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.

    - No minimum version is being enforced
    

    experimental

    minNodeVersion?: string

    Minimum Node.js version to require via package.json engines (inclusive).

    - no "engines" specified
    

    experimental

    monorepoUpgradeDeps?: boolean

    Whether to include an upgrade-deps task at the root of the monorepo which will upgrade all dependencies.

    true
    

    stable

    monorepoUpgradeDepsOptions?: MonorepoUpgradeDepsOptions

    Monorepo Upgrade Deps options. This is only used if monorepoUpgradeDeps is true.

    undefined
    

    stable

    name: string
    $BASEDIR
    

    stable

    npmAccess?: NpmAccess

    Access level of the npm package.

    • for scoped packages (e.g. foo@bar), the default is NpmAccess.RESTRICTED, for non-scoped packages, the default is NpmAccess.PUBLIC.

    experimental

    npmDistTag?: string

    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.

    "latest"
    

    experimental

    npmignoreEnabled?: boolean

    Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.

    true
    

    experimental

    npmIgnoreOptions?: IgnoreFileOptions

    Configuration options for .npmignore file.

    experimental

    npmProvenance?: boolean

    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.

    - true for public packages, false otherwise
    

    experimental

    npmRegistryUrl?: string

    The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://")

    "https://registry.npmjs.org"
    

    experimental

    npmTokenSecret?: string

    GitHub secret which contains the NPM token to use when publishing packages.

    "NPM_TOKEN"
    

    experimental

    outdir?: string

    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.

    "."
    

    experimental

    package?: boolean

    Defines a package task that will produce an npm tarball under the artifacts directory (e.g. dist).

    true
    

    experimental

    packageManager?: NodePackageManager

    The Node Package Manager used to execute scripts.

    NodePackageManager.YARN_CLASSIC
    

    experimental

    packageName?: string

    The "name" in package.json.

    - defaults to project name
    

    experimental

    parent?: Project

    The parent project, if this project is part of a bigger project.

    experimental

    peerDependencyOptions?: PeerDependencyOptions

    Options for peerDeps.

    experimental

    peerDeps?: 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.

    []
    

    experimental

    pnpmVersion?: string

    The version of PNPM to use if using PNPM as a package manager.

    "7"
    

    experimental

    postBuildSteps?: JobStep[]

    Steps to execute after build as part of the release workflow.

    []
    

    experimental

    prerelease?: string

    Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").

    - normal semantic versions
    

    experimental

    prettier?: boolean

    Setup prettier.

    false
    

    experimental

    prettierOptions?: PrettierOptions

    Prettier options.

    - default options
    

    experimental

    projenCommand?: string

    The shell command to use in order to run the projen CLI. Can be used to customize in special environments.

    "npx projen"
    

    experimental

    projenCredentials?: GithubCredentials

    Choose a method of providing GitHub API access for projen workflows.

    - use a personal access token named PROJEN_GITHUB_TOKEN
    

    experimental

    projenDevDependency?: boolean

    Indicates of "projen" should be installed as a devDependency.

    - true if not a subproject
    

    experimental

    projenrcJs?: boolean

    Generate (once) .projenrc.js (in JavaScript). Set to false in order to disable .projenrc.js generation.

    - true if projenrcJson is false
    

    experimental

    projenrcJson?: boolean

    Generate (once) .projenrc.json (in JSON). Set to false in order to disable .projenrc.json generation.

    false
    

    experimental

    projenrcJsonOptions?: ProjenrcJsonOptions

    Options for .projenrc.json.

    - default options
    

    experimental

    projenrcJsOptions?: ProjenrcOptions

    Options for .projenrc.js.

    - default options
    

    experimental

    projenrcTs?: boolean

    Use TypeScript for your projenrc file (.projenrc.ts).

    false
    

    experimental

    true

    projenrcTsOptions?: ProjenrcOptions

    Options for .projenrc.ts.

    experimental

    projenVersion?: string

    Version of projen to install.

    - Defaults to the latest version.
    

    experimental

    publishDryRun?: boolean

    Instead of actually publishing to package managers, just print the publishing command.

    false
    

    experimental

    publishTasks?: boolean

    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.

    false
    

    experimental

    pullRequestTemplate?: boolean

    Include a GitHub pull request template.

    true
    

    experimental

    pullRequestTemplateContents?: string[]

    The contents of the pull request template.

    - default content
    

    experimental

    readme?: SampleReadmeProps

    The README setup.

    - { filename: 'README.md', contents: '# replace this' }
    

    experimental

    releasableCommits?: ReleasableCommits

    Find commits that should be considered releasable Used to decide if a release is required.

    ReleasableCommits.everyCommit()
    

    experimental

    release?: boolean

    Add release management to this project.

    - true (false for subprojects)
    

    experimental

    releaseBranches?: Record<string, BranchOptions>

    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.

    • no additional branches are used for release. you can use addBranch() to add additional branches.

    experimental

    releaseFailureIssue?: boolean

    Create a github issue on every failed publishing task.

    false
    

    experimental

    releaseFailureIssueLabel?: string

    The label to apply to issues indicating publish failures. Only applies if releaseFailureIssue is true.

    "failed-release"
    

    experimental

    releaseTagPrefix?: string

    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.

    "v"
    

    experimental

    releaseToNpm?: boolean

    Automatically release to npm when new versions are introduced.

    false
    

    experimental

    releaseTrigger?: ReleaseTrigger

    The release trigger to use.

    • Continuous releases (ReleaseTrigger.continuous())

    experimental

    releaseWorkflowName?: string

    The name of the default release workflow.

    "release"
    

    experimental

    releaseWorkflowSetupSteps?: JobStep[]

    A set of workflow steps to execute in order to setup the workflow container.

    experimental

    renovatebot?: boolean

    Use renovatebot to handle dependency upgrades.

    false
    

    experimental

    renovatebotOptions?: RenovatebotOptions

    Options for renovatebot.

    - default options
    

    experimental

    repository?: 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

    experimental

    repositoryDirectory?: string

    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.

    experimental

    sampleCode?: boolean

    Generate one-time sample in src/ and test/ if there are no files there.

    true
    

    experimental

    scopedPackagesOptions?: ScopedPackagesOptions[]

    Options for privately hosted scoped packages.

    - fetch all scoped packages from the public npm registry
    

    experimental

    srcdir?: string

    Typescript sources directory.

    "src"
    

    experimental

    stability?: string

    Package's Stability.

    experimental

    stale?: boolean

    Auto-close of stale issues and pull request. See staleOptions for options.

    false
    

    experimental

    staleOptions?: StaleOptions

    Auto-close stale issues and pull requests. To disable set stale to false.

    • see defaults in StaleOptions

    experimental

    testdir?: string

    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.

    "test"
    

    experimental

    tsconfig?: TypescriptConfigOptions

    Custom TSConfig.

    - default options
    

    experimental

    tsconfigBase?: TypescriptConfigExtends

    TypescriptConfigExtends to use as base.

    tsconfigDev?: TypescriptConfigOptions

    Custom tsconfig options for the development tsconfig.json file (used for testing).

    - use the production tsconfig options
    

    experimental

    tsconfigDevFile?: string

    The name of the development tsconfig.json file.

    "tsconfig.dev.json"
    

    experimental

    tsJestOptions?: TsJestOptions

    Options for ts-jest.

    experimental

    typescriptVersion?: string

    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).

    "latest"
    

    experimental

    versionrcOptions?: Record<string, any>

    Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it.

    - standard configuration applicable for GitHub repositories
    

    experimental

    vscode?: boolean

    Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects.

    true
    

    experimental

    workflowBootstrapSteps?: JobStep[]

    Workflow steps to use in order to bootstrap this repo.

    "yarn install --frozen-lockfile && yarn projen"
    

    experimental

    workflowContainerImage?: string

    Container image to use for GitHub workflows.

    - default image
    

    experimental

    workflowGitIdentity?: GitIdentity

    The git identity to use in workflows.

    - GitHub Actions
    

    experimental

    workflowNodeVersion?: string

    The node version to use in GitHub workflows.

    • same as minNodeVersion

    experimental

    workflowPackageCache?: boolean

    Enable Node.js package cache in GitHub workflows.

    false
    

    experimental

    workflowRunsOn?: string[]

    Github Runner selection labels.

    ["ubuntu-latest"]
    

    experimental

    Defines a target Runner by labels

    if both runsOn and runsOnGroup are specified

    workflowRunsOnGroup?: GroupRunnerOptions

    Github Runner Group selection options.

    experimental

    Defines a target Runner Group by name and/or labels

    if both runsOn and runsOnGroup are specified

    workspaceConfig?: WorkspaceConfig

    Configuration for workspace.

    stable

    workspaceDeps?: (string | NodeProject)[]

    Dependencies linked by the workspace protocol.

    yarnBerryOptions?: YarnBerryOptions

    Options for Yarn Berry.

    - Yarn Berry v4 with all default options
    

    experimental