UNPKG

@phoenix-plugin-registry/jshint.configurator

Version:

Enables configuration of JSHint options. Reads from current document's inline configuration directive or from '.jshintrc' configuration file. Extract JSHint options to JSON format.

193 lines (184 loc) 23.2 kB
/*global define */ // English - root strings // reference http://qiita.com/xorphitus/items/f26ec8fbe17c317d3994 define({ 'COMMAND_NAME': 'JSHintの設定', /* DIALOG HEADER */ 'DIALOG_TITLE': 'JSHintの設定', 'CLEAR_OPTIONS': '全てのオプションを消去', /* DIALOG BODY */ 'ENFORCING_OPTIONS': '強制オプション', 'ENFORCING_OPTIONS_DESC': 'true をセットすると警告を出す。', 'RELAXING_OPTIONS': '緩和オプション', 'RELAXING_OPTIONS_DESC': 'true をセットすると警告を出さない。', 'ENVIRONMENTS': '環境オプション', 'ENVIRONMENTS_DESC': 'いくつかの主要ライブラリの定義済みグローバル変数を JSHint に通知する。', /* JSHINT OPTIONS */ 'ENFORCEALL': 'enforceall', 'BITWISE': 'bitwise', 'CAMELCASE': 'camelcase', 'CURLY': 'curly', 'EQEQEQ': 'eqeqeq', 'ES3': 'es3', 'ES5': 'es5', 'GLOBALS': 'globals', 'FORIN': 'forin', 'FREEZE': 'freeze', 'IMMED': 'immed', 'INDENT': 'indent', 'LATEDEF': 'latedef', 'NOCOMMA': 'nocomma', 'NEWCAP': 'newcap', 'NOARG': 'noarg', 'NOEMPTY': 'noempty', 'NONBSP': 'nonbsp', 'NONEW': 'nonew', 'SINGLEGROUPS': 'singleGroups', 'PLUSPLUS': 'plusplus', 'QUOTMARK': 'quotmark', 'UNDEF': 'undef', 'UNUSED': 'unused', 'STRICT': 'strict', 'MAXPARAMS': 'maxparams', 'MAXDEPTH': 'maxdepth', 'MAXSTATEMENTS': 'maxstatements', 'MAXCOMPLEXITY': 'maxcomplexity', 'MAXLEN': 'maxlen', 'ASI': 'asi', 'BOSS': 'boss', 'DEBUG': 'debug', 'ELISION': 'elision', 'EQNULL': 'eqnull', 'ESNEXT': 'esnext', 'EVIL': 'evil', 'EXPR': 'expr', 'FUNSCOPE': 'funscope', 'GLOBALSTRICT': 'globalstrict', 'ITERATOR': 'iterator', 'WITHSTMT': 'withstmt', 'LASTSEMIC': 'lastsemic', 'LAXBREAK': 'laxbreak', 'LAXCOMMA': 'laxcomma', 'LOOPFUNC': 'loopfunc', 'MAXERR': 'maxerr', 'MOZ': 'moz', 'MULTISTR': 'multistr', 'NOTYPEOF': 'notypeof', 'PROTO': 'proto', 'SCRIPTURL': 'scripturl', 'SHADOW': 'shadow', 'SUB': 'sub', 'SUPERNEW': 'supernew', 'VALIDTHIS': 'validthis', 'NOYIELD': 'noyield', 'BROWSER': 'browser', 'COUCH': 'couch', 'DEVEL': 'devel', 'DOJO': 'dojo', 'JQUERY': 'jquery', 'MOOTOOLS': 'mootools', 'NODE': 'node', 'NONSTANDARD': 'nonstandard', 'PHANTOM': 'phantom', 'PROTOTYPEJS': 'prototypejs', 'RHINO': 'rhino', 'WORKER': 'worker', 'WSH': 'wsh', 'YUI': 'yui', 'BROWSERIFY': 'browserify', 'JASMINE': 'jasmine', 'MOCHA': 'mocha', 'QUNIT': 'qunit', 'SHELLJS': 'shelljs', 'TYPED': 'typed', /* Enforcing options */ 'BITWISE_DESC': '^ (XOR), | (OR), その他のビット演算子の使用を禁止する。ビット演算子は JavaScript で使用されることは非情にまれで、& (AND) は && の単なる書き間違いであることが多い。', 'CAMELCASE_DESC': 'すべての変数名で、キャメルケース (camelCase)、またはアンダースコア付きアッパーケース (UPPER_CASE) を強制する。', 'CURLY_DESC': 'ループや if 文のブロックで、常に波括弧 {} を必要とする。JavaScript では、ブロックの中が一文の場合、波括弧の省略が可能。', 'ENFORCEALL_DESC': '最も厳格な JSHint 構成を手早く適用する。すべての強制オプションを有効にし、すべての緩和オプションを無効にする。', 'EQEQEQ_DESC': '厳密等価演算子 ===, !== の代わりに等値演算子 ==, != を使用することを禁止する。等値演算子は、値を比較する前に型変換を行うため、予期しない結果につながる可能性がある。厳密等価演算子は型変換を行わないため一般的に安全である。', 'ES3_DESC': 'ECMAScript 3 の仕様に準拠させる。IE 6/7/8/9 のような古いブラウザおよび、その他のレガシーな JavaScript 環境でプログラムを実行する必要がある場合に使用する。', 'ES5_DESC': 'ECMAScript 5.1 の仕様で定義されている構文を許可する。予約済みキーワードをオブジェクトのプロパティとして許可することも含まれている。', 'FORIN_DESC': 'for-in 構文は、プロトタイプチェーンで継承したプロパティを含む全てのプロパティ名でループを回す。この挙動は、意図しないプロパティが渡されるおそれがあるので、安全のため必ず hasOwnProperty() で継承されたプロパティをフィルタリングすることを要求する。', 'FREEZE_DESC': 'Array や Date のような組み込みオブジェクトのプロトタイプのオーバーライドを禁止する。', 'FUNSCOPE_DESC': '制御構造 (if ブロック等) 内部で宣言した変数への外部からのアクセスを警告しない。JavaScrpt にはグローバルと関数の2つのスコープしかないにもかかわらず、新規の習得者の混乱と見つけづらいバグをもたらす。そういうわけで、JSHint では目的のスコープ外で使われる変数について、デフォルトで警告を出すようにしている。', 'GLOBALS_DESC': 'ソースコード内で定義されていないグローバル変数のホワイトリストを指定するために使用することができる。プロジェクト固有のグローバル変数に対する警告を抑制するための undef オプションと組み合わせて使用すると便利である。true に設定すると、その変数への読み書きが可能になる。false に設定すると、変数は読み取り専用として扱われるようになる。一般的な JavaScript 環境において定義されたグローバル変数を有効にするための手軽な手段として使われるションのセットである environment オプションも参照のこと。', 'IMMED_DESC': '括弧 () でラップしない即時関数呼び出しの使用を禁止する。括弧でラップすると、コードを読む際に式が関数ではなく関数の実行結果であることを理解する助けとなる。', 'INDENT_DESC': '指定したタブ幅を強制する。', 'ITERATOR_DESC': '__iterator__ プロパティを警告しない。このプロパティは、全てのブラウザでサポートされているわけではないので注意する。', 'LATEDEF_DESC': '定義前の変数の使用を禁止する。JavaScript には関数のスコープしかなく、加えてすべての変数は常に関数の先頭に移動 (ホイスティング) される。このふるまいは、いくつかの非常に厄介なバグをもたらす可能性があるため、変数は常に明示的に定義した後にのみ使用する方が安全である。nofunc を設定すると、関数宣言の警告を無視できるようになる。', 'MAXDEPTH_DESC': 'ブロックのネストの深さを指定する。', 'MAXERR_DESC': 'JSHint が処理を中断する前に生成する警告の最大値を設定する。デフォルトは 50。', 'MAXPARAMS_DESC': '関数パラメータの最大数を指定する。', 'MAXSTATEMENTS_DESC': '関数内の命令文の最大数を指定する。関数宣言は一つにカウントする。', 'MAXCOMPLEXITY_DESC': '循環的複雑度 (cyclomatic complexity) を制限する。循環的複雑度はコードの複雑さの指標で、ソースコードの線形的に独立した経路の数を直接数える。', 'MAXLEN_DESC': '行の最大長を設定する。', 'NEWCAP_DESC': 'コンストラクタ関数名のキャピタライズ (先頭を大文字にする) を強制する。関数名のキャピタライズは、this を使用している場合のミスの発見を助けるために、他のタイプの関数からコンストラクタ関数を視覚的に区別するための慣例で、new 演算子で使用されることを意図している。そうしないと、任意のブラウザや環境でコードを壊すことはないが、new のあるなしにかかわらず関数を使用することになっていた場合に (コードを読み解くことにおいて) 見つけ出すのが少し難しくなる。new で使用することを意図されていた関数を new なしで呼び出すと、this が新しいオブジェクトではなくグローバルオブジェクトを指すため、これは重要である。', 'NOARG_DESC': 'arguments.caller および arguments.callee の使用を禁止する。どちらもかなり多くの最適化を不可能にするため、将来的な JavaScript のバージョンでは非推奨となる。実際に、ECMAScript 5 の strict モードでは禁止されている。', 'NOCOMMA_DESC': 'コンマ演算子の使用を禁止する (for ループの初期化部分などで使用される)。誤用された場合、コンマ演算子はステートメントの値を覆い隠す。', 'NOEMPTY_DESC': '空ブロックを警告する。JSHint では、当初すべての空ブロックに警告を出していたが、オプションとした。JavaScript の空のブロックがどんな形であれコードを壊すという調査報告はない。', 'NONBSP_DESC': '"non-breaking whitespace" 文字を禁止する。Mac ではオプション + スペースバーで入力することができるが、非 UTF8 のウェブ・ページを壊す可能性がある。', 'NONEW_DESC': '副作用を狙ったコンストラクタ関数の使用を禁止する。一部の人は、結果を変数に代入しないコンストラ関数の呼び出しを好む。new 演算子が作成するオブジェクトが何処にも使用されないので、単純な MyConstructor の実行と比較して、このアプローチには利点はない。', 'NOTYPEOF_DESC': 'typeof 演算子の無効な値についての警告を抑制する。デフォルトでは無効な値 (fuction 等) と比較している場合に警告する。この演算子が返す可能性がある値は限られているので、多くの場合はタイプミスである。', 'QUOTMARK_DESC': 'クオーテーションマークの一貫性を強制する。single: シングルクオーテーションを強制, double: ダブルクオーテーションを強制, true: どちらかに統一することを強制。', 'SHADOW_DESC': '変数名のシャドーイングを警告しない。例: スコープの外で既に宣言されている変数を宣言することで、変数を隠すことができる。"inner" - 同じスコープで定義された変数のみをチェックする。"outer" - スコープの外側で定義された変数もチェックする。false - inner と同じ効果。true - 変数のシャドウイングを許可する。', 'SINGLEGROUPS_DESC': 'グループ化演算子の使用を禁止する。単項演算子を誤用していることがある。', 'STRICT_DESC': 'すべての関数が ECMAScript 5 の strict モードで動作することを要求する。strict モードは、標準と異なる JavaScript を制限する。strict モードは、エラーを起こさなかったいくつかの落とし穴を、エラーを発生させるように変更することで取り除く。加えて、JavaScript エンジンが、最適化することを難しくする誤りも修正する。注: このオプションは、関数スコープにのみで strict モードを有効にする。グローバルスコープに強制してしまうと、サードパーティ製のライブラリを破壊する可能性があるため、グローバルスコープには強制しない。もし本当にグローバルスコープの strict モードを強制したい場合は globalstrict オプションを参照。', 'UNUSED_DESC': '宣言しているが未使用の変数を警告する。undef オプションと併用すると、全体的なコードの掃除に役立つ。加えて、/*global ... */ で宣言しているのに未使用のグローバル変数も警告してくれる。関数の引数をチェックしないで変数のみをチェックする場合は、vars を設定する。strict を設定すると全ての変数と引数をチェックする。デフォルト (true) では、使用しているパラメータの前にある未使用のパラメータは許可する。', 'UNDEF_DESC': '明示的に宣言されていない変数の使用を禁止する。このオプションは、入力ミスやリーク (var の付け忘れは global 変数へのアクセスになって危険) を見つけるために非常に役立つ。もし変数が別のファイルで定義されているなら、それを JSHint に伝えるために、/*global ... */ を使うことができる。', /* Relaxing options */ 'ASI_DESC': 'セミコロンの付け忘れを警告しない。コミュニティの多くの人々により広められたセミコロンについての FUD (Fear:恐怖, Uncertainty:不安, Doubt:疑念) がある。それらの神話の共通点は、常にセミコロンが必要なことだが、信頼できない。JavaScript には、セミコロンを使用するべきかそうでないかを決めるのはあなた次第であるという、すべてのブラウザが従うセミコロンに関する規則がある。', 'BOSS_DESC': '比較演算子 (==) 期待されるケースでの、代入演算子 (=) の使用を警告しない。よくあるのは、if ( a = 10 ) {} のような誤り。正常な代入である場合は () で囲むことで警告を避けることができる。', 'DEBUG_DESC': 'debugger 文を警告しない。', 'ELISION_DESC': 'ES 3 の配列要素省略、または空の要素の使用を許可する (例: [1, , , 4, , , 7])。', 'EQNULL_DESC': '== null について警告しない。このような比較は、変数が null または undefined であるかのチェックで有用な場合がある。', 'ESNEXT_DESC': 'ECMAScript 6 の構文の使用を許可する。ただし、これらの機能はまだ確定しておらず、全てのブラウザが対応しているわけではないことに注意する。', 'EVIL_DESC': 'eval の使用を警告しない。さまざまなインジェクション攻撃によって、コードが脆弱になる可能性があり、また JavaScript インタープリターが行う幾つかの最適化を困難にするため、eval の使用は推奨されない。', 'EXPR_DESC': '代入や関数呼び出しが期待される場所での式の使用に関する警告を抑制する (例: function () { 1 + 2 })。大抵の場合は入力ミスであるが、仕様では禁止されていないため、この警告はオプションである。', 'GLOBALSTRICT_DESC': 'グローバルでの strict mode 使用について警告しない。グローバルでの strict mode は、サードパーティ製のウィジェットを壊すおそれがあるので非推奨である。strict mode の詳細については strict オプションを参照。', 'LASTSEMIC_DESC': '不足しているセミコロンを警告しない。しかし一行で書くブロック文の、最後のセミコロンは除く。自動コード生成機能を使うときに有効なニッチなケースである。', 'LAXBREAK_DESC': '安全でない可能性のある改行を警告しない。ただしカンマを行の先頭に持ってくるコーディングスタイルについての警告は停止しない。これについては、laxcomma を使用のこと (注意: このオプションは廃止されており、JSHint の次のメジャーリリースで削除される)。', 'LAXCOMMA_DESC': 'カンマで始まる行を警告しない (注意: このオプションは廃止されており、JSHint の次のメジャーリリースで削除される)。', 'LOOPFUNC_DESC': 'ループ内の関数を警告をしない。ループの中での関数定義は、バグをもたらすかもしれない。', 'MOZ_DESC': 'Mozilla JavaScript 拡張を使うことを JSHint に通知する。Firefox のために特別に開発しない限り、このオプションは必要ない。', 'MULTISTR_DESC': '複数行文字列を警告しない。JavaScript ににおいて複数行文字列は、エスケープ文字 (\\) と次の行との間に誤ってスペースを挿入したりするととても混乱するので危険である。このオプションによって正しい複数行文字列が許容されても、エスケープ文字がない、またはエスケープ文字とスペースの間に何かある複数行文字列については警告することに注意する。', 'NOYIELD_DESC': 'yield 文なしのジェネレーター関数を警告しない。', 'PLUSPLUS_DESC': 'インクリメント演算子 (++)、デクリメント演算子 (--) の使用を禁止する。一部の人々は、++ と -- はコーディング・スタイルの品質を低下させると考えていて、Python などは、完全にこれらのオペレーター無しで済ませる。', 'PROTO_DESC': '__proto__ プロパティを警告しない。', 'SCRIPTURL_DESC': 'javascript:void(0) のような、スクリプトをターゲットにした URL の使用を警告しない。', 'SUB_DESC': 'ドット表記 (person.name) 可能な箇所でのブラケット表記 (person[\'name\']) の使用を警告しない。', 'SUPERNEW_DESC': 'new function () { ... } and new Object; のような "幽霊 (wierd)" コンストラクタを警告しない。このようなコンストラクタは、JavaScript でシングルトンを生成するために時々使用される。', 'VALIDTHIS_DESC': 'strict モードの場合に、非コンストラクター関数内で this を使用すると、厳密には違反になるが警告しない。this の使用が有効であると確信しているのであれば、このオプション -関数スコープの中だけで- を使うべきである (例: Function.call を使って関数呼ぶ)。注: このオプションは関数スコープの中でのみ使用できる。グローバルに設定すると、JSHint がエラーで失敗する。', 'WITHSTMT_DESC': 'with 文の使用について警告しない。with 文の意図は、開発者を混乱させ、グローバル変数の偶然の定義を起こす可能性がある。', /* Environments */ 'BROWSER_DESC': '古き良き document, navigator から、HTML5 FileReader, その他のブラウザーで新しく開発されたものまで、最新のブラウザーによって公開されているグローバル定義を警告しない。注: このオプションは、alert または console のような変数を公開しない。詳細については devel オプションを参照すること。', 'BROWSERIFY_DESC': 'プロジェクトをビルドするための Browserify ツールによって公開されているグローバル変数定義を警告しない。', 'COUCH_DESC': 'CouchDB によって公開されているグローバル定義を警告しない。CouchDB は、MapReduce 方式でインデックスおよびクエリを作成することができるドキュメント指向データベース。', 'DEVEL_DESC': 'console や alert などの、デバッグ用ログによって公開されているグローバル定義を警告しない。古いバージョンの IE では、console.log がエラーになるので、製品版のコードでは使用しないほうが良い。', 'DOJO_DESC': 'Dojo Toolkit によって公開されているグローバル定義を警告しない。', 'JASMINE_DESC': 'Jasmine 単体テストフレームワークによって公開されているグローバル定義を警告しない。', 'JQUERY_DESC': 'jQuery ライブラリによって公開されているグローバル定義を警告しない。', 'MOCHA_DESC': 'Mocha 単体テストフレームワークの BDD および TDD UI によって公開されるグローバル変数定義を警告しない。', 'MOOTOOLS_DESC': 'MooTools フレームワークによって公開されているグローバル定義を警告しない。', 'NODE_DESC': 'Node 実行時環境で利用できるグローバル変数定義を警告しない。Node.js は、非同期イベント駆動モデルのサーバーサイド JavaScript 環境である。ファイルレベルでの use strict の使用や console.log など、ブラウザ環境においては意味がをなすが、Node において意味をなさない幾つかの警告も省略する。', 'NONSTANDARD_DESC': 'escape や unescape のような、非標準だが広く採用されたグローバル変数を警告しない。', 'PHANTOM_DESC': 'PhantomJS 実行環境で使用できるグローバル変数定義を警告しない。PhantomJS は、JavaScript API で操作可能なヘッドレス WebKit である。高速で、DOM の処理、CSS セレクタ、JSON、Canvas、およびSVG などの、様々な Web 標準をネイティブにサポートしている。', 'PROTOTYPEJS_DESC': 'Prototype フレームワークによって公開されたグローバル定義を警告しない。', 'QUNIT_DESC': 'QUnit 単体テストフレームワークによって公開されているグローバル定義を警告しない。', 'RHINO_DESC': 'Rhino 実行環境で使用できるグローバル定義を警告しない。Rhino は完全に Java で書かれた JavaScript のオープンソース実装。', 'SHELLJS_DESC': 'ShellJ Sライブラリによって公開されたグローバル定義を警告しない。', 'TYPED_DESC': '型付き配列 (Typed Array) のコンストラクタのためのグローバル定義を警告しない。', 'WORKER_DESC': 'Web Worker 実行環境で使用できるグローバル定義を警告しない。Web Worker は、Web コンテンツがスクリプトをバックグラウンドスレッドで実行するための簡単な手段を提供する。', 'WSH_DESC': 'Windows Script Host 用のスクリプトとして実行されている場合に使用できるグローバル定義を警告しない。', 'YUI_DESC': 'YUI フレームワークによって公開されたグローバル定義を警告しない。', /* DIRECTIVE AREA */ 'DIRECTIVE_TITLE': 'JSHint Directive', 'HINT': '<span style="font-weight:bold;">ヒント:</span> ソース・ファイルの先頭行に JSHint ディレクティブを挿入する。', 'SELECT': '選択', 'EXTRACT': 'ファイルを作成', 'JSON_CONVERT': 'JSON に変換', /* DIALOG FOOTER */ 'JSHINT_INFO': 'JSHint のドキュメント', 'DIALOG_OK': 'ディレクティブを挿入する', 'DIALOG_CANCEL': 'キャンセル' });