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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Быстрый поиск в Google по запросу «jslint ant task» обнаруживает jslint4java, который, по-видимому, включает задачу Ant.
Задачу jslint4java ant должно быть довольно легко встроить в maven с помощью плагина antrun.
Я работал над SweetDEV RIA проект, библиотекой тегов Java, состоящей из нескольких компонентов «Web 2.0 / Ajax / JavaScript».
Процесс сборки maven 2 включает в себя некоторые внутренние плагины, которые запускают тесты JSLint (верификатор кода), JsMin (минификатор кода), Генерация JsDoc (документация, подобная JavaDoc), JsUnit (модульные тесты) и Селен (в браузере).
Вы можете взглянуть на репозиторий плагинов SweetDEV RIA maven.
Не могли бы вы отредактировать свой ответ и исправить неработающую ссылку в конце? И замените ссылку jsunit.net на github.com/pivotal/jsunit (домен jsunit.net занял рекламная компания)
Этот проект выглядит близко:
http://dev.abiss.gr/mvn-jstools/index.html
Он генерирует отчет с JsLint. Не похоже, что он подключается к фазе тестирования жизненного цикла сборки, поэтому я не думаю, что он отклонит сборку, если jslint обнаружит проблемы (это то, что я хотел бы сделать в своих проектах).
Это старый поток, но если вы заинтересованы в запуске Jasmine для тестирования BDD в своем проекте maven, я написал этот jasmine-maven-plugin именно для этой цели (то есть улучшения качества JS путем поощрения TDD).
Новый jslint-maven-plugin выглядит полезным. Он обертывает jslint4java, выполняя JSLint на этапе тестирования вашей сборки.
Я использовал следующий код для запуска 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>
Также могут быть интересны несколько плагинов, которые я представил на Codehaus:
http://mojo.codehaus.org/js-import-maven-plugin/
http://mojo.codehaus.org/jslint-maven-plugin/
Первый переносит управление зависимостями Maven в JavaScript. Второй позволяет быстро и эффективно вызывать JSLint.
Сонар и плагин JavaScript: http://docs.codehaus.org/display/SONAR/JavaScript+Plugin
Добро пожаловать в SO. Пожалуйста, будьте более конкретны, цитируя ответы и аргументируя предоставленную ссылку.
Wro4j-maven-плагин также обеспечивает несколько целей для статического анализа кода для ресурсов JavaScript и CSS, например: jslint, jshint и csslint.
Вот ссылка на официальный Документация по Wro4j-maven-plugin.
Плагин wro4j - это круто! Спасибо, Алекс.
jslint4java упоминался несколько раз, я не могу вспомнить, какую версию они добавили, но на самом деле есть встроенная задача Maven.
Традиционно с jslint4java и Maven люди использовали плагин antrun для запуска задачи jslint4java ant, однако теперь вы можете настроить все это в Maven и избежать этого дополнительного шага.
Ваш заголовок кажется бессмысленным. Какое отношение имеет maven к контролю качества JavaScript?