Giter Site home page Giter Site logo

Comments (11)

mattbrannon avatar mattbrannon commented on June 11, 2024 2

You should provide a runnable minimal reproduction first.

@JounQin runnable minimal reproduction.

from prettier-eslint-cli.

mattbrannon avatar mattbrannon commented on June 11, 2024 2

@JounQin Sure thing. In the example, the file at pages/index.js has this code with a long string of text:

export default function Home() {
  return (
    <p>
      Lorem, ipsum dolor sit amet consectetur adipisicing elit. Veniam illum placeat ratione consequuntur dolor ea? Quas explicabo minus voluptate, laudantium aliquam accusamus aperiam aliquid nisi, iste adipisci placeat, repudiandae cumque.
    </p>
  )
}

Problem: Running prettier-eslint on this file throws an error:

TypeError [ERR_INVALID_ARG_VALUE]: Failed to load plugin 'react-hooks' declared in 'CLIOptions': The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received ''

Expected: prettier-eslint should format the file without throwing an error.

Steps to reproduce:

  • Clone the repo and install dependencies.
  • From the root directory, run yarn format or yarn prettier-eslint pages/.*js

The eslint config is the default provided by Next.js. If the config is removed, prettier-eslint formats the code as expected.

from prettier-eslint-cli.

JounQin avatar JounQin commented on June 11, 2024 2

@mattbrannon Sorry I was a bit busy these days, hope I can find some free time to invest today.

from prettier-eslint-cli.

JounQin avatar JounQin commented on June 11, 2024 1

You should provide a runnable minimal reproduction first.

from prettier-eslint-cli.

barroudjo avatar barroudjo commented on June 11, 2024 1

Ok, I guess we can try to propose a PR with this fix to rushstack/eslint-patch.
Thanks for investigating !

from prettier-eslint-cli.

ownchoice avatar ownchoice commented on June 11, 2024

Same problem over here.

Tried installing several packages for the ESLint plugins (not necessary when executing eslint and next lint) but still getting the same error, just with a different plugin (@typescript-eslint):

Error: Failed to load plugin '@typescript-eslint' declared in 'CLIOptions': The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received '' 
TypeError: Failed to load plugin '@typescript-eslint' declared in 'CLIOptions': The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received ''
    at new NodeError (node:internal/errors:371:5)
    at createRequire (node:internal/modules/cjs/loader:1277:13)
    at Object.resolve (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2325:16)
    at Object.ModuleResolver.resolve (d:\git\subfolder\project\web_prod\node_modules\@rushstack\eslint-patch\lib\modern-module-resolution.js:201:44)
    at ConfigArrayFactory._loadPlugin (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3376:33)
    at ConfigArrayFactory._loadPlugin (d:\git\subfolder\project\web_prod\node_modules\@rushstack\eslint-patch\lib\modern-module-resolution.js:203:43)
    at d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3267:33
    at Array.reduce (<anonymous>)
    at ConfigArrayFactory._loadPlugins (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3263:22)
    at ConfigArrayFactory._normalizeObjectConfigDataBody (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3063:44)
    at _normalizeObjectConfigDataBody.next (<anonymous>)
    at ConfigArrayFactory._normalizeObjectConfigData (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3003:20)
    at _normalizeObjectConfigData.next (<anonymous>)
    at ConfigArrayFactory.create (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:2798:16)
    at createCLIConfigArray (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3608:47)
    at CascadingConfigArrayFactory.clearCache (d:\git\subfolder\project\web_prod\node_modules\@eslint\eslintrc\dist\eslintrc.cjs:3780:32)
    at new ESLint (d:\git\subfolder\project\web_prod\node_modules\eslint\lib\eslint\eslint.js:448:32)
    at Pge (c:\Users\onlyme\.vscode\extensions\rvest.vs-code-prettier-eslint-5.0.1\dist\extension.js:180:69)
    at c:\Users\onlyme\.vscode\extensions\rvest.vs-code-prettier-eslint-5.0.1\dist\extension.js:188:700
    at Lge (c:\Users\onlyme\.vscode\extensions\rvest.vs-code-prettier-eslint-5.0.1\dist\extension.js:180:1439)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)

from prettier-eslint-cli.

barroudjo avatar barroudjo commented on June 11, 2024

Same issue as this one: #426

from prettier-eslint-cli.

barroudjo avatar barroudjo commented on June 11, 2024

Sorry to bump this issue, but is this on your radar ? Do you plan to solve it, or is this a deeper issue, that should rather be fixed in @rushstack/eslint-patch ?

from prettier-eslint-cli.

JounQin avatar JounQin commented on June 11, 2024

You should provide a runnable minimal reproduction first.

@JounQin runnable minimal reproduction.

Thanks for reproduction first, but can you please clarify what command to reproduce the issue, what's the problem and what is expected?

from prettier-eslint-cli.

JounQin avatar JounQin commented on June 11, 2024

image

@mattbrannon I believe this is caused by @rushstack/eslint-patch which is used by eslint-config-next.

A quick fix could be return originalResolve.call(this, moduleName, ctx.filePath || relativeToPath)

from prettier-eslint-cli.

ci-vamp avatar ci-vamp commented on June 11, 2024

FYI this has been merged into eslint-patch, however the nextjs eslint extension is not using the latest version of the package. see this comment for how to override it

from prettier-eslint-cli.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.