Nodejs. If I use an ES6 import module, ES 2020 stops working in this file

60 Views Asked by At

For example, if I use an ES6 import module in a file instead of require, the import works, but es2020 operators such as "?." give an error.
SyntaxError: Invalid or unexpected token
Nodejs version 14.17.3.
What’s even more interesting is that even if the imported module is commented out, this does not help, an error is still thrown when starting the server and the module must be removed for everything to work again.

Config is in the eslintrc file.

{
  "parser": "@babel/eslint-parser",
  "env": {
    "node": true,
    "es2020": true
  },
  "plugins": [
    "jsx-a11y",
    "eslint-plugin-jsx",
    "eslint-plugin-node",
    "eslint-plugin-standard"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:node/recommended",
    "plugin:jsx-a11y/recommended"
  ],

  "parserOptions": {
    "ecmaVersion": 11,
    "sourceType": "module",
    "ecmaFeatures": {
      "arrowFunctions": true,
      "blockBindings": true,
      "classes": true,
      "defaultParams": true,
      "destructuring": true,
      "forOf": true,
      "generators": true,
      "modules": true,
      "objectLiteralComputedProperties": true,
      "objectLiteralDuplicateProperties": false,
      "objectLiteralShorthandMethods": true,
      "objectLiteralShorthandProperties": true,
      "spread": true,
      "superInFunctions": true,
      "templateStrings": true,
      "jsx": true
    },
    "allowImportExportEverywhere": true
  },
  "settings": {
    "node": {"version": "14.17.3"}
  },
  "rules": {
    "no-var": 2,
    "prefer-const": 2,
    "no-shadow": 2,
    "no-shadow-restricted-names": 2,
    "no-undef": 2,
    "no-unused-vars": [2, { "vars": "local", "args": "after-used" }],
    "no-use-before-define": 2,
    "no-cond-assign": [2, "always"],
    "no-console": 1,
    "no-debugger": 1,
    "no-alert": 2,
    "no-constant-condition": 2,
    "no-dupe-keys": 2,
    "no-duplicate-case": 2,
    "no-empty": 2,
    "no-ex-assign": 2,
    "no-extra-boolean-cast": 2,
    "no-extra-semi": 0,
    "no-func-assign": 2,
    "no-inner-declarations": 2,
    "no-invalid-regexp": 2,
    "no-irregular-whitespace": 2,
    "no-obj-calls": 2,
    "no-sparse-arrays": 2,
    "no-unreachable": 2,
    "use-isnan": 2,
    "block-scoped-var": 2,
    "consistent-return": 2,
    "curly": [2, "multi-line"],
    "default-case": 2,
    "dot-notation": [2, { "allowKeywords": true }],
    "eqeqeq": 2,
    "guard-for-in": 2,
    "no-caller": 2,
    "no-else-return": 2,
    "no-eq-null": 2,
    "no-eval": 2,
    "no-extend-native": 2,
    "no-extra-bind": 2,
    "no-fallthrough": 2,
    "no-floating-decimal": 2,
    "no-implied-eval": 2,
    "no-lone-blocks": 2,
    "no-loop-func": 2,
    "no-multi-str": 2,
    "no-native-reassign": 2,
    "no-new": 2,
    "no-new-func": 2,
    "no-new-wrappers": 2,
    "no-octal": 2,
    "no-octal-escape": 2,
    "no-param-reassign": 2,
    "no-proto": 2,
    "no-redeclare": 2,
    "no-return-assign": 2,
    "no-script-url": 2,
    "no-self-compare": 2,
    "no-sequences": 2,
    "no-throw-literal": 2,
    "no-with": 2,
    "radix": 1,
    "vars-on-top": 1,
    "yoda": 2,
    "indent": 0,
    "brace-style": [2, "1tbs", { "allowSingleLine": true }],
    "quotes": [2, "single", "avoid-escape"],
    "quote-props": [2, "as-needed", {"keywords": true, "unnecessary": true }],
    "camelcase": [2, { "properties": "always" }],
    "comma-spacing": [2, { "before": false, "after": true }],
    "comma-style": [2, "last"],
    "eol-last": 2,
    "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
    "new-cap": [0, { "newIsCap": true }],
    "no-multiple-empty-lines": [2, { "max": 2 }],
    "no-nested-ternary": 1,
    "no-new-object": 2,
    "no-spaced-func": 2,
    "no-trailing-spaces": 2,
    "no-extra-parens": [2, "functions"],
    "no-underscore-dangle": 1,
    "one-var": [1, "consecutive"],
    "padded-blocks": "off",
    "semi": [2, "always"],
    "semi-spacing": [2, { "before": false, "after": true }],
    "space-before-blocks": 2,
    "space-before-function-paren": [2, "never"],
    "space-infix-ops": 2,
    "spaced-comment": [2, "always", { "exceptions": ["-", "+"], "markers": ["=", "!"] }],
    "jsx-quotes": [2, "prefer-double"],

    "node/no-unpublished-require": 2,
    "node/no-unsupported-features/es-syntax": 0
  }
}

I checked the eslintrc, package.json files.

0

There are 0 best solutions below