Class ReactProjectOptions.Jsii$Proxy

    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getAutoApproveUpgrades

        public final Boolean getAutoApproveUpgrades()
        Description copied from interface: NodeProjectOptions
        (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

        Specified by:
        getAutoApproveUpgrades in interface NodeProjectOptions
      • getCheckLicenses

        public final LicenseCheckerOptions getCheckLicenses()
        Description copied from interface: NodeProjectOptions
        (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

        Specified by:
        getCheckLicenses in interface NodeProjectOptions
      • getCodeCov

        public final Boolean getCodeCov()
        Description copied from interface: NodeProjectOptions
        (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

        Specified by:
        getCodeCov in interface NodeProjectOptions
      • getCodeCovTokenSecret

        public final String getCodeCovTokenSecret()
        Description copied from interface: NodeProjectOptions
        (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

        Specified by:
        getCodeCovTokenSecret in interface NodeProjectOptions
      • getCopyrightOwner

        public final String getCopyrightOwner()
        Description copied from interface: NodeProjectOptions
        (experimental) License copyright owner.

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

        Specified by:
        getCopyrightOwner in interface NodeProjectOptions
      • getDependabot

        public final Boolean getDependabot()
        Description copied from interface: NodeProjectOptions
        (experimental) Use dependabot to handle dependency upgrades.

        Cannot be used in conjunction with depsUpgrade.

        Default: false

        Specified by:
        getDependabot in interface NodeProjectOptions
      • getDepsUpgrade

        public final Boolean getDepsUpgrade()
        Description copied from interface: NodeProjectOptions
        (experimental) Use tasks and github workflows to handle dependency upgrades.

        Cannot be used in conjunction with dependabot.

        Default: true

        Specified by:
        getDepsUpgrade in interface NodeProjectOptions
      • getMutableBuild

        public final Boolean getMutableBuild()
        Description copied from interface: NodeProjectOptions
        (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

        Specified by:
        getMutableBuild in interface NodeProjectOptions
      • getNpmignoreEnabled

        public final Boolean getNpmignoreEnabled()
        Description copied from interface: NodeProjectOptions
        (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.

        Default: true

        Specified by:
        getNpmignoreEnabled in interface NodeProjectOptions
      • getPackageValue

        public final Boolean getPackageValue()
        Description copied from interface: NodeProjectOptions
        (experimental) Defines a package task that will produce an npm tarball under the artifacts directory (e.g. dist).

        Default: true

        Specified by:
        getPackageValue in interface NodeProjectOptions
      • getProjenrcJs

        public final Boolean getProjenrcJs()
        Description copied from interface: NodeProjectOptions
        (experimental) Generate (once) .projenrc.js (in JavaScript). Set to false in order to disable .projenrc.js generation.

        Default: - true if projenrcJson is false

        Specified by:
        getProjenrcJs in interface NodeProjectOptions
      • getAutoMergeOptions

        public final AutoMergeOptions getAutoMergeOptions()
        Description copied from interface: GitHubProjectOptions
        (experimental) Configure options for automatic merging on GitHub.

        Has no effect if github.mergify or autoMerge is set to false.

        Default: - see defaults in `AutoMergeOptions`

        Specified by:
        getAutoMergeOptions in interface GitHubProjectOptions
      • getGithub

        public final Boolean getGithub()
        Description copied from interface: GitHubProjectOptions
        (experimental) Enable GitHub integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Specified by:
        getGithub in interface GitHubProjectOptions
      • getProjenTokenSecret

        public final String getProjenTokenSecret()
        Description copied from interface: GitHubProjectOptions
        (deprecated) 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"

        Specified by:
        getProjenTokenSecret in interface GitHubProjectOptions
      • getVscode

        public final Boolean getVscode()
        Description copied from interface: GitHubProjectOptions
        (experimental) Enable VSCode integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Specified by:
        getVscode in interface GitHubProjectOptions
      • getName

        public final String getName()
        Description copied from interface: ProjectOptions
        (experimental) This is the name of your project.

        Default: $BASEDIR

        Specified by:
        getName in interface ProjectOptions
      • getOutdir

        public final String getOutdir()
        Description copied from interface: ProjectOptions
        (experimental) 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: "."

        Specified by:
        getOutdir in interface ProjectOptions
      • getParent

        public final Project getParent()
        Description copied from interface: ProjectOptions
        (experimental) The parent project, if this project is part of a bigger project.
        Specified by:
        getParent in interface ProjectOptions
      • getProjenCommand

        public final String getProjenCommand()
        Description copied from interface: ProjectOptions
        (experimental) The shell command to use in order to run the projen CLI.

        Can be used to customize in special environments.

        Default: "npx projen"

        Specified by:
        getProjenCommand in interface ProjectOptions
      • getProjenrcJson

        public final Boolean getProjenrcJson()
        Description copied from interface: ProjectOptions
        (experimental) Generate (once) .projenrc.json (in JSON). Set to false in order to disable .projenrc.json generation.

        Default: false

        Specified by:
        getProjenrcJson in interface ProjectOptions
      • getAllowLibraryDependencies

        public final Boolean getAllowLibraryDependencies()
        Description copied from interface: NodePackageOptions
        (experimental) 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

        Specified by:
        getAllowLibraryDependencies in interface NodePackageOptions
      • getAutoDetectBin

        public final Boolean getAutoDetectBin()
        Description copied from interface: NodePackageOptions
        (experimental) Automatically add all executables under the bin directory to your package.json file under the bin section.

        Default: true

        Specified by:
        getAutoDetectBin in interface NodePackageOptions
      • getBin

        public final Map<String,​String> getBin()
        Description copied from interface: NodePackageOptions
        (experimental) 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.

        Specified by:
        getBin in interface NodePackageOptions
      • getBundledDeps

        public final List<String> getBundledDeps()
        Description copied from interface: NodePackageOptions
        (experimental) 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.

        Specified by:
        getBundledDeps in interface NodePackageOptions
      • getCodeArtifactOptions

        public final CodeArtifactOptions getCodeArtifactOptions()
        Description copied from interface: NodePackageOptions
        (experimental) Options for npm packages using AWS CodeArtifact.

        This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact

        Default: - undefined

        Specified by:
        getCodeArtifactOptions in interface NodePackageOptions
      • getDeps

        public final List<String> getDeps()
        Description copied from interface: NodePackageOptions
        (experimental) 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: []

        Example:

         [ 'express', 'lodash', 'foo@^2' ]
         
        Specified by:
        getDeps in interface NodePackageOptions
      • getDescription

        public final String getDescription()
        Description copied from interface: NodePackageOptions
        (experimental) 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

        Specified by:
        getDescription in interface NodePackageOptions
      • getDevDeps

        public final List<String> getDevDeps()
        Description copied from interface: NodePackageOptions
        (experimental) 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: []

        Example:

         [ 'typescript', '@types/express' ]
         
        Specified by:
        getDevDeps in interface NodePackageOptions
      • getEntrypoint

        public final String getEntrypoint()
        Description copied from interface: NodePackageOptions
        (experimental) Module entrypoint (main in package.json).

        Set to an empty string to not include main in your package.json

        Default: "lib/index.js"

        Specified by:
        getEntrypoint in interface NodePackageOptions
      • getLicense

        public final String getLicense()
        Description copied from interface: NodePackageOptions
        (experimental) 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"

        Specified by:
        getLicense in interface NodePackageOptions
      • getMinNodeVersion

        public final String getMinNodeVersion()
        Description copied from interface: NodePackageOptions
        (experimental) Minimum Node.js version to require via package.json engines (inclusive).

        Default: - no "engines" specified

        Specified by:
        getMinNodeVersion in interface NodePackageOptions
      • getNpmAccess

        public final NpmAccess getNpmAccess()
        Description copied from interface: NodePackageOptions
        (experimental) 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`.

        Specified by:
        getNpmAccess in interface NodePackageOptions
      • getNpmProvenance

        public final Boolean getNpmProvenance()
        Description copied from interface: NodePackageOptions
        (experimental) 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

        Specified by:
        getNpmProvenance in interface NodePackageOptions
        See Also:
        https://docs.npmjs.com/generating-provenance-statements
      • getNpmRegistryUrl

        public final String getNpmRegistryUrl()
        Description copied from interface: NodePackageOptions
        (experimental) The base URL of the npm package registry.

        Must be a URL (e.g. start with "https://" or "http://")

        Default: "https://registry.npmjs.org"

        Specified by:
        getNpmRegistryUrl in interface NodePackageOptions
      • getPeerDeps

        public final List<String> getPeerDeps()
        Description copied from interface: NodePackageOptions
        (experimental) 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: []

        Specified by:
        getPeerDeps in interface NodePackageOptions
      • getRepository

        public final String getRepository()
        Description copied from interface: NodePackageOptions
        (experimental) The repository is the location where the actual code for your package lives.

        See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository

        Specified by:
        getRepository in interface NodePackageOptions
      • getRepositoryDirectory

        public final String getRepositoryDirectory()
        Description copied from interface: NodePackageOptions
        (experimental) 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.
        Specified by:
        getRepositoryDirectory in interface NodePackageOptions
      • getScripts

        public final Map<String,​String> getScripts()
        Description copied from interface: NodePackageOptions
        (deprecated) 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: {}

        Specified by:
        getScripts in interface NodePackageOptions
      • getMajorVersion

        public final Number getMajorVersion()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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.

        Specified by:
        getMajorVersion in interface ReleaseProjectOptions
      • getMinMajorVersion

        public final Number getMinMajorVersion()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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

        Specified by:
        getMinMajorVersion in interface ReleaseProjectOptions
      • getNpmDistTag

        public final String getNpmDistTag()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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"

        Specified by:
        getNpmDistTag in interface ReleaseProjectOptions
      • getPrerelease

        public final String getPrerelease()
        Description copied from interface: ReleaseProjectOptions
        (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").

        Default: - normal semantic versions

        Specified by:
        getPrerelease in interface ReleaseProjectOptions
      • getPublishTasks

        public final Boolean getPublishTasks()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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

        Specified by:
        getPublishTasks in interface ReleaseProjectOptions
      • getReleaseBranches

        public final Map<String,​BranchOptions> getReleaseBranches()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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.

        Specified by:
        getReleaseBranches in interface ReleaseProjectOptions
      • getReleaseTagPrefix

        public final String getReleaseTagPrefix()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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"

        Specified by:
        getReleaseTagPrefix in interface ReleaseProjectOptions
      • getVersionrcOptions

        public final Map<String,​Object> getVersionrcOptions()
        Description copied from interface: ReleaseProjectOptions
        (experimental) 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

        Specified by:
        getVersionrcOptions in interface ReleaseProjectOptions
      • getRewire

        public final Map<String,​Object> getRewire()
        Description copied from interface: ReactRewireOptions
        (experimental) 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:

         rewire: { "module.unknownContextCritical": false }
         

        Will translate to the following config-overrides.js file:

         module.exports = function override(config, env) {
           config.module.unknownContextCritical = false;
         }
         

        Default: - No rewired config.

        Specified by:
        getRewire in interface ReactRewireOptions
        See Also:
        https://github.com/timarney/react-app-rewired
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object