Where do our Packages go? #38
Replies: 3 comments 11 replies
-
I recommend some version of these options. It's not far off from what I keep saying we should do. Could do things like @pulsar/essential, @pulsar/languages, and @pulsar/themes. Where anything for basic language and autocomplete go in the second (along with probably some useful snippets from each). I feel for testing this would probably be easiest and would do file detection to make sure we recognize basic necessary languages. While theoretically, the latter two would be bundled during build and wouldn't affect whether it builds or not... |
Beta Was this translation helpful? Give feedback.
-
I basically agree with this, and that could even be a short summary of my post below... My thoughts (starting here with what I'm familiar with):
Overview of these options:
|
Beta Was this translation helpful? Give feedback.
-
Why don't we just link then as git dependencies, like we do with GitHub package? It's something suported by npm and we don't need to do anything else. The only issue I have is that we'll need to remember to publish tags to each package all the time, otherwise we'll always clone the latest version (so, if we want to debug something that used to work in an older version, we will also clone the "latest" version of every package, not the version that was originally used to create the binary at the time) |
Beta Was this translation helpful? Give feedback.
-
As we work our way through the all of the Orgs Repos, one question I feel we should try to get some shared confirmation on is where do our packages go?
As in, how do we import them into the programs that need them?
Right now we have a huge mix, packages being loaded locally from files (these will have to remain the same as it means they are bundled items), but then we have packages pointing to
Atoms
github, using legacy APIs, or non-publiccodeload
APIs, we then have some referring toatom-community
repos, do we want to fork these? Keep them as is? Then we even have packages being loaded via NPM, where they where published by one of the above.I think we should collectively decide on a universal method, except in the instance of an edge case where something different should be required.
The options I see.
Ignoring the conversation of forking everything from
atom-community
/atom-ide-community
, we could either decide on a proper API to load GitHub repos as dependencies, this has the advantage that it'll always work, and easily allows us to define tags. We could use CodeLoad APIs, but as those are not meant for public consumption, it's possible they may break.Additionally we could publish to NPM. This would take a lot of work at first, but is the de-facto standard on this topic, so likely has some merit.
Then if we do, we likely would have to publish under a namespace since Atom has likely taken all of the non-namespaced names we would be attempting to us.
Obviously lets figure out what our best method would be, but personally my vote is for loading via Legacy GitHub Repo APIs. Meaning we know they will continue to work, and avoids the extra time it would take to manage and publish everything to NPM.
But what do you guys think?
Beta Was this translation helpful? Give feedback.
All reactions