Jshint: Properti objek "menyebar" (proposal tahap 2) tidak didukung

Dibuat pada 30 Jul 2016  ·  27Komentar  ·  Sumber: jshint/jshint

Saya mendapat sesuatu seperti ini

  args: {
    ...connectionArgs,
  },

Dan jshint itu mengeluh tentang
xpected '}' to match '{' from line 167 and instead saw '...'.

Apa yang harus saya tambahkan ke file .jshintrc saya untuk memungkinkan penghancuran?

Has PR P1 Proposal

Komentar yang paling membantu

+1 untuk mendukung ini. Ini sudah banyak digunakan di React/Redux

Semua 27 komentar

JSHint saat ini tidak mendukung fitur bahasa yang diusulkan ini. Baru-baru ini mencapai "Tahap 2" dalam proses standarisasi, jadi kami tertarik untuk menambahkan dukungan di versi mendatang.

Oh terima kasih @jugglinmike , ada ide tentang bagaimana saya bisa membuat jshint mengabaikannya setidaknya?

Tentu, Anda ingin menggunakan in-line directive jshint ignore:start dan jshint ignore:end :

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

Saya telah memperbarui judul masalah untuk mendeskripsikan permintaan fitur dengan lebih akurat.

Akan sangat bagus untuk memiliki dukungan JSHint untuk ini, karena sekarang Tahap 3

+1 untuk mendukung ini. Ini sudah banyak digunakan di React/Redux

+1. Apakah ada yang mengerjakan ini?

+1 untuk menyelesaikan ini. Terima kasih teman-teman!

+1 akan sangat menikmati ini

+1

+1

Dukungan untuk fitur bahasa ini telah digabungkan ke cabang fitur v2.10.0 (melalui gh-3150), jadi kami mengharapkannya untuk disertakan dalam rilis minor JSHint berikutnya. Saya akan memberi label masalah ini sebagai "memiliki PR" untuk mengomunikasikan status ini dengan lebih baik.

Beberapa hari yang lalu mereka mengumumkan:

Dukungan untuk fitur bahasa ini telah digabungkan ke cabang fitur v2.10.0 (melalui gh-3150), jadi kami mengharapkannya untuk disertakan dalam rilis kecil JSHint berikutnya. Saya akan memberi label masalah ini sebagai "memiliki PR" untuk mengomunikasikan status ini dengan lebih baik.

Tapi begini cara saya memperbaikinya:

Tambahkan KEDUA esnext dan esversion ke file .jshintrc Anda:

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

Ini file .jshintrc lengkap saya:

{
    "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 tidak sabar menunggu v2.10.0 dirilis. Kerja yang baik! Apakah ada timeline untuk v2.10.0?

Saat menjalankan [email protected]

Ketika saya memiliki keduanya

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

Saya mendapatkan kesalahan berikut:

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

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

Apa timeline untuk 2.10.0 ?

Saya juga mendapatkan Incompatible values for the 'esversion' and 'esnext' linting options bahkan setelah menginstal langsung dari cabang v2.10.0 di GitHub. Kesalahan hilang ketika saya menghilangkan esversion sama sekali. Ini cuplikan dari .jshintrc saya, sekarang:

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

Gagasan kesalahan itu benar-benar "jangan gunakan 'esversion' dan 'esnext' (atau 'es3', atau 'es5'), afaiu.

Teksnya bisa lebih jelas, tetapi tujuan kesalahannya tampaknya adalah "memancarkan peringatan sehingga pada akhirnya kami dapat menghapus opsi ini dan orang-orang hanya menggunakan 'esversion').

@jugglinmike menurut Anda apakah sebaiknya kami menjadikannya kesalahan non-fatal saja, atau mengizinkan 'esversion' eksplisit untuk menimpa opsi versi lawas?

@chaddjohnson Cabang itu tersedia untuk mempromosikan transparansi dan memungkinkan kolaborasi. Anda tentu saja dipersilakan untuk menjalankan kode apa pun dalam proyek ini, tetapi harap dipahami bahwa kami tidak mendukung penggunaan kode yang belum dirilis karena kami tidak memiliki bandwidth untuk mendukungnya.

@caitp Saya lebih suka melarang ambiguitas daripada mencoba menafsirkannya. Saya akan membagikan lebih detail sebagai tanggapan atas permintaan tarik Anda.

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 Lalu apakah maksud Anda mengatakan bahwa saat ini tidak mungkin menggunakan jshint?

Tidak sama sekali, @NatoBoram. Saya tidak menyarankan penggunaan versi proyek yang tidak dipublikasikan.

Hmmm karena ada yang menemukan solusi untuk:

Nilai yang tidak kompatibel untuk opsi linting 'esversion' dan 'esnext'. (0% dipindai). (E059)

setiap resolusi ini? kapan jshint akan mendukung sintaks TERBARU?

Ada kata tentang ini? Saya sangat menghargai alat ini, tetapi perlu mengotori skrip saya dengan komentar "abaikan" adalah yang terburuk.

Apakah seseorang punya waktu untuk melihat ini? Saya menjalankan 2.9.7 yang merupakan versi terbaru jshint, di dalam editor Atom, dan kode aplikasi React Native saya dipenuhi dengan kesalahan sintaks tentang operator spread dalam literal objek. Menyetel "esnext":true di .jshintrc tidak membantu. Alat menolak untuk bekerja ketika "esnext":true dan "esversion":6 keduanya disetel.

Jika ada yang punya solusi yang berfungsi saat ini, bisakah Anda mempostingnya?

Dukungan untuk fitur ini akan tersedia di JSHint versi 2.10.0 yang kami harapkan akan dirilis lebih awalminggu . Saya akan menandai masalah ini sebagai "selesai" setelah diterbitkan.

Kami baru saja merilis dukungan untuk objek rest/spread di JSHint versi 2.10.0 .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat