Why not specify meteor packages in package.json in 1.3?

Kind of curious. It seems like they still go in .meteor/packages. Why not just put them in a package.json?

{
  "name": "KittyCat",
  "private": true,
  "dependencies": {
    "lodash": "~4.6.1"
  },
  "meteorDependencies": {
    "kadira:flow-router": "^1.0.0"
  }
}
2 Likes

I couldn’t agree more.

I don’t even find where is the actual packages.json file when I’m adding npm module by meteor npm install --save stuff.

How that could be possible? at the same time npm modules list can still be seen with meteor npm list…

I’m really confused right now…

Feel the same way myself, I’m not really sure why not make it exactly like a node package.

Is this planned for upcoming releases?

Do you understand what the command meteor npm does?

Nope, what is special about it.

is that a question?

I thought it would create and manage a packages.json, since i cannot find it, i dunno what to think about it.

meteor npm is just a pass through command to meteor’s internal npm version and doesn’t do anything special that npm doesn’t do. It does however lock you into the npm v2.14.22 which does not handle peer dependencies properly for some new packages like material-ui, thus causing issues like loading 2 different versions of React.

Odd I have a package.json on the base directory of the application.

To get a package.json file, run npm init as you would with a regular node application. If you already have packages installed, it will automatically add them as dependencies when it creates the file.

1 Like

You’re right, still i cannot understand where this internal npm version take it source from without any package.json

What is your package.json entry point so?

It reads your local node_modules directory

1 Like

That’s it?! Ok thanks it’s way more clear to me now.

Where did you find this information? I cannot find any information on the web, even the doc don’t speak about this command, it’s just mentionned on the blog post for the 1.3 release…

do you mean npm init?

Ok so if there is no package.js specified but a node_modules folder, meteor use npm to read it directly from there. Nothing related to Meteor here so?

I just get confused because if nothingis related to meteor here, why do they add this command meteor npm??

Its a convenience provided by meteor so that if you don’t already have npm installed you get the functionality built in, kind of like meteor comes with node already baked in, only you can still use your own npm if you have it installed.

1 Like

Get it, thanks for all, still have a lot to learn tho! You’re the guy! :wink:

1 Like

Does that mean we don’t have to type in meteor before npm? That would be nice to know, since I sometimes forget.

As far as I know that is correct as long as you have npm installed locally.