A Maven plugin that integrates esbuild into your Java project for fast and modern JavaScript/TypeScript/CSS/SCSS bundling.
- Runs esbuild during Maven build lifecycle.
- Supports Maven dependencies for web assets via mvnpm.
- Configurable source/output directories and entry point.
- No Node.js installation required — uses Maven dependencies.
Add the plugin to your pom.xml:
<plugin>
<groupId>io.mvnpm</groupId>
<artifactId>esbuild-maven-plugin</artifactId>
<version>2.0.0</version>
<executions>
<execution>
<id>esbuild</id>
<goals>
<goal>esbuild</goal>
</goals>
</execution>
</executions>
<configuration>
<entryPoint>backoffice.js</entryPoint>
</configuration>
<dependencies>
<!-- Web dependencies using mvnpm.io -->
<dependency>
<groupId>org.mvnpm</groupId>
<artifactId>bootstrap</artifactId>
<version>5.3.3</version>
</dependency>
<dependency>
<groupId>org.mvnpm.at.popperjs</groupId>
<artifactId>core</artifactId>
<version>2.11.8</version>
</dependency>
<dependency>
<groupId>org.mvnpm</groupId>
<artifactId>bootstrap-icons</artifactId>
<version>1.11.3</version>
</dependency>
</dependencies>
</plugin>| Parameter | Default | Description |
|---|---|---|
sourceDirectory |
src/main/web |
Directory containing source files. |
outputDirectory |
target/classes/META-INF/resources/static/bundle |
Output directory for bundled files. |
entryPoint |
index.js |
Main JS entry point. |
nodeModules |
node_modules |
Node modules directory. |