Jshint: Las propiedades de "difusión" del objeto (propuesta de etapa 2) no son compatibles

Creado en 30 jul. 2016  ·  27Comentarios  ·  Fuente: jshint/jshint

tengo algo como esto

  args: {
    ...connectionArgs,
  },

Y jshint se queja de
xpected '}' to match '{' from line 167 and instead saw '...'.

¿Qué debo agregar a mi archivo .jshintrc para permitir la destrucción?

Has PR P1 Proposal

Comentario más útil

+1 por apoyar esto. Ya es ampliamente utilizado en React/Redux

Todos 27 comentarios

JSHint actualmente no es compatible con esta función de lenguaje propuesta. Sin embargo, recientemente alcanzó la "Etapa 2" en el proceso de estandarización, por lo que estamos interesados ​​en agregar soporte en una versión futura.

Oh, gracias @jugglinmike , ¿alguna idea de cómo puedo hacer que jshint lo ignore al menos?

Claro, querrá usar las directivas en línea jshint ignore:start y jshint ignore:end :

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

Actualicé el título del problema para describir con mayor precisión la solicitud de función.

Sería genial tener soporte JSHint para esto, ya que ahora es la Etapa 3

+1 por apoyar esto. Ya es ampliamente utilizado en React/Redux

+1. ¿Alguien está trabajando en esto?

+1 por hacer esto. ¡Gracias chicos!

+1 lo disfrutaría mucho

+1

+1

La compatibilidad con esta función de idioma se fusionó con la rama de función v2.10.0 (a través de gh-3150), por lo que esperamos que se incluya en la próxima versión secundaria de JSHint. Etiquetaré este problema como "tiene relaciones públicas" para comunicar mejor este estado.

Hace apenas unos días anunciaron:

La compatibilidad con esta función de idioma se fusionó con la rama de función v2.10.0 (a través de gh-3150), por lo que esperamos que se incluya en la próxima versión menor de JSHint. Etiquetaré este problema como "tiene relaciones públicas" para comunicar mejor este estado.

Pero así es como lo arreglé:

Agregue AMBOS esnext y esversion a su archivo .jshintrc :

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

Aquí está mi archivo completo .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 no puede esperar a que se lance v2.10.0. ¡Buen trabajo! ¿Hay alguna línea de tiempo para v2.10.0?

Al ejecutar [email protected]

Cuando tengo los dos

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

Obtuve el siguiente error:

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

Lo mismo aquí re: Incompatible values for the 'esversion' and 'esnext' linting options. (0% scanned).

¿Cuál es la línea de tiempo para 2.10.0 ?

También obtengo Incompatible values for the 'esversion' and 'esnext' linting options incluso después de instalar directamente desde la rama v2.10.0 en GitHub. El error desaparece cuando omito esversion por completo. Aquí hay un fragmento de mi .jshintrc , ahora:

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

La idea de ese error es realmente "no use tanto 'esversion' como 'esnext' (o 'es3' o 'es5'), afaiu.

El texto podría ser más claro, pero el objetivo del error parece ser "emitir advertencias para que eventualmente podamos eliminar estas opciones y la gente simplemente use 'esversión').

@jugglinmike , ¿crees que deberíamos convertirlo en un error no fatal, o permitir que la 'esversión' explícita anule las opciones de la versión heredada?

@chaddjohnson Esa sucursal está disponible para promover la transparencia y permitir la colaboración. Por supuesto, puede ejecutar cualquier código en este proyecto, pero comprenda que no respaldamos el uso de código inédito porque no tenemos el ancho de banda para admitirlo.

@caitp Preferiría rechazar la ambigüedad en lugar de intentar interpretarla. Compartiré más detalles en una respuesta a su solicitud de incorporación de cambios.

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 Entonces, ¿quieres decir que ahora es imposible usar jshint?

De nada, @NatoBoram. Estoy desaconsejando el uso de versiones inéditas del proyecto.

Hmmm como alguien encontró una solución para el:

Valores incompatibles para las opciones de linting 'esversion' y 'esnext'. (0% escaneado). (E059)

alguna resolucion de esto? ¿Cuándo admitirá jshint las sintaxis ÚLTIMAS?

¿Alguna palabra sobre esto? Realmente aprecio esta herramienta, pero tener que ensuciar mis guiones con comentarios de "ignorar" es lo peor.

¿Alguien tendría tiempo de echar un vistazo a esto? Estoy ejecutando 2.9.7, que es la última versión de jshint, dentro del editor Atom, y el código de mi aplicación React Native está plagado de errores de sintaxis sobre el operador de propagación en los literales de objetos. Establecer "esnext":true en .jshintrc no ayuda. La herramienta se niega a funcionar cuando se establecen tanto "esnext":true como "esversion":6.

Si alguien tiene una solución que funcione en este momento, ¿podría publicarla?

El soporte para esta función estará disponible en la versión 2.10.0 de JSHint, que esperamos lanzar a principios del próximosemana Marcaré este problema como "resuelto" una vez que se publique.

Acabamos de publicar la compatibilidad con el reposo/propagación de objetos en la versión 2.10.0 de JSHint .

¿Fue útil esta página
0 / 5 - 0 calificaciones