Maven plugins to analyze javascript code quality

大兔子大兔子 提交于 2019-11-29 23:07:59

This is an old thread, but if you're interested in running Jasmine for BDD testing in your maven project, I wrote this jasmine-maven-plugin for exactly this purpose (that is, improving JS quality by encouraging TDD of it).

http://github.com/searls/jasmine-maven-plugin

I've used the following code to run JSLint as part of the COMPILE phase in Maven.

It downloads jslint4java from maven repository so you don't need anything else.

If JSLint found problems in javascript files, the build will fail.

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <target>
                            <taskdef name="jslint" classname="com.googlecode.jslint4java.ant.JSLintTask" classpath="${settings.localRepository}/com/googlecode/jslint4java/jslint4java-ant/1.4.2/jslint4java-ant-1.4.2.jar" />
                            <jslint options="white,browser,devel,undef,eqeqeq,plusplus,bitwise,regexp,strict,newcap,immed">
                                <predef>Ext,Utils</predef>
                                <formatter type="plain" />
                                <fileset dir="${basedir}/src/main/resources/META-INF/resources/js" includes="**/*.js" />
                            </jslint>
                        </target>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.googlecode.jslint4java</groupId>
                    <artifactId>jslint4java-ant</artifactId>
                    <version>1.4.2</version>
                </dependency>
            </dependencies>
        </plugin>
Alex Objelean

Wro4j-maven-plugin provides several goals for static code analysis for JavaScript and CSS resources as well, like: jslint, jshint and csslint

Here is a link to the official Wro4j-maven-plugin documentation.

Christopher Hunt

A couple of plugins I've submitted at Codehaus may also be of interest:

http://mojo.codehaus.org/js-import-maven-plugin/

http://mojo.codehaus.org/jslint-maven-plugin/

The first one brings Maven dependency management to JavaScript. The second one allows the rapid and efficient invocation of JSLint.

A quick Google for "jslint ant task" reveals jslint4java, which apparently includes an Ant task.

This project looks close:

http://dev.abiss.gr/mvn-jstools/index.html

It generates a report with JsLint. It doesn't look like it hooks into the test phase of the build lifecycle, so I don't think it will reject a build if jslint finds issues (which is what I'd like to do on my projects).

jslint4java has been mentioned a few times, I can't recall which version they added it, but there's actually a built in Maven task.

Traditionally with jslint4java and Maven, folks have used the antrun plugin to run the jslint4java ant task, however you can now configure it all in Maven and avoid that extra step.

http://docs.jslint4java.googlecode.com/git/2.0.2/maven.html

I've worked on the SweetDEV RIA project which is a Java tag library composed of several "Web 2.0/Ajax/JavaScript" components.

The maven 2 build process includes some in-house plugins which launches JSLint (code verifier), JsMin (code minifier), JsDoc generation (JavaDoc like documentation), JsUnit (unit tests) and Selenium (in browser) tests .

You may take a look on the SweetDEV RIA maven plugins repository.

The new jslint-maven-plugin looks useful. It wraps jslint4java, executing JSLint during the test phase of your build.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!