Class NextJsProjectOptions.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.web.NextJsProjectOptions.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<NextJsProjectOptions>
- Enclosing interface:
- NextJsProjectOptions
@Stability(Experimental) public static final class NextJsProjectOptions.Builder extends Object implements software.amazon.jsii.Builder<NextJsProjectOptions>
A builder forNextJsProjectOptions
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
sampleCode
@Stability(Experimental) public NextJsProjectOptions.Builder sampleCode(Boolean sampleCode)
Sets the value ofNextJsProjectOptions.getSampleCode()- Parameters:
sampleCode- Generate one-time sample inpages/andpublic/if there are no files there.- Returns:
this
-
srcdir
@Stability(Experimental) public NextJsProjectOptions.Builder srcdir(String srcdir)
Sets the value ofNextJsProjectOptions.getSrcdir()- Parameters:
srcdir- Typescript sources directory.- Returns:
this
-
assetsdir
@Stability(Experimental) public NextJsProjectOptions.Builder assetsdir(String assetsdir)
Sets the value ofNextJsCommonProjectOptions.getAssetsdir()- Parameters:
assetsdir- Assets directory.- Returns:
this
-
tailwind
@Stability(Experimental) public NextJsProjectOptions.Builder tailwind(Boolean tailwind)
Sets the value ofNextJsCommonProjectOptions.getTailwind()- Parameters:
tailwind- Setup Tailwind CSS as a PostCSS plugin.- Returns:
this
-
defaultReleaseBranch
@Stability(Experimental) public NextJsProjectOptions.Builder defaultReleaseBranch(String defaultReleaseBranch)
Sets the value ofNodeProjectOptions.getDefaultReleaseBranch()- Parameters:
defaultReleaseBranch- The name of the main release branch. This parameter is required.- Returns:
this
-
artifactsDirectory
@Stability(Experimental) public NextJsProjectOptions.Builder artifactsDirectory(String artifactsDirectory)
Sets the value ofNodeProjectOptions.getArtifactsDirectory()- Parameters:
artifactsDirectory- A directory which will contain build artifacts.- Returns:
this
-
autoApproveUpgrades
@Stability(Experimental) public NextJsProjectOptions.Builder autoApproveUpgrades(Boolean autoApproveUpgrades)
Sets the value ofNodeProjectOptions.getAutoApproveUpgrades()- Parameters:
autoApproveUpgrades- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true butautoApproveOptionsare not defined.- Returns:
this
-
buildWorkflow
@Stability(Experimental) public NextJsProjectOptions.Builder buildWorkflow(Boolean buildWorkflow)
Sets the value ofNodeProjectOptions.getBuildWorkflow()- Parameters:
buildWorkflow- Define a GitHub workflow for building PRs.- Returns:
this
-
buildWorkflowTriggers
@Stability(Experimental) public NextJsProjectOptions.Builder buildWorkflowTriggers(Triggers buildWorkflowTriggers)
Sets the value ofNodeProjectOptions.getBuildWorkflowTriggers()- Parameters:
buildWorkflowTriggers- Build workflow triggers.- Returns:
this
-
bundlerOptions
@Stability(Experimental) public NextJsProjectOptions.Builder bundlerOptions(BundlerOptions bundlerOptions)
Sets the value ofNodeProjectOptions.getBundlerOptions()- Parameters:
bundlerOptions- Options forBundler.- Returns:
this
-
checkLicenses
@Stability(Experimental) public NextJsProjectOptions.Builder checkLicenses(LicenseCheckerOptions checkLicenses)
Sets the value ofNodeProjectOptions.getCheckLicenses()- Parameters:
checkLicenses- 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.- Returns:
this
-
codeCov
@Stability(Experimental) public NextJsProjectOptions.Builder codeCov(Boolean codeCov)
Sets the value ofNodeProjectOptions.getCodeCov()- Parameters:
codeCov- 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.- Returns:
this
-
codeCovTokenSecret
@Stability(Experimental) public NextJsProjectOptions.Builder codeCovTokenSecret(String codeCovTokenSecret)
Sets the value ofNodeProjectOptions.getCodeCovTokenSecret()- Parameters:
codeCovTokenSecret- Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.- Returns:
this
-
copyrightOwner
@Stability(Experimental) public NextJsProjectOptions.Builder copyrightOwner(String copyrightOwner)
Sets the value ofNodeProjectOptions.getCopyrightOwner()- Parameters:
copyrightOwner- License copyright owner.- Returns:
this
-
copyrightPeriod
@Stability(Experimental) public NextJsProjectOptions.Builder copyrightPeriod(String copyrightPeriod)
Sets the value ofNodeProjectOptions.getCopyrightPeriod()- Parameters:
copyrightPeriod- The copyright years to put in the LICENSE file.- Returns:
this
-
dependabot
@Stability(Experimental) public NextJsProjectOptions.Builder dependabot(Boolean dependabot)
Sets the value ofNodeProjectOptions.getDependabot()- Parameters:
dependabot- Use dependabot to handle dependency upgrades. Cannot be used in conjunction withdepsUpgrade.- Returns:
this
-
dependabotOptions
@Stability(Experimental) public NextJsProjectOptions.Builder dependabotOptions(DependabotOptions dependabotOptions)
Sets the value ofNodeProjectOptions.getDependabotOptions()- Parameters:
dependabotOptions- Options for dependabot.- Returns:
this
-
depsUpgrade
@Stability(Experimental) public NextJsProjectOptions.Builder depsUpgrade(Boolean depsUpgrade)
Sets the value ofNodeProjectOptions.getDepsUpgrade()- Parameters:
depsUpgrade- Use tasks and github workflows to handle dependency upgrades. Cannot be used in conjunction withdependabot.- Returns:
this
-
depsUpgradeOptions
@Stability(Experimental) public NextJsProjectOptions.Builder depsUpgradeOptions(UpgradeDependenciesOptions depsUpgradeOptions)
Sets the value ofNodeProjectOptions.getDepsUpgradeOptions()- Parameters:
depsUpgradeOptions- Options forUpgradeDependencies.- Returns:
this
-
gitignore
@Stability(Experimental) public NextJsProjectOptions.Builder gitignore(List<String> gitignore)
Sets the value ofNodeProjectOptions.getGitignore()- Parameters:
gitignore- Additional entries to .gitignore.- Returns:
this
-
jest
@Stability(Experimental) public NextJsProjectOptions.Builder jest(Boolean jest)
Sets the value ofNodeProjectOptions.getJest()- Parameters:
jest- Setup jest unit tests.- Returns:
this
-
jestOptions
@Stability(Experimental) public NextJsProjectOptions.Builder jestOptions(JestOptions jestOptions)
Sets the value ofNodeProjectOptions.getJestOptions()- Parameters:
jestOptions- Jest options.- Returns:
this
-
mutableBuild
@Stability(Experimental) public NextJsProjectOptions.Builder mutableBuild(Boolean mutableBuild)
Sets the value ofNodeProjectOptions.getMutableBuild()- Parameters:
mutableBuild- 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.
- Returns:
this
-
npmignore
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder npmignore(List<String> npmignore)
Deprecated.- use `project.addPackageIgnore`Sets the value ofNodeProjectOptions.getNpmignore()- Parameters:
npmignore- Additional entries to .npmignore.- Returns:
this
-
npmignoreEnabled
@Stability(Experimental) public NextJsProjectOptions.Builder npmignoreEnabled(Boolean npmignoreEnabled)
Sets the value ofNodeProjectOptions.getNpmignoreEnabled()- Parameters:
npmignoreEnabled- Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.- Returns:
this
-
npmIgnoreOptions
@Stability(Experimental) public NextJsProjectOptions.Builder npmIgnoreOptions(IgnoreFileOptions npmIgnoreOptions)
Sets the value ofNodeProjectOptions.getNpmIgnoreOptions()- Parameters:
npmIgnoreOptions- Configuration options for .npmignore file.- Returns:
this
-
packageValue
@Stability(Experimental) public NextJsProjectOptions.Builder packageValue(Boolean packageValue)
Sets the value ofNodeProjectOptions.getPackageValue()- Parameters:
packageValue- Defines apackagetask that will produce an npm tarball under the artifacts directory (e.g.dist).- Returns:
this
-
prettier
@Stability(Experimental) public NextJsProjectOptions.Builder prettier(Boolean prettier)
Sets the value ofNodeProjectOptions.getPrettier()- Parameters:
prettier- Setup prettier.- Returns:
this
-
prettierOptions
@Stability(Experimental) public NextJsProjectOptions.Builder prettierOptions(PrettierOptions prettierOptions)
Sets the value ofNodeProjectOptions.getPrettierOptions()- Parameters:
prettierOptions- Prettier options.- Returns:
this
-
projenDevDependency
@Stability(Experimental) public NextJsProjectOptions.Builder projenDevDependency(Boolean projenDevDependency)
Sets the value ofNodeProjectOptions.getProjenDevDependency()- Parameters:
projenDevDependency- Indicates of "projen" should be installed as a devDependency.- Returns:
this
-
projenrcJs
@Stability(Experimental) public NextJsProjectOptions.Builder projenrcJs(Boolean projenrcJs)
Sets the value ofNodeProjectOptions.getProjenrcJs()- Parameters:
projenrcJs- Generate (once) .projenrc.js (in JavaScript). Set tofalsein order to disable .projenrc.js generation.- Returns:
this
-
projenrcJsOptions
@Stability(Experimental) public NextJsProjectOptions.Builder projenrcJsOptions(ProjenrcOptions projenrcJsOptions)
Sets the value ofNodeProjectOptions.getProjenrcJsOptions()- Parameters:
projenrcJsOptions- Options for .projenrc.js.- Returns:
this
-
projenVersion
@Stability(Experimental) public NextJsProjectOptions.Builder projenVersion(String projenVersion)
Sets the value ofNodeProjectOptions.getProjenVersion()- Parameters:
projenVersion- Version of projen to install.- Returns:
this
-
pullRequestTemplate
@Stability(Experimental) public NextJsProjectOptions.Builder pullRequestTemplate(Boolean pullRequestTemplate)
Sets the value ofNodeProjectOptions.getPullRequestTemplate()- Parameters:
pullRequestTemplate- Include a GitHub pull request template.- Returns:
this
-
pullRequestTemplateContents
@Stability(Experimental) public NextJsProjectOptions.Builder pullRequestTemplateContents(List<String> pullRequestTemplateContents)
Sets the value ofNodeProjectOptions.getPullRequestTemplateContents()- Parameters:
pullRequestTemplateContents- The contents of the pull request template.- Returns:
this
-
release
@Stability(Experimental) public NextJsProjectOptions.Builder release(Boolean release)
Sets the value ofNodeProjectOptions.getRelease()- Parameters:
release- Add release management to this project.- Returns:
this
-
releaseToNpm
@Stability(Experimental) public NextJsProjectOptions.Builder releaseToNpm(Boolean releaseToNpm)
Sets the value ofNodeProjectOptions.getReleaseToNpm()- Parameters:
releaseToNpm- Automatically release to npm when new versions are introduced.- Returns:
this
-
releaseWorkflow
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder releaseWorkflow(Boolean releaseWorkflow)
Deprecated.see `release`.Sets the value ofNodeProjectOptions.getReleaseWorkflow()- Parameters:
releaseWorkflow- DEPRECATED: renamed torelease.- Returns:
this
-
workflowBootstrapSteps
@Stability(Experimental) public NextJsProjectOptions.Builder workflowBootstrapSteps(List<? extends JobStep> workflowBootstrapSteps)
Sets the value ofNodeProjectOptions.getWorkflowBootstrapSteps()- Parameters:
workflowBootstrapSteps- Workflow steps to use in order to bootstrap this repo.- Returns:
this
-
workflowGitIdentity
@Stability(Experimental) public NextJsProjectOptions.Builder workflowGitIdentity(GitIdentity workflowGitIdentity)
Sets the value ofNodeProjectOptions.getWorkflowGitIdentity()- Parameters:
workflowGitIdentity- The git identity to use in workflows.- Returns:
this
-
workflowNodeVersion
@Stability(Experimental) public NextJsProjectOptions.Builder workflowNodeVersion(String workflowNodeVersion)
Sets the value ofNodeProjectOptions.getWorkflowNodeVersion()- Parameters:
workflowNodeVersion- The node version to use in GitHub workflows.- Returns:
this
-
workflowPackageCache
@Stability(Experimental) public NextJsProjectOptions.Builder workflowPackageCache(Boolean workflowPackageCache)
Sets the value ofNodeProjectOptions.getWorkflowPackageCache()- Parameters:
workflowPackageCache- Enable Node.js package cache in GitHub workflows.- Returns:
this
-
autoApproveOptions
@Stability(Experimental) public NextJsProjectOptions.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
Sets the value ofGitHubProjectOptions.getAutoApproveOptions()- Parameters:
autoApproveOptions- Enable and configure the 'auto approve' workflow.- Returns:
this
-
autoMerge
@Stability(Experimental) public NextJsProjectOptions.Builder autoMerge(Boolean autoMerge)
Sets the value ofGitHubProjectOptions.getAutoMerge()- Parameters:
autoMerge- Enable automatic merging on GitHub. Has no effect ifgithub.mergifyis set to false.- Returns:
this
-
autoMergeOptions
@Stability(Experimental) public NextJsProjectOptions.Builder autoMergeOptions(AutoMergeOptions autoMergeOptions)
Sets the value ofGitHubProjectOptions.getAutoMergeOptions()- Parameters:
autoMergeOptions- Configure options for automatic merging on GitHub. Has no effect ifgithub.mergifyorautoMergeis set to false.- Returns:
this
-
clobber
@Stability(Experimental) public NextJsProjectOptions.Builder clobber(Boolean clobber)
Sets the value ofGitHubProjectOptions.getClobber()- Parameters:
clobber- Add aclobbertask which resets the repo to origin.- Returns:
this
-
devContainer
@Stability(Experimental) public NextJsProjectOptions.Builder devContainer(Boolean devContainer)
Sets the value ofGitHubProjectOptions.getDevContainer()- Parameters:
devContainer- Add a VSCode development environment (used for GitHub Codespaces).- Returns:
this
-
github
@Stability(Experimental) public NextJsProjectOptions.Builder github(Boolean github)
Sets the value ofGitHubProjectOptions.getGithub()- Parameters:
github- Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
githubOptions
@Stability(Experimental) public NextJsProjectOptions.Builder githubOptions(GitHubOptions githubOptions)
Sets the value ofGitHubProjectOptions.getGithubOptions()- Parameters:
githubOptions- Options for GitHub integration.- Returns:
this
-
gitpod
@Stability(Experimental) public NextJsProjectOptions.Builder gitpod(Boolean gitpod)
Sets the value ofGitHubProjectOptions.getGitpod()- Parameters:
gitpod- Add a Gitpod development environment.- Returns:
this
-
mergify
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder mergify(Boolean mergify)
Deprecated.use `githubOptions.mergify` insteadSets the value ofGitHubProjectOptions.getMergify()- Parameters:
mergify- Whether mergify should be enabled on this repository or not.- Returns:
this
-
mergifyOptions
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder mergifyOptions(MergifyOptions mergifyOptions)
Deprecated.use `githubOptions.mergifyOptions` insteadSets the value ofGitHubProjectOptions.getMergifyOptions()- Parameters:
mergifyOptions- Options for mergify.- Returns:
this
-
projectType
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder projectType(ProjectType projectType)
Deprecated.no longer supported at the base project levelSets the value ofGitHubProjectOptions.getProjectType()- Parameters:
projectType- Which type of project this is (library/app).- Returns:
this
-
projenCredentials
@Stability(Experimental) public NextJsProjectOptions.Builder projenCredentials(GithubCredentials projenCredentials)
Sets the value ofGitHubProjectOptions.getProjenCredentials()- Parameters:
projenCredentials- Choose a method of providing GitHub API access for projen workflows.- Returns:
this
-
projenTokenSecret
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder projenTokenSecret(String projenTokenSecret)
Deprecated.use `projenCredentials`Sets the value ofGitHubProjectOptions.getProjenTokenSecret()- Parameters:
projenTokenSecret- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This token needs to have therepo,workflowsandpackagesscope.- Returns:
this
-
readme
@Stability(Experimental) public NextJsProjectOptions.Builder readme(SampleReadmeProps readme)
Sets the value ofGitHubProjectOptions.getReadme()- Parameters:
readme- The README setup.- Returns:
this
-
stale
@Stability(Experimental) public NextJsProjectOptions.Builder stale(Boolean stale)
Sets the value ofGitHubProjectOptions.getStale()- Parameters:
stale- Auto-close of stale issues and pull request. SeestaleOptionsfor options.- Returns:
this
-
staleOptions
@Stability(Experimental) public NextJsProjectOptions.Builder staleOptions(StaleOptions staleOptions)
Sets the value ofGitHubProjectOptions.getStaleOptions()- Parameters:
staleOptions- Auto-close stale issues and pull requests. To disable setstaletofalse.- Returns:
this
-
vscode
@Stability(Experimental) public NextJsProjectOptions.Builder vscode(Boolean vscode)
Sets the value ofGitHubProjectOptions.getVscode()- Parameters:
vscode- Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
name
@Stability(Experimental) public NextJsProjectOptions.Builder name(String name)
Sets the value ofProjectOptions.getName()- Parameters:
name- This is the name of your project. This parameter is required.- Returns:
this
-
commitGenerated
@Stability(Experimental) public NextJsProjectOptions.Builder commitGenerated(Boolean commitGenerated)
Sets the value ofProjectOptions.getCommitGenerated()- Parameters:
commitGenerated- Whether to commit the managed files by default.- Returns:
this
-
gitIgnoreOptions
@Stability(Experimental) public NextJsProjectOptions.Builder gitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)
Sets the value ofProjectOptions.getGitIgnoreOptions()- Parameters:
gitIgnoreOptions- Configuration options for .gitignore file.- Returns:
this
-
gitOptions
@Stability(Experimental) public NextJsProjectOptions.Builder gitOptions(GitOptions gitOptions)
Sets the value ofProjectOptions.getGitOptions()- Parameters:
gitOptions- Configuration options for git.- Returns:
this
-
logging
@Stability(Experimental) public NextJsProjectOptions.Builder logging(LoggerOptions logging)
Sets the value ofProjectOptions.getLogging()- Parameters:
logging- Configure logging options such as verbosity.- Returns:
this
-
outdir
@Stability(Experimental) public NextJsProjectOptions.Builder outdir(String outdir)
Sets the value ofProjectOptions.getOutdir()- Parameters:
outdir- 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.
- Returns:
this
-
parent
@Stability(Experimental) public NextJsProjectOptions.Builder parent(Project parent)
Sets the value ofProjectOptions.getParent()- Parameters:
parent- The parent project, if this project is part of a bigger project.- Returns:
this
-
projenCommand
@Stability(Experimental) public NextJsProjectOptions.Builder projenCommand(String projenCommand)
Sets the value ofProjectOptions.getProjenCommand()- Parameters:
projenCommand- The shell command to use in order to run the projen CLI. Can be used to customize in special environments.- Returns:
this
-
projenrcJson
@Stability(Experimental) public NextJsProjectOptions.Builder projenrcJson(Boolean projenrcJson)
Sets the value ofProjectOptions.getProjenrcJson()- Parameters:
projenrcJson- Generate (once) .projenrc.json (in JSON). Set tofalsein order to disable .projenrc.json generation.- Returns:
this
-
projenrcJsonOptions
@Stability(Experimental) public NextJsProjectOptions.Builder projenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)
Sets the value ofProjectOptions.getProjenrcJsonOptions()- Parameters:
projenrcJsonOptions- Options for .projenrc.json.- Returns:
this
-
renovatebot
@Stability(Experimental) public NextJsProjectOptions.Builder renovatebot(Boolean renovatebot)
Sets the value ofProjectOptions.getRenovatebot()- Parameters:
renovatebot- Use renovatebot to handle dependency upgrades.- Returns:
this
-
renovatebotOptions
@Stability(Experimental) public NextJsProjectOptions.Builder renovatebotOptions(RenovatebotOptions renovatebotOptions)
Sets the value ofProjectOptions.getRenovatebotOptions()- Parameters:
renovatebotOptions- Options for renovatebot.- Returns:
this
-
allowLibraryDependencies
@Stability(Experimental) public NextJsProjectOptions.Builder allowLibraryDependencies(Boolean allowLibraryDependencies)
Sets the value ofNodePackageOptions.getAllowLibraryDependencies()- Parameters:
allowLibraryDependencies- Allow the project to includepeerDependenciesandbundledDependencies. This is normally only allowed for libraries. For apps, there's no meaning for specifying these.- Returns:
this
-
authorEmail
@Stability(Experimental) public NextJsProjectOptions.Builder authorEmail(String authorEmail)
Sets the value ofNodePackageOptions.getAuthorEmail()- Parameters:
authorEmail- Author's e-mail.- Returns:
this
-
authorName
@Stability(Experimental) public NextJsProjectOptions.Builder authorName(String authorName)
Sets the value ofNodePackageOptions.getAuthorName()- Parameters:
authorName- Author's name.- Returns:
this
-
authorOrganization
@Stability(Experimental) public NextJsProjectOptions.Builder authorOrganization(Boolean authorOrganization)
Sets the value ofNodePackageOptions.getAuthorOrganization()- Parameters:
authorOrganization- Is the author an organization.- Returns:
this
-
authorUrl
@Stability(Experimental) public NextJsProjectOptions.Builder authorUrl(String authorUrl)
Sets the value ofNodePackageOptions.getAuthorUrl()- Parameters:
authorUrl- Author's URL / Website.- Returns:
this
-
autoDetectBin
@Stability(Experimental) public NextJsProjectOptions.Builder autoDetectBin(Boolean autoDetectBin)
Sets the value ofNodePackageOptions.getAutoDetectBin()- Parameters:
autoDetectBin- Automatically add all executables under thebindirectory to yourpackage.jsonfile under thebinsection.- Returns:
this
-
bin
@Stability(Experimental) public NextJsProjectOptions.Builder bin(Map<String,String> bin)
Sets the value ofNodePackageOptions.getBin()- Parameters:
bin- Binary programs vended with your module. You can use this option to add/customize how binaries are represented in yourpackage.json, but unlessautoDetectBinisfalse, every executable file underbinwill automatically be added to this section.- Returns:
this
-
bugsEmail
@Stability(Experimental) public NextJsProjectOptions.Builder bugsEmail(String bugsEmail)
Sets the value ofNodePackageOptions.getBugsEmail()- Parameters:
bugsEmail- The email address to which issues should be reported.- Returns:
this
-
bugsUrl
@Stability(Experimental) public NextJsProjectOptions.Builder bugsUrl(String bugsUrl)
Sets the value ofNodePackageOptions.getBugsUrl()- Parameters:
bugsUrl- The url to your project's issue tracker.- Returns:
this
-
bundledDeps
@Stability(Experimental) public NextJsProjectOptions.Builder bundledDeps(List<String> bundledDeps)
Sets the value ofNodePackageOptions.getBundledDeps()- Parameters:
bundledDeps- List of dependencies to bundle into this module. These modules will be added both to thedependenciessection andbundledDependenciessection of yourpackage.json.The recommendation is to only specify the module name here (e.g.
express). This will behave similar toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
codeArtifactOptions
@Stability(Experimental) public NextJsProjectOptions.Builder codeArtifactOptions(CodeArtifactOptions codeArtifactOptions)
Sets the value ofNodePackageOptions.getCodeArtifactOptions()- Parameters:
codeArtifactOptions- Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact- Returns:
this
-
deps
@Stability(Experimental) public NextJsProjectOptions.Builder deps(List<String> deps)
Sets the value ofNodePackageOptions.getDeps()- Parameters:
deps- Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g.express). This will behave similar toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
description
@Stability(Experimental) public NextJsProjectOptions.Builder description(String description)
Sets the value ofNodePackageOptions.getDescription()- Parameters:
description- 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- Returns:
this
-
devDeps
@Stability(Experimental) public NextJsProjectOptions.Builder devDeps(List<String> devDeps)
Sets the value ofNodePackageOptions.getDevDeps()- Parameters:
devDeps- 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 toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
entrypoint
@Stability(Experimental) public NextJsProjectOptions.Builder entrypoint(String entrypoint)
Sets the value ofNodePackageOptions.getEntrypoint()- Parameters:
entrypoint- Module entrypoint (maininpackage.json). Set to an empty string to not includemainin your package.json- Returns:
this
-
homepage
@Stability(Experimental) public NextJsProjectOptions.Builder homepage(String homepage)
Sets the value ofNodePackageOptions.getHomepage()- Parameters:
homepage- Package's Homepage / Website.- Returns:
this
-
keywords
@Stability(Experimental) public NextJsProjectOptions.Builder keywords(List<String> keywords)
Sets the value ofNodePackageOptions.getKeywords()- Parameters:
keywords- Keywords to include inpackage.json.- Returns:
this
-
license
@Stability(Experimental) public NextJsProjectOptions.Builder license(String license)
Sets the value ofNodePackageOptions.getLicense()- Parameters:
license- License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use thelicensedoption if you want to no license to be specified.- Returns:
this
-
licensed
@Stability(Experimental) public NextJsProjectOptions.Builder licensed(Boolean licensed)
Sets the value ofNodePackageOptions.getLicensed()- Parameters:
licensed- Indicates if a license should be added.- Returns:
this
-
maxNodeVersion
@Stability(Experimental) public NextJsProjectOptions.Builder maxNodeVersion(String maxNodeVersion)
Sets the value ofNodePackageOptions.getMaxNodeVersion()- Parameters:
maxNodeVersion- Minimum node.js version to require viaengines(inclusive).- Returns:
this
-
minNodeVersion
@Stability(Experimental) public NextJsProjectOptions.Builder minNodeVersion(String minNodeVersion)
Sets the value ofNodePackageOptions.getMinNodeVersion()- Parameters:
minNodeVersion- Minimum Node.js version to require via package.jsonengines(inclusive).- Returns:
this
-
npmAccess
@Stability(Experimental) public NextJsProjectOptions.Builder npmAccess(NpmAccess npmAccess)
Sets the value ofNodePackageOptions.getNpmAccess()- Parameters:
npmAccess- Access level of the npm package.- Returns:
this
-
npmProvenance
@Stability(Experimental) public NextJsProjectOptions.Builder npmProvenance(Boolean npmProvenance)
Sets the value ofNodePackageOptions.getNpmProvenance()- Parameters:
npmProvenance- 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
ReleaseandPublishercomponents are usingpublibto publish packages, which is using npm internally and supports provenance statements independently of the package manager used.- Returns:
this
-
npmRegistry
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder npmRegistry(String npmRegistry)
Deprecated.use `npmRegistryUrl` insteadSets the value ofNodePackageOptions.getNpmRegistry()- Parameters:
npmRegistry- The host name of the npm registry to publish to. Cannot be set together withnpmRegistryUrl.- Returns:
this
-
npmRegistryUrl
@Stability(Experimental) public NextJsProjectOptions.Builder npmRegistryUrl(String npmRegistryUrl)
Sets the value ofNodePackageOptions.getNpmRegistryUrl()- Parameters:
npmRegistryUrl- The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://")- Returns:
this
-
npmTokenSecret
@Stability(Experimental) public NextJsProjectOptions.Builder npmTokenSecret(String npmTokenSecret)
Sets the value ofNodePackageOptions.getNpmTokenSecret()- Parameters:
npmTokenSecret- GitHub secret which contains the NPM token to use when publishing packages.- Returns:
this
-
packageManager
@Stability(Experimental) public NextJsProjectOptions.Builder packageManager(NodePackageManager packageManager)
Sets the value ofNodePackageOptions.getPackageManager()- Parameters:
packageManager- The Node Package Manager used to execute scripts.- Returns:
this
-
packageName
@Stability(Experimental) public NextJsProjectOptions.Builder packageName(String packageName)
Sets the value ofNodePackageOptions.getPackageName()- Parameters:
packageName- The "name" in package.json.- Returns:
this
-
peerDependencyOptions
@Stability(Experimental) public NextJsProjectOptions.Builder peerDependencyOptions(PeerDependencyOptions peerDependencyOptions)
Sets the value ofNodePackageOptions.getPeerDependencyOptions()- Parameters:
peerDependencyOptions- Options forpeerDeps.- Returns:
this
-
peerDeps
@Stability(Experimental) public NextJsProjectOptions.Builder peerDeps(List<String> peerDeps)
Sets the value ofNodePackageOptions.getPeerDeps()- Parameters:
peerDeps- 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 thenode_modulestree 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.pinnedDevDependencyis 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.- Returns:
this
-
pnpmVersion
@Stability(Experimental) public NextJsProjectOptions.Builder pnpmVersion(String pnpmVersion)
Sets the value ofNodePackageOptions.getPnpmVersion()- Parameters:
pnpmVersion- The version of PNPM to use if using PNPM as a package manager.- Returns:
this
-
repository
@Stability(Experimental) public NextJsProjectOptions.Builder repository(String repository)
Sets the value ofNodePackageOptions.getRepository()- Parameters:
repository- The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository- Returns:
this
-
repositoryDirectory
@Stability(Experimental) public NextJsProjectOptions.Builder repositoryDirectory(String repositoryDirectory)
Sets the value ofNodePackageOptions.getRepositoryDirectory()- Parameters:
repositoryDirectory- 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.- Returns:
this
-
scopedPackagesOptions
@Stability(Experimental) public NextJsProjectOptions.Builder scopedPackagesOptions(List<? extends ScopedPackagesOptions> scopedPackagesOptions)
Sets the value ofNodePackageOptions.getScopedPackagesOptions()- Parameters:
scopedPackagesOptions- Options for privately hosted scoped packages.- Returns:
this
-
scripts
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder scripts(Map<String,String> scripts)
Deprecated.use `project.addTask()` or `package.setScript()`Sets the value ofNodePackageOptions.getScripts()- Parameters:
scripts- 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.- Returns:
this
-
stability
@Stability(Experimental) public NextJsProjectOptions.Builder stability(String stability)
Sets the value ofNodePackageOptions.getStability()- Parameters:
stability- Package's Stability.- Returns:
this
-
yarnBerryOptions
@Stability(Experimental) public NextJsProjectOptions.Builder yarnBerryOptions(YarnBerryOptions yarnBerryOptions)
Sets the value ofNodePackageOptions.getYarnBerryOptions()- Parameters:
yarnBerryOptions- Options for Yarn Berry.- Returns:
this
-
jsiiReleaseVersion
@Stability(Experimental) public NextJsProjectOptions.Builder jsiiReleaseVersion(String jsiiReleaseVersion)
Sets the value ofReleaseProjectOptions.getJsiiReleaseVersion()- Parameters:
jsiiReleaseVersion- Version requirement ofpublibwhich is used to publish modules to npm.- Returns:
this
-
majorVersion
@Stability(Experimental) public NextJsProjectOptions.Builder majorVersion(Number majorVersion)
Sets the value ofReleaseProjectOptions.getMajorVersion()- Parameters:
majorVersion- 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.- Returns:
this
-
minMajorVersion
@Stability(Experimental) public NextJsProjectOptions.Builder minMajorVersion(Number minMajorVersion)
Sets the value ofReleaseProjectOptions.getMinMajorVersion()- Parameters:
minMajorVersion- 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.- Returns:
this
-
npmDistTag
@Stability(Experimental) public NextJsProjectOptions.Builder npmDistTag(String npmDistTag)
Sets the value ofReleaseProjectOptions.getNpmDistTag()- Parameters:
npmDistTag- The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set thenpmDistTagproperty for each branch.- Returns:
this
-
postBuildSteps
@Stability(Experimental) public NextJsProjectOptions.Builder postBuildSteps(List<? extends JobStep> postBuildSteps)
Sets the value ofReleaseProjectOptions.getPostBuildSteps()- Parameters:
postBuildSteps- Steps to execute after build as part of the release workflow.- Returns:
this
-
prerelease
@Stability(Experimental) public NextJsProjectOptions.Builder prerelease(String prerelease)
Sets the value ofReleaseProjectOptions.getPrerelease()- Parameters:
prerelease- Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").- Returns:
this
-
publishDryRun
@Stability(Experimental) public NextJsProjectOptions.Builder publishDryRun(Boolean publishDryRun)
Sets the value ofReleaseProjectOptions.getPublishDryRun()- Parameters:
publishDryRun- Instead of actually publishing to package managers, just print the publishing command.- Returns:
this
-
publishTasks
@Stability(Experimental) public NextJsProjectOptions.Builder publishTasks(Boolean publishTasks)
Sets the value ofReleaseProjectOptions.getPublishTasks()- Parameters:
publishTasks- 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.- Returns:
this
-
releasableCommits
@Stability(Experimental) public NextJsProjectOptions.Builder releasableCommits(ReleasableCommits releasableCommits)
Sets the value ofReleaseProjectOptions.getReleasableCommits()- Parameters:
releasableCommits- Find commits that should be considered releasable Used to decide if a release is required.- Returns:
this
-
releaseBranches
@Stability(Experimental) public NextJsProjectOptions.Builder releaseBranches(Map<String,? extends BranchOptions> releaseBranches)
Sets the value ofReleaseProjectOptions.getReleaseBranches()- Parameters:
releaseBranches- 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, themajorVersionfield must also be provided for the default branch.- Returns:
this
-
releaseEveryCommit
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder releaseEveryCommit(Boolean releaseEveryCommit)
Deprecated.Use `releaseTrigger: ReleaseTrigger.continuous()` insteadSets the value ofReleaseProjectOptions.getReleaseEveryCommit()- Parameters:
releaseEveryCommit- Automatically release new versions every commit to one of branches inreleaseBranches.- Returns:
this
-
releaseFailureIssue
@Stability(Experimental) public NextJsProjectOptions.Builder releaseFailureIssue(Boolean releaseFailureIssue)
Sets the value ofReleaseProjectOptions.getReleaseFailureIssue()- Parameters:
releaseFailureIssue- Create a github issue on every failed publishing task.- Returns:
this
-
releaseFailureIssueLabel
@Stability(Experimental) public NextJsProjectOptions.Builder releaseFailureIssueLabel(String releaseFailureIssueLabel)
Sets the value ofReleaseProjectOptions.getReleaseFailureIssueLabel()- Parameters:
releaseFailureIssueLabel- The label to apply to issues indicating publish failures. Only applies ifreleaseFailureIssueis true.- Returns:
this
-
releaseSchedule
@Stability(Deprecated) @Deprecated public NextJsProjectOptions.Builder releaseSchedule(String releaseSchedule)
Deprecated.Use `releaseTrigger: ReleaseTrigger.scheduled()` insteadSets the value ofReleaseProjectOptions.getReleaseSchedule()- Parameters:
releaseSchedule- CRON schedule to trigger new releases.- Returns:
this
-
releaseTagPrefix
@Stability(Experimental) public NextJsProjectOptions.Builder releaseTagPrefix(String releaseTagPrefix)
Sets the value ofReleaseProjectOptions.getReleaseTagPrefix()- Parameters:
releaseTagPrefix- 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.- Returns:
this
-
releaseTrigger
@Stability(Experimental) public NextJsProjectOptions.Builder releaseTrigger(ReleaseTrigger releaseTrigger)
Sets the value ofReleaseProjectOptions.getReleaseTrigger()- Parameters:
releaseTrigger- The release trigger to use.- Returns:
this
-
releaseWorkflowName
@Stability(Experimental) public NextJsProjectOptions.Builder releaseWorkflowName(String releaseWorkflowName)
Sets the value ofReleaseProjectOptions.getReleaseWorkflowName()- Parameters:
releaseWorkflowName- The name of the default release workflow.- Returns:
this
-
releaseWorkflowSetupSteps
@Stability(Experimental) public NextJsProjectOptions.Builder releaseWorkflowSetupSteps(List<? extends JobStep> releaseWorkflowSetupSteps)
Sets the value ofReleaseProjectOptions.getReleaseWorkflowSetupSteps()- Parameters:
releaseWorkflowSetupSteps- A set of workflow steps to execute in order to setup the workflow container.- Returns:
this
-
versionrcOptions
@Stability(Experimental) public NextJsProjectOptions.Builder versionrcOptions(Map<String,? extends Object> versionrcOptions)
Sets the value ofReleaseProjectOptions.getVersionrcOptions()- Parameters:
versionrcOptions- Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it.- Returns:
this
-
workflowContainerImage
@Stability(Experimental) public NextJsProjectOptions.Builder workflowContainerImage(String workflowContainerImage)
Sets the value ofReleaseProjectOptions.getWorkflowContainerImage()- Parameters:
workflowContainerImage- Container image to use for GitHub workflows.- Returns:
this
-
workflowRunsOn
@Stability(Experimental) public NextJsProjectOptions.Builder workflowRunsOn(List<String> workflowRunsOn)
Sets the value ofReleaseProjectOptions.getWorkflowRunsOn()- Parameters:
workflowRunsOn- Github Runner selection labels.- Returns:
this
-
workflowRunsOnGroup
@Stability(Experimental) public NextJsProjectOptions.Builder workflowRunsOnGroup(GroupRunnerOptions workflowRunsOnGroup)
Sets the value ofReleaseProjectOptions.getWorkflowRunsOnGroup()- Parameters:
workflowRunsOnGroup- Github Runner Group selection options.- Returns:
this
-
build
@Stability(Experimental) public NextJsProjectOptions build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<NextJsProjectOptions>- Returns:
- a new instance of
NextJsProjectOptions - Throws:
NullPointerException- if any required attribute was not provided
-
-