-
Notifications
You must be signed in to change notification settings - Fork 195
Description
Issue
Right now, based on codebase, library supports only posix relative paths.
Reproduction
This is correct relative path in context of this library:
../../../src
This is incorrect relative path in context of this library:
..\\..\\..\\src
To understand how the library understands these paths, you can call getType
from this file:
posix path as Relative
; win32 path - as Normal
So, anything that can be passed as a result by path.relative(...) in Node.js, will not work as expected on Windows machines.
Solutions
Possible solution is to add separation in the enum of types for RelativePosix
and RelativeWin
, like for the Absolute..
paths. But it's hard to predict what integrations with this library are going to break, so I think it can be a big deal.
Workaround
Add replacing for backward compatibility with Windows (Windows can handle posix separator):
path.relative(....).split(path.win32.sep).join(path.posix.sep);
PS. Maybe you want to handle only relative posix paths in this library, and then I think it would be cool to add information about this scenario or to close this issue with a preferable workaround.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Activity
alexander-akait commentedon Jan 4, 2024
Hello, can you provide a problem/example where you got such paths?
davakh commentedon Jan 5, 2024
It's possible to get this type of paths when you work with module-federation f.e. Of course, it's overhead to give an example with another library, but I can provide an example with current library via codesandbox.
alexander-akait commentedon Jan 22, 2024
@davakh Sorry for delay, do you want to send a PR?
davakh commentedon Jan 22, 2024
Yes, I have some thoughts on how to solve it. I'll try to give a PR in near future.