Плагины Maven для анализа качества кода javascript

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

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

Ваш заголовок кажется бессмысленным. Какое отношение имеет maven к контролю качества JavaScript?

SCdF 19.09.2008 00:05

Исправил заголовок. Кроме того, Maven имеет прямое отношение к контролю качества любого исходного кода и потому, что он может автоматически и последовательно выкачивать сборки и синхронизированные отчеты о качестве для разработчиков с настольных компьютеров и серверов CI.

HDave 10.02.2012 00:15
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
20
2
12 525
10

Ответы 10

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

Задачу jslint4java ant должно быть довольно легко встроить в maven с помощью плагина antrun.

Dominic Mitchell 24.03.2009 14:01

Я работал над 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 занял рекламная компания)

Rob W 08.06.2013 18:12

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

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

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

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

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

Новый 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. Пожалуйста, будьте более конкретны, цитируя ответы и аргументируя предоставленную ссылку.

Tony Rad 13.11.2012 20:28

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

Вот ссылка на официальный Документация по Wro4j-maven-plugin.

Плагин wro4j - это круто! Спасибо, Алекс.

dbrin 24.07.2013 09:59

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

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

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

Другие вопросы по теме