Interface NodeProjectOptions

    • Method Detail

      • getDefaultReleaseBranch

        @Stability(Experimental)
        @NotNull
        String getDefaultReleaseBranch()
        (experimental) The name of the main release branch.

        Default: "main"

      • getArtifactsDirectory

        @Stability(Experimental)
        @Nullable
        default String getArtifactsDirectory()
        (experimental) A directory which will contain build artifacts.

        Default: "dist"

      • getAutoApproveUpgrades

        @Stability(Experimental)
        @Nullable
        default Boolean getAutoApproveUpgrades()
        (experimental) 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

      • getBuildWorkflow

        @Stability(Experimental)
        @Nullable
        default Boolean getBuildWorkflow()
        (experimental) Define a GitHub workflow for building PRs.

        Default: - true if not a subproject

      • getBuildWorkflowTriggers

        @Stability(Experimental)
        @Nullable
        default Triggers getBuildWorkflowTriggers()
        (experimental) Build workflow triggers.

        Default: "{ pullRequest: {}, workflowDispatch: {} }"

      • getBundlerOptions

        @Stability(Experimental)
        @Nullable
        default BundlerOptions getBundlerOptions()
        (experimental) Options for Bundler.
      • getCheckLicenses

        @Stability(Experimental)
        @Nullable
        default LicenseCheckerOptions getCheckLicenses()
        (experimental) 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

      • getCodeCov

        @Stability(Experimental)
        @Nullable
        default Boolean getCodeCov()
        (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with @codeCovTokenSecret.

        Default: false

      • getCodeCovTokenSecret

        @Stability(Experimental)
        @Nullable
        default String getCodeCovTokenSecret()
        (experimental) 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

      • getCopyrightOwner

        @Stability(Experimental)
        @Nullable
        default String getCopyrightOwner()
        (experimental) License copyright owner.

        Default: - defaults to the value of authorName or "" if `authorName` is undefined.

      • getCopyrightPeriod

        @Stability(Experimental)
        @Nullable
        default String getCopyrightPeriod()
        (experimental) The copyright years to put in the LICENSE file.

        Default: - current year

      • getDependabot

        @Stability(Experimental)
        @Nullable
        default Boolean getDependabot()
        (experimental) Use dependabot to handle dependency upgrades.

        Cannot be used in conjunction with depsUpgrade.

        Default: false

      • getDependabotOptions

        @Stability(Experimental)
        @Nullable
        default DependabotOptions getDependabotOptions()
        (experimental) Options for dependabot.

        Default: - default options

      • getDepsUpgrade

        @Stability(Experimental)
        @Nullable
        default Boolean getDepsUpgrade()
        (experimental) Use tasks and github workflows to handle dependency upgrades.

        Cannot be used in conjunction with dependabot.

        Default: true

      • getDepsUpgradeOptions

        @Stability(Experimental)
        @Nullable
        default UpgradeDependenciesOptions getDepsUpgradeOptions()
        (experimental) Options for UpgradeDependencies.

        Default: - default options

      • getGitignore

        @Stability(Experimental)
        @Nullable
        default List<String> getGitignore()
        (experimental) Additional entries to .gitignore.
      • getJest

        @Stability(Experimental)
        @Nullable
        default Boolean getJest()
        (experimental) Setup jest unit tests.

        Default: true

      • getJestOptions

        @Stability(Experimental)
        @Nullable
        default JestOptions getJestOptions()
        (experimental) Jest options.

        Default: - default options

      • getMutableBuild

        @Stability(Experimental)
        @Nullable
        default Boolean getMutableBuild()
        (experimental) 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

      • getNpmignore

        @Stability(Deprecated)
        @Deprecated
        @Nullable
        default List<String> getNpmignore()
        Deprecated.
        • use project.addPackageIgnore
        (deprecated) Additional entries to .npmignore.

      • getNpmignoreEnabled

        @Stability(Experimental)
        @Nullable
        default Boolean getNpmignoreEnabled()
        (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.

        Default: true

      • getNpmIgnoreOptions

        @Stability(Experimental)
        @Nullable
        default IgnoreFileOptions getNpmIgnoreOptions()
        (experimental) Configuration options for .npmignore file.
      • getPackageValue

        @Stability(Experimental)
        @Nullable
        default Boolean getPackageValue()
        (experimental) Defines a package task that will produce an npm tarball under the artifacts directory (e.g. dist).

        Default: true

      • getPrettier

        @Stability(Experimental)
        @Nullable
        default Boolean getPrettier()
        (experimental) Setup prettier.

        Default: false

      • getPrettierOptions

        @Stability(Experimental)
        @Nullable
        default PrettierOptions getPrettierOptions()
        (experimental) Prettier options.

        Default: - default options

      • getProjenDevDependency

        @Stability(Experimental)
        @Nullable
        default Boolean getProjenDevDependency()
        (experimental) Indicates of "projen" should be installed as a devDependency.

        Default: true

      • getProjenrcJs

        @Stability(Experimental)
        @Nullable
        default Boolean getProjenrcJs()
        (experimental) Generate (once) .projenrc.js (in JavaScript). Set to false in order to disable .projenrc.js generation.

        Default: - true if projenrcJson is false

      • getProjenrcJsOptions

        @Stability(Experimental)
        @Nullable
        default ProjenrcOptions getProjenrcJsOptions()
        (experimental) Options for .projenrc.js.

        Default: - default options

      • getProjenVersion

        @Stability(Experimental)
        @Nullable
        default String getProjenVersion()
        (experimental) Version of projen to install.

        Default: - Defaults to the latest version.

      • getPullRequestTemplate

        @Stability(Experimental)
        @Nullable
        default Boolean getPullRequestTemplate()
        (experimental) Include a GitHub pull request template.

        Default: true

      • getPullRequestTemplateContents

        @Stability(Experimental)
        @Nullable
        default List<String> getPullRequestTemplateContents()
        (experimental) The contents of the pull request template.

        Default: - default content

      • getRelease

        @Stability(Experimental)
        @Nullable
        default Boolean getRelease()
        (experimental) Add release management to this project.

        Default: - true (false for subprojects)

      • getReleaseToNpm

        @Stability(Experimental)
        @Nullable
        default Boolean getReleaseToNpm()
        (experimental) Automatically release to npm when new versions are introduced.

        Default: false

      • getReleaseWorkflow

        @Stability(Deprecated)
        @Deprecated
        @Nullable
        default Boolean getReleaseWorkflow()
        Deprecated.
        see release.
        (deprecated) DEPRECATED: renamed to release.

        Default: - true if not a subproject

      • getWorkflowBootstrapSteps

        @Stability(Experimental)
        @Nullable
        default List<JobStep> getWorkflowBootstrapSteps()
        (experimental) Workflow steps to use in order to bootstrap this repo.

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

      • getWorkflowGitIdentity

        @Stability(Experimental)
        @Nullable
        default GitIdentity getWorkflowGitIdentity()
        (experimental) The git identity to use in workflows.

        Default: - GitHub Actions

      • getWorkflowNodeVersion

        @Stability(Experimental)
        @Nullable
        default String getWorkflowNodeVersion()
        (experimental) The node version to use in GitHub workflows.

        Default: - same as `minNodeVersion`

      • getWorkflowPackageCache

        @Stability(Experimental)
        @Nullable
        default Boolean getWorkflowPackageCache()
        (experimental) Enable Node.js package cache in GitHub workflows.

        Default: false