Javascript コードは保守が難しい場合があります。
妥当な品質レベルを確保するのに役立つツールを探しています。
これまでのところ、JavaScript の非常に優れた単体テスト フレームワークであるJsUNitを見つけました。テストは、利用可能な任意のブラウザーで ant から自動的に実行できます。
PMD、checkstyle、Findbugに相当するJavaScriptをまだ見つけていません...
javascript 用の静的コード分析ツールを知っていますか?
Javascript コードは保守が難しい場合があります。
妥当な品質レベルを確保するのに役立つツールを探しています。
これまでのところ、JavaScript の非常に優れた単体テスト フレームワークであるJsUNitを見つけました。テストは、利用可能な任意のブラウザーで ant から自動的に実行できます。
PMD、checkstyle、Findbugに相当するJavaScriptをまだ見つけていません...
javascript 用の静的コード分析ツールを知っていますか?
これは古いスレッドですが、Maven プロジェクトで BDD テスト用に Jasmine を実行することに興味がある場合は、この jasmine-maven-plugin をまさにこの目的 (つまり、TDD を奨励することで JS の品質を向上させること) のために書きました。
次のコードを使用して、Maven の COMPILE フェーズの一部として JSLint を実行しました。
Maven リポジトリから jslint4java をダウンロードするので、他に何も必要ありません。
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>
Wro4j-maven-pluginは、 jslint 、 jshint、csslintなど、JavaScript および CSS リソースの静的コード分析にもいくつかの目標を提供します。
これは、公式のWro4j-maven-plugin ドキュメントへのリンクです。
私が Codehaus に提出したいくつかのプラグインも興味深いかもしれません。
http://mojo.codehaus.org/js-import-maven-plugin/
http://mojo.codehaus.org/jslint-maven-plugin/
最初のものは、Maven の依存関係管理を JavaScript にもたらします。2 つ目は、JSLint の迅速かつ効率的な呼び出しを可能にします。
「jslintanttask」のクイックグーグルはjslint4javaを明らかにします。これには明らかにAntタスクが含まれています。
jslint4java は何度か言及されていますが、どのバージョンが追加されたかは思い出せませんが、実際には組み込みの Maven タスクがあります。
従来、jslint4java と Maven では、antrun プラグインを使用して jslint4java ant タスクを実行していましたが、Maven ですべてを構成して、その余分な手順を回避できるようになりました。
このプロジェクトは次のように見えます。
http://dev.abiss.gr/mvn-jstools/index.html
JsLint でレポートを生成します。ビルド ライフサイクルのテスト フェーズにフックしているようには見えないので、jslint が問題を見つけた場合にビルドを拒否することはないと思います (これは私のプロジェクトでやりたいことです)。
私は、いくつかの「Web 2.0/Ajax/JavaScript」コンポーネントで構成される Java タグ ライブラリであるSweetDEV RIA プロジェクトに取り組んできました。
Maven 2 ビルド プロセスには、 JSLint (コード検証ツール)、JsMin (コード縮小ツール)、JsDoc 生成(JavaDoc のようなドキュメント)、JsUnit (単体テスト)、およびSelenium (ブラウザー内) テストを起動するいくつかの社内プラグインが含まれています。
新しいjslint-maven-pluginは便利そうです。jslint4java をラップし、ビルドのテスト段階で JSLint を実行します。
ソナーとJavaScriptプラグイン:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin