I'm current developing an API on Node 12.14.1 and using Eslint to help me write the code. Unfortunately it does not allow me to set static class properties as shown below:
class AuthManager {
static PROP = 'value'
}
The following error is given: Parsing error: Unexpected token =eslint
Static class properties are already supported on JS and on Node.
How can this rule be disable?
I also have the following .eslintrc.json
file:
{
"env": {
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
}
}
ESLint with its default parser does not support class fields syntax for now. You can solve the problem by changing the configured parser to babel-eslint
.
npm install --save-dev babel-eslint
// eslintrc.json
{
"parser": "babel-eslint",
...
}
Eslint's default parser, Espree, does not support class fields because that syntax is currently stage 3, and that it is decided that only stage 4 proposals are to be supported in Espree.