public static class NodeTasks.Builder extends Object implements Serializable
NodeExecutor
instance.Modifier and Type | Field and Description |
---|---|
File |
generatedFolder
Directory where generated files are written.
|
File |
npmFolder
Directory for for npm and folders and files.
|
Constructor and Description |
---|
Builder(ClassFinder classFinder,
File npmFolder)
Create a builder instance given an specific npm folder.
|
Builder(ClassFinder classFinder,
File npmFolder,
File generatedPath)
Create a builder instance with custom npmFolder and generatedPath
|
Builder(ClassFinder classFinder,
File npmFolder,
File generatedPath,
File frontendDirectory)
Create a builder instance with all parameters.
|
Modifier and Type | Method and Description |
---|---|
NodeTasks |
build()
Creates a
NodeExecutor using this configuration. |
NodeTasks.Builder |
copyLocalResources(File frontendResourcesDirectory)
Set local frontend files to be copied from given folder.
|
NodeTasks.Builder |
copyResources(Set<File> jars)
Sets whether copy resources from classpath to the `node_modules`
folder as they are available for webpack build.
|
NodeTasks.Builder |
createMissingPackageJson(boolean create)
Sets whether to create the package file if missing.
|
NodeTasks.Builder |
enableImportsUpdate(boolean enableImportsUpdate)
Sets whether to enable imports file update.
|
NodeTasks.Builder |
enablePackagesUpdate(boolean enablePackagesUpdate)
Sets whether to enable packages and webpack file updates.
|
NodeTasks.Builder |
enablePnpm(boolean enable)
Enables pnpm tool.
|
NodeTasks.Builder |
populateTokenFileData(elemental.json.JsonObject object)
Fill token file data into the provided
object . |
NodeTasks.Builder |
runNpmInstall(boolean runNpmInstall)
Sets whether run
npm install after updating
dependencies. |
NodeTasks.Builder |
useByteCodeScanner(boolean byteCodeScanner)
Sets frontend scanner strategy: byte code scanning strategy is used
if
byteCodeScanner is true , full classpath scanner
strategy is used otherwise (by default). |
NodeTasks.Builder |
withAdditionalFrontendModules(List<String> frontendModules)
JS modules to be included in the webpack bundle, in addition to those
discovered by class scanning.
|
NodeTasks.Builder |
withCiBuild(boolean ciBuild)
Enables ci build.
|
NodeTasks.Builder |
withEmbeddableWebComponents(boolean generateEmbeddableWebComponents)
Sets whether to collect and package
WebComponentExporter dependencies. |
NodeTasks.Builder |
withHomeNodeExecRequired(boolean requireHomeNodeExec)
Requires node executable to be installed in vaadin home folder.
|
NodeTasks.Builder |
withNodeDownloadRoot(URI nodeDownloadRoot)
Sets the download node.js URL.
|
NodeTasks.Builder |
withNodeVersion(String nodeVersion)
Sets the node.js version to be used when node.js is installed
automatically by Vaadin, for example
"v14.15.4" . |
NodeTasks.Builder |
withOldLicenseChecker(boolean enable)
Falls back to the old license checking and disables server-side and
offline new license checking features.
|
NodeTasks.Builder |
withProductionMode(boolean productionMode)
Sets the production mode.
|
NodeTasks.Builder |
withTokenFile(File tokenFile)
Sets the token file (flow-build-info.json) path.
|
NodeTasks.Builder |
withWebpack(File webpackOutputDirectory,
String webpackTemplate,
String webpackGeneratedTemplate)
Sets the webpack related properties.
|
public final File npmFolder
public final File generatedFolder
public Builder(ClassFinder classFinder, File npmFolder)
classFinder
- a class findernpmFolder
- folder with the `package.json` filepublic Builder(ClassFinder classFinder, File npmFolder, File generatedPath)
classFinder
- a class findernpmFolder
- folder with the `package.json` filegeneratedPath
- folder where flow generated files will be placed.public Builder(ClassFinder classFinder, File npmFolder, File generatedPath, File frontendDirectory)
classFinder
- a class findernpmFolder
- folder with the `package.json` filegeneratedPath
- folder where flow generated files will be placed.frontendDirectory
- a directory with project's frontend filespublic NodeTasks build()
NodeExecutor
using this configuration.NodeExecutor
instancepublic NodeTasks.Builder withWebpack(File webpackOutputDirectory, String webpackTemplate, String webpackGeneratedTemplate)
webpackOutputDirectory
- the directory to set for webpack to output its build
results.webpackTemplate
- name of the webpack resource to be used as template when
creating the webpack.config.js
file.webpackGeneratedTemplate
- name of the webpack resource to be used as template when
creating the webpack.generated.js
file.public NodeTasks.Builder enablePackagesUpdate(boolean enablePackagesUpdate)
true
.enablePackagesUpdate
- true
to enable packages and webpack update,
otherwise false
public NodeTasks.Builder enableImportsUpdate(boolean enableImportsUpdate)
false
. This will also enable creation of missing package
files if set to true.enableImportsUpdate
- true
to enable imports file update, otherwise
false
public NodeTasks.Builder runNpmInstall(boolean runNpmInstall)
npm install
after updating
dependencies.runNpmInstall
- run npm install. Default is false
public NodeTasks.Builder copyResources(Set<File> jars)
jars
- set of class nodes to be visited. Not null
public NodeTasks.Builder withEmbeddableWebComponents(boolean generateEmbeddableWebComponents)
WebComponentExporter
dependencies.generateEmbeddableWebComponents
- collect dependencies. Default is true
public NodeTasks.Builder createMissingPackageJson(boolean create)
create
- create the packagepublic NodeTasks.Builder copyLocalResources(File frontendResourcesDirectory)
frontendResourcesDirectory
- folder to copy local frontend files frompublic NodeTasks.Builder useByteCodeScanner(boolean byteCodeScanner)
byteCodeScanner
is true
, full classpath scanner
strategy is used otherwise (by default).byteCodeScanner
- if true
then byte code scanner is used, full
scanner is used otherwise (by default).public NodeTasks.Builder populateTokenFileData(elemental.json.JsonObject object)
object
.object
- the object to fill with token file datapublic NodeTasks.Builder withTokenFile(File tokenFile)
tokenFile
- token file pathpublic NodeTasks.Builder enablePnpm(boolean enable)
"pnpm" will be used instead of "npm".
enable
- enables pnpm.public NodeTasks.Builder withHomeNodeExecRequired(boolean requireHomeNodeExec)
requireHomeNodeExec
- requires vaadin home node execpublic NodeTasks.Builder withAdditionalFrontendModules(List<String> frontendModules)
@vaadin/flow-frontend/VaadinDevModeGizmo.js
) is added
via this mechanism.frontendModules
- List of module names.public NodeTasks.Builder withNodeVersion(String nodeVersion)
"v14.15.4"
.
Defaults to .nodeVersion
- the new node version to download, not null.public NodeTasks.Builder withNodeDownloadRoot(URI nodeDownloadRoot)
NodeInstaller.DEFAULT_NODEJS_DOWNLOAD_ROOT
.nodeDownloadRoot
- the new download URL to set, not null.public NodeTasks.Builder withProductionMode(boolean productionMode)
productionMode
- true
to enable production mode, otherwise
false
public NodeTasks.Builder withOldLicenseChecker(boolean enable)
enable
- falls back to the old license checker if true
.public NodeTasks.Builder withCiBuild(boolean ciBuild)
"npm ci" will be used instead of "npm install". "--frozen-lockfile" will be used if pnpm is used instead of npm.
ciBuild
- true to enable ci buildCopyright © 2025. All rights reserved.