janniks / basetag

⚾️ A better way to import local NodeJS modules
MIT License
37 stars 3 forks source link

Incorrect behaviour of `basetag rebase` on Windows #29

Open rngnrs opened 1 year ago

rngnrs commented 1 year ago

Expected Behavior

$ pnpm basetag rebase

# app\common\domain\errors\index.js
  ../../infrastructure/Config.js -> $/app/common/infrastructure/Config.js

# app\common\infrastructure\Config.js
  ../../../package.json" assert { type: "json -> $/package.json" assert { type: "json
...

Current Behavior

$ pnpm basetag rebase

# app\common\domain\errors\index.js
  ../../infrastructure/Config.js -> $\app\common\infrastructure\Config.js

# app\common\infrastructure\Config.js
  ../../../package.json" assert { type: "json -> $\package.json" assert { type: "json
...

Problem description

rebase should use / path separator in require/import statements. \, aka Windows path.sep, means escaping symbols in this case. It leads to such an error:

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '$appcommoninfrastructureConfig.js'...

Possible solution

Replace \ to / in pkgPath variable forcibly.

Environment