Closed TheButterflyMon closed 1 week ago
Hi @TheButterflyMon, thanks for the issue.
I noticed that error does not occur in ES version 2020 or more and airbnb
has ecmaVersion: 2018
in their configuration setting the ecmaVersion
to 2020 or more can solve the issue probably. Let us know if this works.
I uninstalled and reinstalled everything. Here are the new version numbers: Node version: 20.12.2 npm version: 10.7.0
I also uninstalled and reinstalled ESLint. The version number is the same, but this time it did not ask me to define a style for my project. Here is what it asked me:
✔ How would you like to use ESLint? · problems
✔ What type of modules does your project use? · esm
✔ Which framework does your project use? · react
✔ Does your project use TypeScript? · javascript
✔ Where does your code run? · browser, node
The config that you've selected requires the following dependencies:
globals, @eslint/js, eslint-plugin-react, eslint
✔ Would you like to install them now? · No / Yes
✔ Which package manager do you want to use? · npm
The error, Parsing Error: Unexpected token import
is gone, but the File ignored because of a matching ignore pattern. Use "--no-ignore" to disable file ignore settings ...
is still there in all configuration files I open, like .prettierrc
and .stylelintrc.json
. I don't have a .eslintignore
file and I'm not ignoring anything. I've even added --no-ignore
to my ALE options, let g:ale_javascript_eslint_options = '--no-ignore'
.
Here's my new eslint.config.mjs
file:
import globals from "globals";
import pluginJs from "@eslint/js";
import pluginReactConfig from "eslint-plugin-react/configs/recommended.js";
import eslintConfigPrettier from "eslint-config-prettier";
export default [
{languageOptions: { globals: {...globals.browser, ...globals.node} }},
pluginJs.configs.recommended,
pluginReactConfig,
eslintConfigPrettier
];
Environment
Node version: 21.7.3 npm version: 10.5.2 Local ESLint version: 8.57.0 Operating System: Mac OS Sonoma 14.4.1
What parser are you using?
Default (Espree)
What did you do?
My eslint.config.mjs
``` import globals from "globals"; import path from "path"; import { fileURLToPath } from "url"; import { FlatCompat } from "@eslint/eslintrc"; import pluginJs from "@eslint/js"; import eslintConfigPrettier from "eslint-config-prettier"; // mimic CommonJS variables -- not needed if using CommonJS const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const compat = new FlatCompat({baseDirectory: __dirname, recommendedConfig: pluginJs.configs.recommended}); export default [ {languageOptions: { globals: {...globals.browser, ...globals.node} }}, ...compat.extends("airbnb"), eslintConfigPrettier, ]; ```I tried to lint the
eslint.config.mjs
file above using ESLint in MacVim with the ALE plugin.What did you expect to happen?
I'm using MacVim with ALE and using ESLint to lint JavaScript and JSON files. I expect to be able to lint configuration files like
eslint.config.mjs
and.prettierrc
.What actually happened?
If I open the
eslint.config.mjs
file posted above , I get an error on line 10,const __filename = fileURLToPath(import.meta.url);
. The error says,Parsing Error: Unexpected token import
.This is my
.prettierrc
:If I open the
.prettierrc
file above or a similar.stylelintrc.json
file, I get another error,File ignored because of a matching ignore pattern. Use "--no-ignore" to disable file ignore settings or use "--no-warn-ignored" to suppress this warning.
I can fix the
eslint.config.mjs
issues by deleting line 16 in myeslint.config.mjs
:...compat.extends("airbnb"),
. But if I do this, I lose the Airbnb config for all files I lint, and the issue with files like.prettierrc
and.stylelintrc.json
is still there! Is there another way to fix these issue?Link to Minimal Reproducible Example
https://eslint.org/play/#eyJ0ZXh0IjoiaW1wb3J0IGdsb2JhbHMgZnJvbSBcImdsb2JhbHNcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tIFwidXJsXCI7XG5pbXBvcnQgeyBGbGF0Q29tcGF0IH0gZnJvbSBcIkBlc2xpbnQvZXNsaW50cmNcIjtcbmltcG9ydCBwbHVnaW5KcyBmcm9tIFwiQGVzbGludC9qc1wiO1xuaW1wb3J0IGVzbGludENvbmZpZ1ByZXR0aWVyIGZyb20gXCJlc2xpbnQtY29uZmlnLXByZXR0aWVyXCI7XG5cbi8vIG1pbWljIENvbW1vbkpTIHZhcmlhYmxlcyAtLSBub3QgbmVlZGVkIGlmIHVzaW5nIENvbW1vbkpTXG5jb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpO1xuY29uc3QgX19kaXJuYW1lID0gcGF0aC5kaXJuYW1lKF9fZmlsZW5hbWUpO1xuY29uc3QgY29tcGF0ID0gbmV3IEZsYXRDb21wYXQoe2Jhc2VEaXJlY3Rvcnk6IF9fZGlybmFtZSwgcmVjb21tZW5kZWRDb25maWc6IHBsdWdpbkpzLmNvbmZpZ3MucmVjb21tZW5kZWR9KTtcblxuZXhwb3J0IGRlZmF1bHQgW1xuICB7bGFuZ3VhZ2VPcHRpb25zOiB7IGdsb2JhbHM6IHsuLi5nbG9iYWxzLmJyb3dzZXIsIC4uLmdsb2JhbHMubm9kZX0gfX0sXG4gIC4uLmNvbXBhdC5leHRlbmRzKFwiYWlyYm5iXCIpLFxuICBlc2xpbnRDb25maWdQcmV0dGllcixcbl07XG4iLCJvcHRpb25zIjp7InJ1bGVzIjp7ImNvbnN0cnVjdG9yLXN1cGVyIjpbImVycm9yIl0sImZvci1kaXJlY3Rpb24iOlsiZXJyb3IiXSwiZ2V0dGVyLXJldHVybiI6WyJlcnJvciJdLCJuby1hc3luYy1wcm9taXNlLWV4ZWN1dG9yIjpbImVycm9yIl0sIm5vLWNhc2UtZGVjbGFyYXRpb25zIjpbImVycm9yIl0sIm5vLWNsYXNzLWFzc2lnbiI6WyJlcnJvciJdLCJuby1jb21wYXJlLW5lZy16ZXJvIjpbImVycm9yIl0sIm5vLWNvbmQtYXNzaWduIjpbImVycm9yIl0sIm5vLWNvbnN0LWFzc2lnbiI6WyJlcnJvciJdLCJuby1jb25zdGFudC1iaW5hcnktZXhwcmVzc2lvbiI6WyJlcnJvciJdLCJuby1jb25zdGFudC1jb25kaXRpb24iOlsiZXJyb3IiXSwibm8tY29udHJvbC1yZWdleCI6WyJlcnJvciJdLCJuby1kZWJ1Z2dlciI6WyJlcnJvciJdLCJuby1kZWxldGUtdmFyIjpbImVycm9yIl0sIm5vLWR1cGUtYXJncyI6WyJlcnJvciJdLCJuby1kdXBlLWNsYXNzLW1lbWJlcnMiOlsiZXJyb3IiXSwibm8tZHVwZS1lbHNlLWlmIjpbImVycm9yIl0sIm5vLWR1cGUta2V5cyI6WyJlcnJvciJdLCJuby1kdXBsaWNhdGUtY2FzZSI6WyJlcnJvciJdLCJuby1lbXB0eSI6WyJlcnJvciJdLCJuby1lbXB0eS1jaGFyYWN0ZXItY2xhc3MiOlsiZXJyb3IiXSwibm8tZW1wdHktcGF0dGVybiI6WyJlcnJvciJdLCJuby1lbXB0eS1zdGF0aWMtYmxvY2siOlsiZXJyb3IiXSwibm8tZXgtYXNzaWduIjpbImVycm9yIl0sIm5vLWV4dHJhLWJvb2xlYW4tY2FzdCI6WyJlcnJvciJdLCJuby1mYWxsdGhyb3VnaCI6WyJlcnJvciJdLCJuby1mdW5jLWFzc2lnbiI6WyJlcnJvciJdLCJuby1nbG9iYWwtYXNzaWduIjpbImVycm9yIl0sIm5vLWltcG9ydC1hc3NpZ24iOlsiZXJyb3IiXSwibm8taW52YWxpZC1yZWdleHAiOlsiZXJyb3IiXSwibm8taXJyZWd1bGFyLXdoaXRlc3BhY2UiOlsiZXJyb3IiXSwibm8tbG9zcy1vZi1wcmVjaXNpb24iOlsiZXJyb3IiXSwibm8tbWlzbGVhZGluZy1jaGFyYWN0ZXItY2xhc3MiOlsiZXJyb3IiXSwibm8tbmV3LW5hdGl2ZS1ub25jb25zdHJ1Y3RvciI6WyJlcnJvciJdLCJuby1ub25vY3RhbC1kZWNpbWFsLWVzY2FwZSI6WyJlcnJvciJdLCJuby1vYmotY2FsbHMiOlsiZXJyb3IiXSwibm8tb2N0YWwiOlsiZXJyb3IiXSwibm8tcHJvdG90eXBlLWJ1aWx0aW5zIjpbImVycm9yIl0sIm5vLXJlZGVjbGFyZSI6WyJlcnJvciJdLCJuby1yZWdleC1zcGFjZXMiOlsiZXJyb3IiXSwibm8tc2VsZi1hc3NpZ24iOlsiZXJyb3IiXSwibm8tc2V0dGVyLXJldHVybiI6WyJlcnJvciJdLCJuby1zaGFkb3ctcmVzdHJpY3RlZC1uYW1lcyI6WyJlcnJvciJdLCJuby1zcGFyc2UtYXJyYXlzIjpbImVycm9yIl0sIm5vLXRoaXMtYmVmb3JlLXN1cGVyIjpbImVycm9yIl0sIm5vLXVuZGVmIjpbImVycm9yIl0sIm5vLXVuZXhwZWN0ZWQtbXVsdGlsaW5lIjpbImVycm9yIl0sIm5vLXVucmVhY2hhYmxlIjpbImVycm9yIl0sIm5vLXVuc2FmZS1maW5hbGx5IjpbImVycm9yIl0sIm5vLXVuc2FmZS1uZWdhdGlvbiI6WyJlcnJvciJdLCJuby11bnNhZmUtb3B0aW9uYWwtY2hhaW5pbmciOlsiZXJyb3IiXSwibm8tdW51c2VkLWxhYmVscyI6WyJlcnJvciJdLCJuby11bnVzZWQtcHJpdmF0ZS1jbGFzcy1tZW1iZXJzIjpbImVycm9yIl0sIm5vLXVudXNlZC12YXJzIjpbImVycm9yIl0sIm5vLXVzZWxlc3MtYmFja3JlZmVyZW5jZSI6WyJlcnJvciJdLCJuby11c2VsZXNzLWNhdGNoIjpbImVycm9yIl0sIm5vLXVzZWxlc3MtZXNjYXBlIjpbImVycm9yIl0sIm5vLXdpdGgiOlsiZXJyb3IiXSwicmVxdWlyZS15aWVsZCI6WyJlcnJvciJdLCJ1c2UtaXNuYW4iOlsiZXJyb3IiXSwidmFsaWQtdHlwZW9mIjpbImVycm9yIl19LCJsYW5ndWFnZU9wdGlvbnMiOnsicGFyc2VyT3B0aW9ucyI6eyJlY21hRmVhdHVyZXMiOnt9fX19fQ==
Participation
Additional comments
No response