vsivsi / meteor-job-collection

A persistent and reactive job queue for Meteor, supporting distributed workers that can run anywhere.
https://atmospherejs.com/vsivsi/job-collection
Other
388 stars 68 forks source link

Support dynamic import #259

Open rj-david opened 6 years ago

rj-david commented 6 years ago

First of all, this is a great package and it has shorten my development by a lot as I move a lot of long running tasks in the background like sending SMS or uploading to S3.

But if there is one part that we can improve, it is with dynamically importing this package in the client. In my case, less than 5% of my users actions use background jobs but it is the 5th biggest resource being downloaded.

Is there a possibility to setup the package for dynamic import as supported by Meteor since 1.5?

https://github.com/meteor/meteor/issues/8745

vsivsi commented 6 years ago

Hi, thanks for your suggestion. To be honest this package has settled into a kind of "maintenance mode" where I'm not implementing any new major features. Mostly because I'm not doing any new Meteor development myself these days, and so the time and effort to stay up to date on the latest and greatest Meteor foo just to update my main two packages for other users doesn't really pencil out anymore.

With that said, I'm not deprecating these packages just yet because it's clear that they still have a lot of value to the Meteor community. So if you (or someone else) is willing to put together a high quality PR implementing this feature, I will strongly consider merging it and spinning out a release.

Thanks again.

rj-david commented 6 years ago

That is fully understood @vsivsi

I would like to help but I honestly do not have experience in creating a package. I can read through the documentation but I'm afraid I might miss backwards compatibility to earlier versions.

For what it's worth, I believe the changes required is explained in this section about lazy loading: http://docs.meteor.com/packages/modules.html#Lazy-loading-modules-from-a-package

I will try this and do a PR. But again, I cannot guarantee compatibility to version less than 1.5