-
Notifications
You must be signed in to change notification settings - Fork 37
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
Publish multiple libraries #191
Conversation
@CGNonofr wow, 121 packages. I like the overall idea, but maybe we can tweak it a bit further. |
@CGNonofr
Separate packages for the services could be useful to make the services inter-dependencies clear (what is not there, yet btw), but I think they are not required. |
I'm aware than unused exports won't be included in the bundle if they are not used but that's not my only concern: they still need to be downloaded/updated and by doing so we preserve bandwidth and storage Do you thing that's an issue to have many packages? I'm also aware that monaco-languageclient would probably depend on all service overrides, but that's maybe something that can be improved |
Yes, I agree, they should be published as separate packages. That's why I listed them as separate bullets. 😊
One package for all default-extensions with specific exports is fine, I think. If you look at the codingame npm overview it is kind of polluted now 😉 https://www.npmjs.com/search?q=%40codingame
Yes, you convinced me. A package for each service-override
As said above, I would l put all default extensions into one package.
Yes, eventually. Right now the conditional imports works well, IMO. |
The codingame npm overview is none of your concerns (:
You don't really answer the question Why do you think it's an issue? Packages are really independent, have nothing in common, are sometime really heavy. I fail to see why you want to put them all in a single package.
I can't really agree on that, it forces the bundles to create bundles for it, taking compilation time and making applications heavier for nothing |
It is largely deviating from what monaco-editor does itself and you create many new packages that you all need to maintain. If you are ok with, then why not, but I don't see a real net-benefit for the default extensions. Another idea: You could separate default-themes and default-languages. But if you are ok with maintaining all the packages, then go ahead. I won't block it. 👍
So, you would vote for removing One more thing: Shouldn't we combine this and #189 ? This change is much more than a |
Why do you think it's deviating from what monaco-editor does? monaco-editor doesn't have any optional feature. (except importing the editor api instead, but it's more a hack than a real feature) edit: ok you are talking about the languages required to be installed one by one? What about having a meta-package including all languages then?
I'm not sure what you mean by "maintaining". There is no additional work.
Indeed, that's probably a good idea to merge both changes in the same major version. I agree not being able to release a breaking version anytime is a problem... I hope there won't be the need for it when the lib will stabilized :D You radical idea is interesting :) do you have any example of another project having the same issue? I didn't find any |
It contains all the basic-languages and themes in the main npm package. That's what I meant.
Yes, good idea. Having both options seems like a good idea.
You automated the work. That's good. The automation may/will break at some point. 😆
I think that I have seen this somewhere, but I don't remember where. |
@CGNonofr I opened TypeFox/monaco-languageclient#543 regarding this. |
23c0c95
to
20f63cc
Compare
published as 1.81.8-next.3 |
Great work! A lot of packages from dist directory, when they are serving, didn't see any build tasks or something to serve dist directory. |
I'm sorry, I'm not sure to understand what you mean |
0828810
to
4f2cf6e
Compare
that prevent adding file workspace while remote agent is connected
and meta packages
as it imports vscode-textmate which is commonjs
4f2cf6e
to
247c460
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues:
node_modules
folder from the main packagebased on #184
fix #178
The problem: there is a single package that have all possible dependencies, even those you won't need because you only need the basics
Bigger problem: some dependencies can't be installed on some envs (windows-process-tree on windows?)
The idea:
monaco-editor
meta
packages for each service-override: it just imports the monaco-vscode-api export but declares the required dependencies121 packages published in version 1.81.8-next.1 (not working yet)