Skip to content
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

Install mongoclient as a global npm package #58

Open
michalvankodev opened this issue Apr 25, 2016 · 22 comments
Open

Install mongoclient as a global npm package #58

michalvankodev opened this issue Apr 25, 2016 · 22 comments
Assignees

Comments

@michalvankodev
Copy link

It would be super cool if I would be able to install mongoclient just as
npm install -g mongoclient.

So I could have just install upgrades seamlessly with
npm update -g and always have the newest of the best.

I tried to enable it with setting meteor just as dependency in package.json but I've failed to install it because meteor doesn't support newer versions of node (>0.10.x).

If you like this concept. We could left this story here and when meteor could be easily installed as a dependency of your package I could implement this.

@rsercano
Copy link
Member

rsercano commented Apr 25, 2016

That would be awesome. A very nice and interesting idea, maybe you should have a look at meteor 1.3. Since I don't have enough time migrating to 1.3 is still in the queue, if it helps you I can accelerate this issue. #37

@michalvankodev
Copy link
Author

Well.. the Meteor not being able to install on newer node is also a deal breaker so there are plenty of thing that have to happen so this could be possible to do

@rsercano
Copy link
Member

I'll just leave this here for further reference :)

@dynnamitt
Copy link

+1

1 similar comment
@Droppix
Copy link

Droppix commented May 30, 2016

+1

@ghost
Copy link

ghost commented Jul 28, 2016

@michalvankodev, I think that is a very cool idea, and now that meteor actually support newer node versions such as 4.4.7 would it be beneficial to update this repository.

I have sent a pull request updating mongoclient to meteor 1.3.5.1 (without the ecmascript package though).

The next step is to:

  • activate the ecmascript atmosphere package
  • activate the meteor-node-stubs npm package
  • load npm modules though "import" instead of "Meteor.npmRequire"

@michalvankodev, you seem to be quite npm savvy, and I got into trouble, so would you be interested in taking a look at that?

I'm afraid these steps have to be taken before the repository can be updated to meteor 1.4 and hence node 4.4.7.

@rsercano
Copy link
Member

@birkskyum I would like to accept pull requests for these mentioned features :)

@michalvankodev
Copy link
Author

@birkskyum Awesome to hear about interest and progress on this issue. :) I would be glad to help in any way. :)

@ghost
Copy link

ghost commented Jul 31, 2016

Great!

The pull request I made 'Update meteor version' contains a version of mongoclient that's build on Meteor 1.4. It is finally running, but there are some visual regression because it rely on some deprecated atmosphere packages.

The atmosphere packages introduced by this pull request are:

ephemer:reactive-datatables
chrismbeckett:toastr
joshdellay:meteor-ladda-bootstrap
tkornblit:icheck
perak:codemirror
flot:flot
mrt:chosen-package
linto:jquery-ui
kit:sweetalert
rochal:slimscroll
xvendo:clipboardjs
onokumus:metismenu
sujith3g:jstree

It would be very nice to load these directly from npm instead, and especially the two packages marked as bold are challenging because it is old versions. @michalvankodev Would you be up for trying to load some of these from npm instead?

@michalvankodev
Copy link
Author

With npm it shouldn't be a problem to depend on older versions of packages, because you can specify exact version of package your package depends on.
I've never worked with meteor before so I don't exactly know how atmosphere works.

@ghost
Copy link

ghost commented Aug 1, 2016

@michalvankodev It's actually the other way around. The project is right now forced to use deprecated versions of several 3rd-party libraries because the atmosphere packages aren't updated. If the libraries are loaded through npm would it be possible to use the newest versions of the libraries, which would solve the visual regression issues.

In meteor are all files in /client automagically loaded into the client, and it can make it quite hard to control the load order. Many atmosphere packages (such as this one: https://github.com/JoshDellay/meteor-ladda-bootstrap/) simply dump the library files into '/client', which can be seen in package.js. It would be better to load it through npm instead, so it isn't a problem that you aren't familiar with atmosphere.

@michalvankodev
Copy link
Author

Ah.. I'm looking at the meteor right now and it looks like this issue will not be able to be solved at all as meteor is wrapping it's own node runtime. What I wanted was use mongoclient as a package for node itself but meteor is really standing in a way.

@michalvankodev
Copy link
Author

@birkskyum I've forked your branch but I still fail to install meteor as a classic package on my node version. With your atmoshere packages I can suggest that you remove them from atmosphere package.json like file and install them with npm instead.. but I don't think it will resolve all of the visual issues found in your PR.

@ghost
Copy link

ghost commented Aug 7, 2016

@michalvankodev A pr upgrading Mongoclient to 1.4 (node 4.4.7) was merged today. Does that solve the issue you initially met related to node 0.10.x?

@michalvankodev
Copy link
Author

@birkskyum The issue was not with node 0.10.x but with the meteor itself. Meteor is a platform but not a package. You can't install meteor as a dependency for another package therefore I can't make mongoclient package as a global package which will depend on meteor.

@rsercano
Copy link
Member

rsercano commented Aug 9, 2016

@michalvankodev so this is impossible for near future ? Or would something like https://github.com/onmodulus/demeteorizer works ?

@ghost
Copy link

ghost commented Aug 9, 2016

Yes, the 1.5 release of Meteor was previously assigned to move Meteor towards npm, but it was changed to include Apollo/Meteor integration instead.

It is on meteor's roadmap to move towards npm, but they haven't announced anything about how it is going to work.

@rsercano
Copy link
Member

rsercano commented Aug 9, 2016

I see, thanks for clarifying @birkskyum

@bsbechtel
Copy link

+1 for this issue. I just found out about this project. I'd like to add it as a package to run inside my current meteor application instead of running it as a separate application. To do that, it would need to be integrated as an npm or meteor/atmosphere package.

@rsercano
Copy link
Member

rsercano commented Nov 2, 2016

@bsbechtel it seems to be hard to arrange it as npm package, but at least will try to do it as an atmosphere package soon

@bsbechtel
Copy link

That would be great! I think all it would require is repackaging the code and exporting a few variables using package.js.

@rsercano
Copy link
Member

@birkskyum Hi again, since meteor 1.6 uses node 8+ and mongoclient master uses meteor 1.6, is there a possibility to make this happen ?

@rsercano rsercano self-assigned this Jan 7, 2019
@rsercano rsercano added this to the v4.0.0 milestone Jan 7, 2019
@rsercano rsercano added this to To Do in Nosqlclient 4.0.0 via automation Jan 7, 2019
@rsercano rsercano removed the rewrite label Feb 17, 2019
@rsercano rsercano removed this from To Do in Nosqlclient 4.0.0 Feb 17, 2019
@rsercano rsercano removed this from the v4.0.0 milestone Feb 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants