frontend-maven-plugin
frontend-maven-plugin copied to clipboard
Maven Build not failing if ES Lint error
I am using the following maven configuration.
<plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>1.3</version> <configuration> <workingDirectory>src/main/resources/presentation</workingDirectory> </configuration> <executions> <execution> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> </goals> <phase>generate-resources</phase> <configuration> <nodeVersion>v6.9.5</nodeVersion> <npmVersion>3.10.10</npmVersion> </configuration> </execution> <execution> <id>run npm install</id> <goals> <goal>npm</goal> </goals> <configuration> <arguments>install</arguments> </configuration> </execution> <execution> <id>run gulp</id> <goals> <goal>npm</goal> </goals> <configuration> <arguments>run gulp-deploy </arguments> </configuration> </execution> </executions> </plugin>
On running maven build command I got the success message even I am getting the following error. I am expecting build should fail.
[INFO] ERROR in ./js/modules/FAQV2.js [INFO] [INFO] /Users/ankush/Workspace/daimler/cms-microsites/core.ui.apps/src/main/resources/presentation/js/modules/FAQV2.js [INFO] 18:17 error Expected 'this' to be used by class method 'attachEvents' class-methods-use-this [INFO] [INFO] ✖ 1 problem (1 error, 0 warnings) [INFO] [INFO] @ ./js/apps/microsites/config/ModuleMap.js 249:12-36 [INFO] @ ./js/apps/microsites/App.js [INFO] @ ./js/apps/microsites/index.js [INFO] @ ./js/apps/platform/App.js [INFO] @ ./js/apps/platform/index.js [INFO] [15:08:16] Finished 'build:js' after 35 s [INFO] [15:08:17] Finished 'lint:scss' after 36 s [INFO] [15:08:17] Starting 'build:scss'...

Maybe your gulp-deploy script returns exit code 0? It will only fail on non-zero exit codes.
@eirslett have the same issue on npm test and npm run compile as well.. when executed directly (npm executable), both fail with exit code 1. also, all output will be logged to stdout instead of stderr.
configuration:`
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<executions>
<execution>
<id>npm-test</id>
<phase>test</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run test:citrusframework:citrus</arguments>
<skip>${skipFrontendTests}</skip>
</configuration>
</execution>
<execution>
<id>npm-compile</id>
<phase>package</phase>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run compile:citrusframework:citrus</arguments>
<skip>${npm.setup.skip}</skip>
</configuration>
</execution>
test run with jest:
[INFO] =============================== Coverage summary ===============================
[INFO] Statements : 16.27% ( 606/3723 )
[INFO] Branches : 8.06% ( 160/1985 )
[INFO] Functions : 13.04% ( 107/820 )
[INFO] Lines : 16.48% ( 579/3513 )
[INFO] ================================================================================
[INFO] npm ERR! Lifecycle script `test` failed with error:
[INFO] npm ERR! Error: command failed
[INFO] npm ERR! in workspace: @citrusframework/[email protected]
[INFO] npm ERR! at location: C:\dev\workspaces\citrus\citrus-parent\citrus-npm
and build continues, compilation later on is done using tsc:
[INFO] --- frontend:1.13.4:npm (npm-compile) @ citrus-npm ---
[INFO] npm not inheriting proxy config from Maven
[INFO] Running 'npm run compile:citrusframework:citrus' in C:\dev\workspaces\citrus
[INFO]
[INFO] > [email protected] compile:citrusframework:citrus
[INFO] > npm --workspace @citrusframework/citrus run compile
[INFO]
[INFO]
[INFO] > @citrusframework/[email protected] compile
[INFO] > rimraf ./dist && npm run compile:common && npm run compile:esm
[INFO]
[INFO]
[INFO] > @citrusframework/[email protected] compile:common
[INFO] > tsc --pretty --project tsconfig.json
[INFO]
[INFO] src/main/internal/add-xml-support-to-serializer.ts:21:44 - error TS2339: Property 'parse' does not exist on type 'ObjectSerializer | ObjectSerializer'.
...
[INFO] Found 7 errors in the same file, starting at: src/main/internal/add-xml-support-to-serializer.ts:21
[INFO]
[INFO] npm ERR! Lifecycle script `compile:common` failed with error:
[INFO] npm ERR! Error: command failed
[INFO] npm ERR! in workspace: @citrusframework/[email protected]
[INFO] npm ERR! at location: C:\dev\workspaces\citrus\citrus-parent\citrus-npm
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.895 s (Wall Clock)
[INFO] Finished at: 2023-08-28T15:14:00+02:00
[INFO] ------------------------------------------------------------------------
any ideas?