Interface VaadinBuildTimeConfig


@ConfigMapping(prefix="vaadin.build") @ConfigRoot(phase=BUILD_TIME) public interface VaadinBuildTimeConfig
  • Method Details

    • enabled

      @WithDefault("true") boolean enabled()
      Gets if Vaadin Quarkus Plugins is enabled.
    • frontendResourcesDirectory

      @WithDefault("src/main/resources/META-INF/resources/frontend") File 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

      @WithDefault("src/main/resources/application.properties") File 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

      @WithDefault("src/main/frontend/") File frontendDirectory()
      A directory with project's frontend source files.
    • generatedTsFolder

      Optional<File> generatedTsFolder()
      The folder where flow will put TS API files for client projects.
    • nodeDownloadRoot

      Optional<String> 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

      @WithDefault("v24.14.0") String 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

      Optional<File> 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

      Optional<File> npmFolder()
      The folder where `package. json` file is located. Default is project root dir.
    • openApiJsonFile

      @WithDefault("generated-resources/openapi.json") File 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

      @WithDefault("META-INF/VAADIN/") File generatedResourceOutputDirectory()
      Defines the output directory for generated non-served resources, such as the token file.
    • resourcesOutputDirectory

      @WithDefault("META-INF/resources/") 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(since="24.8", forRemoval=true) Optional<File> 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

      @WithDefault("META-INF/VAADIN/webapp/") File frontendOutputDirectory()
      The folder where the frontend build tool should output index. js and other generated files.
    • postinstallPackages

      Optional<List<String>> 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

      Optional<Boolean> reactEnabled()
      Whether to enable react
    • applicationIdentifier

      Optional<String> applicationIdentifier()
      Identifier for the application. If not specified, defaults to the hashed value of 'groupId:artifactId'.
    • frontendExtraFileExtensions

      Optional<List<String>> 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 to true to 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.