ionic-team / vscode-ionic

Visual Studio Code Ionic Extension
Other
10 stars 1 forks source link

any plan to support pnpm's `workspace:` and `catalog:` #171

Open trydofor opened 4 weeks ago

trydofor commented 4 weeks ago

for example, the package.json

"dependencies": {
  "@local/front-shared": "workspace:*",
  "@capacitor/android": "catalog:",
  "@capacitor/app": "catalog:"
}

will show Unknown -> null in IONIC packages panel. to display version of workspace: and catalog: is more better.

in monorepos, defining the global version of the dependency (pnpm catalog) is very useful to manage the correct deps.

dtarnawsky commented 4 weeks ago

Are you able to supply a sample project that uses these? If so, I may be able to work out what pnpm is doing and add this as a feature in the extension.

trydofor commented 4 weeks ago

Thanks first.

Are you able to supply a sample project that uses these?

take https://github.com/trydofor/professional-razor for example. and in my vscode screenshot as follows,

image

dtarnawsky commented 1 week ago

I've done some research into this and even added a few improvements into the v1.93 release to detect catalog however the problem gets a little complex particularly if support is to extend past the extension and to commands like cap migrate.

The challenge is that the extension supports switching between projects in a monorepo but doesn't have all of the projects in a large structure so it can't easily traverse through the monorepo to work out where it would need to find version names, or how it would upgrade dependencies.

I'll leave this ticket open for the moment in case I get time to do the big refactor needed.