Busqué una respuesta en Stackoverflow y en los documentos de ESLint, pero la mayoría no son lo que necesito, ya que pertenecen a React.
Estoy usando Node v14.17.0 y ESLint v7.32.0 como una dependencia de desarrollo. Tengo el siguiente fragmento de código.
class Service { constructor(){ this.numbers = [1,2,3]; } doAnotherThing = () => { console.log("I do the thing after 100 millis", this.numbers); } doSomething(){ setTimeout(this.doAnotherThing, 100); } } let service = new Service(); service.doSomething();
Simplemente ejecutar node test.js
ejecuta bien la aplicación y obtengo el resultado esperado impreso en STDOUT.
Todo suena bien, déjame agregar ESLint y el archivo de configuración de eslint.
{ "env": { "node": true, "mocha": true }, "extends": "eslint:recommended", "parserOptions": { "ecmaVersion": "latest" }, }
Ahora ejecute cuando ejecuto eslint en el archivo, aparece el siguiente error.
/test.js 2:10 error Parsing error: Unexpected token =
Tenga en cuenta que NO estoy usando Babel ni ninguna transpilación, entonces, ¿debo especificar una variable o algo en la configuración? ¿Por qué ocurre este error y por qué la instalación @babel/eslint-parser
resuelve el problema? No estoy usando Babel en absoluto. ¿Es esto un límite para ESLint o simplemente algo que no entiendo?
Usar un method(){}
NO funciona y no es la solución ya que pierdo el valor de this.number
. Ver: https://jsfiddle.net/0crpx6bv
Leyendo, veo muchas soluciones React y NINGUNA Node.js. Este es un nodo simple sin Babel y no en React.