Плагины Maven для анализа качества кода JavaScript - PullRequest
20 голосов
/ 18 сентября 2008

Код Javascript может быть сложно поддерживать.
Я ищу инструменты, которые помогут мне обеспечить приемлемый уровень качества.
До сих пор я нашел JsUNit , очень хороший фреймворк для юнит-теста для javascript. Тесты можно запускать автоматически из ant в любом доступном браузере.
Я еще не нашел какой-либо javascript-эквивалент PMD, checkstyle, Findbug ...

Знаете ли вы какой-либо инструмент статического анализа кода для JavaScript?

Ответы [ 10 ]

13 голосов
/ 28 июня 2010

Это старый поток, но если вы заинтересованы в запуске Jasmine для тестирования BDD в вашем проекте maven, я написал этот плагин jasmine-maven-именно для этой цели (то есть для улучшения качества JS, поощряя его TDD). ).

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

10 голосов
/ 26 октября 2010

Я использовал следующий код для запуска JSLint как части фазы COMPILE в Maven.

Он загружает jslint4java из репозитория maven, поэтому вам больше ничего не нужно.

Если JSLint обнаружил проблемы в файлах javascript, сборка завершится неудачей.

<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>
6 голосов
/ 08 декабря 2011

Wro4j-maven-plugin также предоставляет несколько целей для статического анализа кода для ресурсов JavaScript и CSS, например: jslint , jshint и csslint

Вот ссылка на официальную документацию Wro4j-maven-plugin .

4 голосов
/ 07 декабря 2010

Несколько плагинов, которые я отправил в Codehaus, также могут представлять интерес

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

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

Первый - управление зависимостями Maven для JavaScript. Второй позволяет быстро и эффективно вызывать JSLint.

1 голос
/ 15 марта 2012

jslint4java упоминался несколько раз, я не могу вспомнить, какую версию они добавили, но на самом деле есть встроенная задача Maven.

Традиционно с jslint4java и Maven люди использовали плагин antrun для запуска задачи jslint4java ant, однако теперь вы можете настроить все это в Maven и избежать этого дополнительного шага.

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

1 голос
/ 10 января 2009

Этот проект выглядит близко:

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

Создает отчет с помощью JsLint. Похоже, что он не зацепляет фазу тестирования жизненного цикла сборки, поэтому я не думаю, что он отклонит сборку, если jslint обнаружит проблемы (что я и хотел бы сделать в своих проектах).

1 голос
/ 18 сентября 2008

Быстрый Google для "jslint ant task" показывает jslint4java , который, очевидно, включает в себя задачу Ant.

0 голосов
/ 25 августа 2011

Сонар и плагин JavaScript: http://docs.codehaus.org/display/SONAR/JavaScript+Plugin

0 голосов
/ 18 сентября 2010

Новый jslint-maven-plugin выглядит полезным. Он оборачивает jslint4java, выполняя JSLint на этапе тестирования вашей сборки.

0 голосов
/ 06 октября 2008

Я работал над проектом SweetDEV RIA , который представляет собой библиотеку тегов Java, состоящую из нескольких компонентов "Web 2.0 / Ajax / JavaScript".

Процесс сборки maven 2 включает несколько внутренних плагинов, которые запускают JSLint (верификатор кода), JsMin (минификатор кода), Генерация JsDoc (JavaDoc как документация), JsUnit (модульные тесты) и Selenium (в браузере) тесты.

Вы можете взглянуть на хранилище подключаемых модулей maven SweetDEV RIA .

...