Description
E2E VSCode extension which will include client code generation and server code generation. E2E VSCode extension will install needed emitter packages if it is not installed before.
But now, we may meet with dependency version conflict issue.
e.g. First there is an old @typespec/http-server-csharp@0.58.0-alpha.3 was installed, and it will dependent on @typespec/compiler@0.60.0.
Then we will help to install @typespec/http-client-csharp package, and it will accept @typespec/compiler (>=0.63, <1.0.0), so when we install @typespec/http-client-csharp there will be peer-dependency conflict with @typespec/http-server-csharp@0.58.0-alpha.3.
Option 1: workaround
To resolve the issue, the workaround is that we need to upgrade all existing emitter packages (client and server emitter) to latest version. This is a workaround, and it is not good customer experience: customer may not want to upgrade all the emitters when generate a code.
Option 2:
Use the floating version in peer-dependency.
As the client code emitter use peer-dependency with a floating version as following:
but the server emitter does not use floating version, see
Can server emitter has the same floating version as client emitter? In that case, we can resolve the peer dependency conflict when there are both client emitters and server emitters?