Interface VaadinBuildTimeConfig
@ConfigMapping(prefix="vaadin.build")
@ConfigRoot(phase=BUILD_TIME)
public interface VaadinBuildTimeConfig
-
Method Summary
Modifier and TypeMethodDescriptionIdentifier for the application.Application properties file in Quarkus project.booleanInstructs to use bun for installing npm frontend resources.booleanciBuild()Setting this to true will run npm ci instead of npm install when using npm.booleanControl cleaning of generated frontend files when executing 'build-frontend'.booleanAllows building a version of the application with a commercial banner when commercial components are used without a license key.booleanWhether to insert the initial UIDL object in the bootstrap index.htmlbooleanenabled()Gets if Vaadin Quarkus Plugins is enabled.booleanSetting this to true will force a build of the production build even if there is a default production bundle that could be used.A directory with project's frontend source files.Parameter for adding file extensions to handle when generating bundles.booleanSet totrueto ignore node/npm tool version checks.The folder where the frontend build tool should output index. js and other generated files.Defines the project frontend directory from where resources should be copied from for use with the frontend build tool.booleanWhether to generate a bundle from the project frontend sources or not.Defines the output directory for generated non-served resources, such as the token file.The folder where flow will put TS API files for client projects.booleanWhether to generate embeddable web components from WebComponentExporter inheritors.Download node. js from this URL.The folder containing the Node.js executable.The node. js version to be used when node. js is installed automatically by Vaadin, for example `"v16.0.0"`.booleanWhether to exclude npm packages for web components.The folder where `package. json` file is located.Default generated path of the OpenAPI json.booleanWhether to use byte code scanner strategy to discover frontend components.booleanInstructs to use pnpm for installing npm frontend resources.Additional npm packages to run post install scripts for.Whether to enable reactbooleanWhether vaadin home node executable usage is forced.The resources output directory for META-INF/resources in the classes output directory.booleanWhether to run npm install after updating dependencies.booleanWhether to disable dev bundle rebuild.booleanInstructs to use globally installed pnpm tool or the default supported pnpm version.Deprecated, for removal: This API element is subject to removal in a future version.
-
Method Details
-
enabled
@WithDefault("true") boolean enabled()Gets if Vaadin Quarkus Plugins is enabled. -
frontendResourcesDirectory
Defines the project frontend directory from where resources should be copied from for use with the frontend build tool. -
generateBundle
@WithDefault("true") boolean generateBundle()Whether to generate a bundle from the project frontend sources or not. Defaults to true -
generateEmbeddableWebComponents
@WithDefault("true") boolean generateEmbeddableWebComponents()Whether to generate embeddable web components from WebComponentExporter inheritors. -
optimizeBundle
@WithDefault("true") boolean optimizeBundle()Whether to use byte code scanner strategy to discover frontend components. -
runNpmInstall
@WithDefault("true") boolean runNpmInstall()Whether to run npm install after updating dependencies. -
ciBuild
@WithDefault("false") boolean ciBuild()Setting this to true will run npm ci instead of npm install when using npm. If using pnpm, the install will be run with --frozen-lockfile parameter. This makes sure that the versions in package lock file will not be overwritten and production builds are reproducible. -
forceProductionBuild
@WithDefault("false") boolean forceProductionBuild()Setting this to true will force a build of the production build even if there is a default production bundle that could be used. Created production bundle optimization is defined by optimizeBundle parameter. -
cleanFrontendFiles
@WithDefault("true") boolean cleanFrontendFiles()Control cleaning of generated frontend files when executing 'build-frontend'. Mainly this is wanted to be true which it is by default. -
applicationProperties
Application properties file in Quarkus project. -
eagerServerLoad
@WithDefault("false") boolean eagerServerLoad()Whether to insert the initial UIDL object in the bootstrap index.html -
frontendDirectory
A directory with project's frontend source files. -
generatedTsFolder
The folder where flow will put TS API files for client projects. -
nodeDownloadRoot
Download node. js from this URL. Handy in heavily firewalled corporate environments where the node.js download can be provided from an intranet mirror. Defaults to null which will cause the downloader to use NodeInstaller.DEFAULT_NODEJS_DOWNLOAD_ROOT. Example: https://nodejs.org/dist/ -
nodeVersion
The node. js version to be used when node. js is installed automatically by Vaadin, for example `"v16.0.0"`. Defaults to the Vaadin-default node version - see FrontendTools for details. -
nodeFolder
The folder containing the Node.js executable.When set, Node.js will be exclusively used from this folder. If not found, the build will fail. If not provided, Vaadin will try to detect an existing compatible Node.js installation or install it in Vaadin home directory.
-
npmFolder
The folder where `package. json` file is located. Default is project root dir. -
openApiJsonFile
Default generated path of the OpenAPI json. -
pnpmEnable
@WithDefault("false") boolean pnpmEnable()Instructs to use pnpm for installing npm frontend resources. -
bunEnable
@WithDefault("false") boolean bunEnable()Instructs to use bun for installing npm frontend resources. -
useGlobalPnpm
@WithDefault("false") boolean useGlobalPnpm()Instructs to use globally installed pnpm tool or the default supported pnpm version. -
requireHomeNodeExec
@WithDefault("false") boolean requireHomeNodeExec()Whether vaadin home node executable usage is forced. If it's set to true then vaadin home 'node' is checked and installed if it's absent. Then it will be used instead of globally 'node' or locally installed 'node'. -
generatedResourceOutputDirectory
Defines the output directory for generated non-served resources, such as the token file. -
resourcesOutputDirectory
The resources output directory for META-INF/resources in the classes output directory.- Returns:
- the META-INF/resources directory, usually {output}/classes/META-INF/resources
-
webpackOutputDirectory
Deprecated, for removal: This API element is subject to removal in a future version.The folder where the frontend build tool should output index. js and other generated files. -
frontendOutputDirectory
The folder where the frontend build tool should output index. js and other generated files. -
postinstallPackages
Additional npm packages to run post install scripts for.Post install is automatically run for internal dependencies which rely on post install scripts to work, e.g. esbuild.
-
skipDevBundleBuild
@WithDefault("false") boolean skipDevBundleBuild()Whether to disable dev bundle rebuild. -
reactEnabled
Whether to enable react -
applicationIdentifier
Identifier for the application. If not specified, defaults to the hashed value of 'groupId:artifactId'. -
frontendExtraFileExtensions
Parameter for adding file extensions to handle when generating bundles. Hashes are calculated for these files as part of detecting if a new bundle should be generated. From the commandline use comma separated list -Ddevmode.frontendExtraFileExtensions="svg,ico" In plugin configuration use comma separated values svg,ico -
npmExcludeWebComponents
@WithDefault("false") boolean npmExcludeWebComponents()Whether to exclude npm packages for web components. -
frontendIgnoreVersionChecks
@WithDefault("false") boolean frontendIgnoreVersionChecks()Set totrueto ignore node/npm tool version checks.
Note that disabling frontend tools version checking could cause failing builds and other issues that are difficult to debug. -
commercialWithBanner
@WithDefault("false") boolean commercialWithBanner()Allows building a version of the application with a commercial banner when commercial components are used without a license key.
-
frontendOutputDirectory()