Where I can place 3rd party library that not found in atmosphere?



I want to add some package, but i cant find it in atmosphere and npm.
for example google font, counter-up, etc. and also some of js and css library created by my team member.

so please help me in file structure where should i place it in meteor project?


If it’s a Meteor Package, you can put it into your ./packages folder.

My work does this using git submodules, so they can be managed in separate repos.
Submodules are pretty annoying though, so it’d be worth looking at git subtrees etc

You can also use npm to install from a git url, which can point to a private repo as long as you have read permissions. This is definitely my recommendation for packages that don’t use meteor’s packaging system


why dont use meteor packaging system? is meteor npm install is good?


meteor npm install is for npm packages.
Check the guide for more info: https://guide.meteor.com/atmosphere-vs-npm.html


As I said before, npm can install arbitary packages from private git repos. Which makes it a very useful tool for code re-use across projects.

It’s all JS in the end, so there’s no need to make them into atmosphere packages


The downside of that is that you will have to set the npm package with builds and other usual stuff for npm (at the time of Meteor 1.6.1) while using atmosphere packages Meteor takes care of it. If you are sharing with non-meteor projects then npm private package is the best, but from my personal experience if it is only for meteor the fastest way is the packages directory and then keep that private package in sync via git.


No need for builds or publishing when using a git url. Only needs a package.json with a main key pointing to the entry.

Meteor builds from both Atmosphere and Npm packages