Jshint: オブジェクトの「拡散」プロパティ(ステージ2の提案)はサポートされていません

作成日 2016年07月30日  ·  27コメント  ·  ソース: jshint/jshint

私はこのようなものを手に入れました

  args: {
    ...connectionArgs,
  },

そして、jshintはその不満について
xpected '}' to match '{' from line 167 and instead saw '...'.

破壊できるようにするには、 .jshintrcファイルに何を追加する必要がありますか?

Has PR P1 Proposal

最も参考になるコメント

これをサポートするための+1。 React / Reduxですでに広く使用されています

全てのコメント27件

JSHintは現在、この提案された言語機能をサポートしていません。 ただし、最近、標準化プロセスで「ステージ2」に到達したため、将来のバージョンでサポートを追加することに関心があります。

ああ、ありがとう@jugglinmike 、どうすればjshintに少なくともそれを無視させることができるかについてのアイデアはありますか?

もちろん、インラインディレクティブjshint ignore:startjshint ignore:endを使用することをお勧めします。

  args: {
+   // jshint ignore:start
    ...connectionArgs,
+   // jshint ignore:end
  },

機能のリクエストをより正確に説明するために、問題のタイトルを更新しました。

ステージ3になっているので、これをJSHintでサポートできれば素晴らしいと思います。

これをサポートするための+1。 React / Reduxですでに広く使用されています

+1。 誰かがこれに取り組んでいますか?

これを行うための+1。 みんなありがとう!

+1はこれをとても楽しんでいます

+1

+1

この言語機能のサポートは(gh-3150経由で) v2.10.0機能ブランチに統合されたため、JSHintの次のマイナーリリースに含まれる予定です。 このステータスをより適切に伝えるために、この問題に「PRあり」というラベルを付けます。

ほんの数日前、彼らは次のように発表しました。

この言語機能のサポートは(gh-3150を介して)v2.10.0機能ブランチに統合されているため、JSHintの次のマイナーリリースに含まれる予定です。 このステータスをより適切に伝えるために、この問題に「PRあり」というラベルを付けます。

しかし、これは私がそれを修正した方法です:

esnextesversion両方を$ .jshintrcファイルに追加します。

...
"esnext": true,
"esversion": 6,
...

これが私の完全な.jshintrcファイルです:

{
    "mocha": true,
    "freeze": true,
    "bitwise": false,
    "browserify": true,
    "strict": true,
    "worker": true,
    "scripturl": true,
    "latedef": "nofunc",
    "onevar": true,
    "node": true,
    "maxstatements": 25,
    "futurehostile": true,
    "noarg": true,
    "unused": true,
    "esnext": true,
    "esversion": 6,
    "eqeqeq": true,
    "nocomma": false,
    "devel": true,
    "maxdepth": 6,
    "jquery": true,
    "browser": true,
    "debug": true,
    "maxparams": 5,
    "undef": true,
    "globalstrict": true,
    "maxcomplexity": 20,
    "typed": true,
    "nonew": true,
    "forin": false,
    "shadow": true,
    "-W018": false
}

+1はv2.10.0がリリースされるのを待つことができません。 よくできた! v2.10.0のタイムラインはありますか?

[email protected]を実行している場合

私が両方を持っているとき

{
  "esnext": true,
  "esversion": 6,
}

次のエラーが発生します。

Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned).

ここでも同じです: Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned).

2.10.0のタイムラインは何ですか?

GitHubのv2.10.0ブランチから直接インストールした後でも、 Incompatible values for the 'esversion' and 'esnext' linting optionsを取得します。 esversionを完全に省略すると、エラーはなくなります。 これが私の.jshintrcの抜粋です。

"esnext": true,
"unstable": {
  "objspreadrest": true
},

そのエラーの考え方は、実際には「 'esversion'と 'esnext'(または 'es3'、または 'es5')の両方を使用しないでください」です。

テキストはより明確になる可能性がありますが、エラーの目的は「警告を発して、最終的にこれらのオプションを削除し、人々が「esversion」を使用できるようにすること」のようです。

@jugglinmike代わりに、致命的でないエラーにするか、明示的な「esversion」でレガシーバージョンのオプションを上書きできるようにする必要があると思いますか?

@chaddjohnsonそのブランチは、透明性を促進し、コラボレーションを可能にするために利用できます。 もちろん、このプロジェクトで任意のコードを実行することを歓迎しますが、サポートする帯域幅がないため、リリースされていないコードの使用を推奨していないことを理解してください。

@caitpあいまいさを解釈しようとするよりも、あいまいさを禁止したいと思います。 プルリクエストへの応答で詳細を共有します。

https://github.com/jshint/jshint/issues/2991#issuecomment -349636400

[jshint] Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned). (E059)

https://github.com/jshint/jshint/issues/2991#issuecomment -396695974

[jshint] Bad option: 'unstable'. (E001)

@jugglinmikeでは、今のところjshintを使用することは不可能だということですか?

まったく違います、@ NatoBoram。 プロジェクトの未公開バージョンの使用はお勧めしません。

うーん、誰もが解決策を見つけたように:

'esversion'および 'esnext'リンティングオプションの互換性のない値。 (0%スキャン)。 (E059)

これの解決策はありますか? jshintはいつLATEST構文をサポートしますか?

これについて何か一言? 私はこのツールに本当に感謝していますが、「無視する」コメントをスクリプトに散らかす必要があるのは最悪です。

誰かがこれを見る時間がありますか? Atomエディター内でjshintの最新バージョンである2.9.7を実行していますが、React Nativeアプリのコードには、オブジェクトリテラルのspread演算子に関する構文エラーが散らばっています。 .jshintrcで "esnext":trueを設定しても効果はありません。 「esnext」:trueと「esversion」:6の両方が設定されている場合、ツールは動作を拒否します。

誰かが今うまくいく回避策を持っているなら、それを投稿していただけませんか?

この機能のサポートは、JSHintバージョン2.10.0で利用可能になります。これは、次の早い段階でリリースされる予定です。。 公開されたら、この問題を「解決済み」としてマークします。

JSHintバージョン2.10.0でオブジェクトのレスト/スプレッドのサポートをリリースしました。

このページは役に立ちましたか?
0 / 5 - 0 評価