We need a way to curate Meteor packages hosted on NPM

The move to supporting NPM is super great for flexibility with the ecosystem, but there’s some disconnect regarding new and exciting Meteor packages now, because people may publish to NPM and those things don’t get featured on Atmosphere.

Maybe Atmosphere can be revamped to showcase Meteor packages that can also be found on NPM.

For example, here’s Vue Curated which is nice because it shows awesome Vue packages and plugins from various places, and those things can live on GitHub or NPM.

Some people may go out of their way to publish to both NPM and Atmosphere, but that’s more work that others may not want to do.

Meteor needs a new Atmosphere that does something similar to Vue Curate where we can also explore Meteor-related projects on NPM!

12 Likes

In theory it should be pretty easy to subscribe or periodically poll NPM’s database based on keywords meteor and other relevant ones.

Then those could be easily featured in atmosphere.

is atmosphere opensource?

I would love this, especially when there would be some sort of quality rating. Besides well known packages (such as simpl-schema) it is sometimes very hard to browse for meteor specific npm packages that are also maintain a certain quality and stability.

EDIT:

I just found out, that duckduckgo.com already implements a featured results for atmosphere packages. Maybe this can be extended to meteor npm packages. DDG is definitely open source and lives from those community driven extensions.

The current implementation makes use of: https://libraries.io/

You can give it a try:

https://duckduckgo.com/?q=meteor+form&t=canonical&ia=software
https://duckduckgo.com/?q=meteor+autoform&t=canonical&ia=software
https://duckduckgo.com/?q=meteor+mongo+collection&t=canonical&ia=software

It currently conflicts a lot with results from github repositories, but it seems to “learn” based on those libraries you often search. After some searches the above results are only returned for atmosphere.

That’s an excellent proposal! I don’t use Atmosphere that often anymore, as it returns a lot of packages that are completely outdated or unmaintained. It’s such a frustrating experience. And finding them on npm is like searching for needles in a haystack. Would love to see a successor to Atmosphere that is way more community-driven regarding feed-back on package quality and maintenance.

2 Likes

Wasn’t there a plan to deprecate Atmosphere completely, and move stuff over to npm? What happened to that?

1 Like

Meteor is fine build tool, why not feed it more to build.

@tmeasday

If people want a new Atmosphere-like package manager, it might be easier to build something based on fastosphere (but with learned lessons about metrics, people gaming the system, community feedback flows, npm integration, etc). Particularly if we want to forward-port the functionality to React (and Material UI?). Much less surface area to migrate.

1 Like

It is broken though, and yes text search on atmosphere isn’t great.

The thing is there’s some Meteor-specific stuff on there, as in packages that rely on Atmosphere packaging in order to do Meteor magic, and they wouldn’t work on NPM. For example, Meteor build-related packages, and mostly other build plugins.

Expo did a nice job of this for react-native:

That is indeed a good example!

Why wouldn’t those packages be able to work on npm? Many would require Meteor for them to work, but there are a lot of things on npm which don’t work without other core tools (eslint rules, babel plugins, etc.).

Ultimately, much like npmjs.com, Atmosphere is just a directory of tarballs and meteor makes sense out of them. Meteor would need some changes to be able to digest those packages if they were on npm, but taking advantage of npm and all its functionality seems better than trying to make Atmosphere mimic that functionality for no particular reason. The npm packages hosted on npmjs.com already support tags, and it seems like a meteor tag would provide much, if not all, of the functionality of “curating” Meteor packages, no?

Have you looked into what changes would be necessary to have an npm provide the same functionality as a Meteor package? This would really help us in the transition to npm!

1 Like

I’m not really saying that Atmosphere should house NPM packages. I was only saying that Atmosphere is still relevant because it hosts non-NPM packages that are still essential to Meteor.

Yes, NPM tags can work. Maybe we just need a site that shows packages with a given tag (f.e. “meteor”). It might be simple as that. I’m only saying that it would be great to have.

There’s no convention on how to get Meteor NPM packages visible.

For example, some-library could say “publish a package and give it the tag 'some-library-plugin-XXXwhereXXX` is the name of your plugin.”

MDG could officially also say something like this (or have I missed it?), and then people can follow the convention, then they curate the website that shows the list.

We can easily type “meteor” in the searchbar on npmjs.com, and the results might look like this:

https://www.npmjs.com/search?q=meteor&page=1&ranking=optimal

But honestly, that isn’t very exciting. Just compare it to https://curated.vuejs.org. That is an experience where you’re specifically emersed in Vue, no distraction, you get hyped, and the layout and functionality of the site are more useful and meaningful.

That’s what I’m talking about, not just the bland npmjs.com search page.