-
Notifications
You must be signed in to change notification settings - Fork 29.3k
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
@vscode-scoped npm packages #130301
Comments
@connor4312 the list seems out of sync with our repository, none of my modules are used anymore, though some are missing like |
I enumerated this list by searching npm. If there are packages that are no longer in use/maintained, feel free to just check them off. |
Maybe people should fill in the modules they own individually, I am sure there are more not so easily discoverable. |
Done. vscode-emmet-helper -> @vscode/emmet-helper |
Before renaming any of the node modules that are used by embedders in web, I would wait for #125643 to land and be adopted. |
Sorry, I think we should discuss whether the benefits really outweigh the costs. I agree with the downside listed above. That said, none of them has caused real problems so far. The migration is work, for us and for the users of our node modules. And we end up in a world where the old modules still are around, referenced and mentioned in code, documentation, samples, etc. |
We have had some issues, e.g. we still need to recover vscode-dts since no one can publish it right now. But yes the migration is a suggestion, not a mandate. We should publish new packages under |
@connor4312 I think the current approach of some doing this and some not is the worst we can do for the community. If we think this is something that we want to see happening then we should do the following:
|
I had a longer discussion with Martin and he pointed out the swirl he had doing this for a simple not very used npm package. So I am actually more in favor of not doing this at all given the fact that this has no benefit for the user. |
I think of it as analogous to Github organizations, where using
Small note that publishing a last version is not required, as using
@aeschli can you share your learnings here? I migrated what's now |
I migrated Users are just not very eager to update dependencies unless there's an urgent need for it. I think that's also fully understandable, and I can relate. Consequently, the old package will stay around. That adds complexity and can be a cause of confusion. And, we still need to manage the access to the old package as we did before. Look at https://www.npmjs.com/package/vscode-test. It's still used as always. I suggest we invest in tooling on our side that ensures that all node-modules are owned by us but follow certain guidelines. New packages and packages mainly used by us should switch to the new namespace. |
If you're renaming a package required by VS Code core, it's come to our attention that some consumers attempt to require these packages directly in their extensions. I've added an aliasing system to prevent this from breaking extensions. If your package is one of these, please add the appropriate alias here as you update the vscode/src/vs/workbench/api/common/extHostRequireInterceptor.ts Lines 97 to 104 in 3d1576a
|
Looks like we cleared all the ✅ , thanks for moving your packages! 🙂 |
Historically we've published VS Code-related npm packages with the
vscode-
prefix. This has a few downsides:These would be solvable by moving packages to the Github Package Registry which has a more advanced access model. However this requires all consumers of the packages to manually edit their
.npmrc
files in order to install packages, which can be a headache in CI and for inexperienced Javascripters.The other solution is to use npm organizations. We have created the
@vscode
organization on npm, and we recommend that published packages eventually move to be@vscode
-scoped. This can be done in a non-breaking way by keeping the old package on npm and publishing new versions of the package under the@vscode
organization. Moving a package involves:name
ing the package in your package.json, and then runningnpm install
oryarn
again to update your lock file.npm publish --access public
npm deprecate vscode-package-name "This package has been renamed to @vscode/package-name, please update to the new name"
Here are the packages we published which are vscode-prefixed. If these are still in maintained and in use, particularly if they're consumed by the public, consider moving them under the @VScode org:
generator-code
cannot be renamed due to how yeoman discovers packagesvscode-test-web
=>@vscode/test-electron
@connor4312vscode-codicons
=>@vscode/codicons
@misolorivscode-uri
=>@vscode/uri
@jrieken (no plans to migrate)vscode-json-languageservice
=>@vscode/json-languageservice
@aeschli (no plans to migrate)vscode-css-languageservice
=>@vscode/css-languageservice
@aeschli (no plans to migrate)vscode-html-languageservice
=>@vscode/html-languageservice
@aeschli (no plans to migrate)vscode-json-languageserver
=>@vscode/json-languageserver
@aeschli (no plans to migrate)vscode-web-custom-data
=>@vscode/web-custom-data
@aeschlivscode-languageserver-textdocument
=>@vscode/languageserver-textdocument
@dbaeumer (no plans to migrate)vscode-chrome-debug-core
=>@vscode/chrome-debug-core
@roblourens (Deprecated)vscode-chrome-debug-core-testsupport
=>@vscode/chrome-debug-core-testsupport
@roblourens (Deprecated)vscode-ripgrep
=>@vscode/ripgrep
@roblourensvscode-cached-file-search-provider
=>@vscode/cached-file-search-provider
@roblourens (Deprecated)vscode-debug-logger
=>@vscode/debug-logger
@roblourens (Deprecated)vscode-ripgrep-dynamic
=>@vscode/ripgrep-dynamic
@roblourens (Deprecated)vscode-languageserver
=>@vscode/languageserver
@dbaeumer (no plans to migrate)vscode-languageworker
=>@vscode/languageworker
@dbaeumer (no plans to migrate)vscode-languageserver-types
=>@vscode/languageserver-types
@dbaeumer (no plans to migrate)vscode-languageserver-protocol
=>@vscode/languageserver-protocol
@dbaeumer (no plans to migrate)vscode-nls
=>@vscode/nls
@dbaeumer (no plans to migrate)vscode-nls-dev
=>@vscode/nls-dev
@dbaeumer (no plans to migrate)vscode-jsonrpc
=>@vscode/jsonrpc
@dbaeumer (no plans to migrate)vscode-emmet-helper
=>@vscode/emmet-helper
@rzhao271vscode-windows-registry
=>@vscode/windows-registry
@sbatteniconv-lite-umd
=>@vscode/iconv-lite-umd
@bpaserovscode-telemetry-extractor
=>@vscode/telemetry-extractor
@lramos15vscode-textmate
=>@vscode/textmate
@alexdima (no plans to migrate)vscode-debugprotocol
=>@vscode/debugprotocol
@weinandvscode-debugadapter
=>@vscode/debugadapter
@weinandvscode-debugadapter-testsupport
=>@vscode/debugadapter-testsupport
@weinandvscode-js-debug-browsers
=>@vscode/js-debug-browsers
@connor4312vscode-sqlite3
=>@vscode/sqlite3
@bpaserovscode-jupyter-lsp-middleware
=>@vscode/jupyter-lsp-middleware
@rebornixvscode-textbuffer
=>@vscode/textbuffer
@rebornixvscode-extension-telemetry
=>@vscode/extension-telemetry
@lramos15 @sbattenThe text was updated successfully, but these errors were encountered: