Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot read config file: eslint.config.mjs. #263

Open
kku39 opened this issue Aug 16, 2024 · 6 comments
Open

Cannot read config file: eslint.config.mjs. #263

kku39 opened this issue Aug 16, 2024 · 6 comments

Comments

@kku39
Copy link

kku39 commented Aug 16, 2024

Bug report

When I try webpack build, the following error occurs.

ERROR in [eslint] Cannot read config file: C:\dev\my-project\eslint.config.mjs
Error: end of the stream or a document separator is expected (32:62)

It looks like YAMLException, but my config file is mjs.

Some other people already reported the same problem on other projects as follows, but I think this is eslint-webpack-plugin's problem.

Actual Behavior

ERROR in [eslint] Cannot read config file: C:\dev\my-project\eslint.config.mjs
Error: end of the stream or a document separator is expected (3:11)

 1 |
 2 | export default [{
 3 |   "no-var": 2
---------------^
 4 | }];

Expected Behavior

Lint works correctly, as same as executing npx eslint .

If you run my sample project, it is the expected behavior that eslint points out linting error of "no-var" at index.ts.

How Do We Reproduce?

  1. Clone my sample project: https://github.com/kku39/issue-repro-of-eslint-webpack-plugin
  2. npm ci
  3. npx webpack

Please paste the results of npx webpack-cli info here, and mention other relevant information (Edited)

$ npx webpack-cli info

  System:
    OS: Windows 10 10.0.19045
    CPU: (8) x64 Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
    Memory: 18.83 GB / 31.92 GB
  Binaries:
    Node: 20.16.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 10.1.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 127.0.6533.101
    Edge: Chromium (127.0.2651.74)
    Internet Explorer: 11.0.19041.4355
  Packages:
    eslint-webpack-plugin: ^4.2.0 => 4.2.0
    webpack: ^5.93.0 => 5.93.0
    webpack-cli: ^5.1.4 => 5.1.4
@Anasnew99
Copy link

Anasnew99 commented Aug 16, 2024

@kku39
add configType as "flat" in the ESLint plugin option (https://webpack.js.org/plugins/eslint-webpack-plugin/#configtype), it solved for me

new ESLintPlugin({
      overrideConfigFile: path.resolve(__dirname, "eslint.config.mjs"),
      configType: "flat",
  });

@kku39
Copy link
Author

kku39 commented Aug 16, 2024

@Anasnew99 It works for me too. Thanks...!

@kku39
Copy link
Author

kku39 commented Aug 16, 2024

Now my trouble is settled by #263 (comment) .

But since flat config is now the default in ESLint v9, so maybe eslint-webpack-plugin should follow suit.

Can anyone decide if it should be fixed or not?

Thanks.

@alexander-akait
Copy link
Member

@ricardogobbosouza Can we use flat when eslint version is 9 by default for better DX?

@ricardogobbosouza
Copy link
Collaborator

@alexander-akait will be in version ^5.0.0

@luoshide
Copy link

@kku39 在 ESLint 插件选项 ( https://webpack.js.org/plugins/eslint-webpack-plugin/#configtype ) 中添加 configType 作为“flat”,它为我解决了

new ESLintPlugin({
      overrideConfigFile: path.resolve(__dirname, "eslint.config.mjs"),
      configType: "flat",
  });

oh my god, I looked at the configuration a few times and also noticed that it can use the old eslintrc configuration, but since the flat configuration is now the default in ESLint v9, I didn't notice that it was set to eslintrc by default. Thanks for your answer, it solved my problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants