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

Find less file path match error in npm package #4220

Open
treeFuck opened this issue Aug 25, 2023 · 0 comments
Open

Find less file path match error in npm package #4220

treeFuck opened this issue Aug 25, 2023 · 0 comments
Labels

Comments

@treeFuck
Copy link

To reproduce:

The code structure is like this:

  • node_modules
    • lessPkg1@1.0.0
    • lessPkg2
      • node_modules
      • lessPkg1@2.0.0

my project depends on lessPkg1@1.0.0 and lessPkg2
lessPkg2 depends on lessPkg1@2.0.0

When I try to use webpack to build my project, I found that when the lessPkg2 looks for lessPkg1@2.0.0, it will match lessPkg1@1.0.0

Breakpoint debugging webpack, I found the loadFile function in this file(node_modules/less/lib/less-node/file-manager.js),It will only match two paths:

  • currentDirectory: The path of lessPkg2
  • '·': The node_modules directory of my project

As a result, lessPkg2 cannot find lessPkg1@2.0.0 under its own node_modules, but can only find lessPkg1@1.0.0 under node_modules of my project。

Expected behavior:
I hope that when a less file in npm package is looking for a less file in another npm package, it will first search in its own node_modules directory. If it cannot be found,it will search in the parent directory until it matches up to the root path of the project.

When I debug vite@4.2.1 source code, I found the same error, But it has been fixed in this issue

When vite is looking for module dependencies, it will recurse upwards to the node_modules directory under the directory, see the code here

I think there should be a consistent ability here.

Environment information:

  • less version: v4.2.0
  • nodejs version: v16.14.2
  • operating system: macos

other
English is not good, use translation software to write, forgive me.

@treeFuck treeFuck added the bug label Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant