How to install an bower package under meteor? - meteor

I am trying to install this https://github.com/mdehoog/Semantic-UI-Calendar package. I installed with npm install -g bower this browser package manager from my project folder. Then I installed this calendar package with bower install --save semantic-ui-calendar from my project folder.
After starting my app I get this error messages:
While processing files with less (for target web.browser):
bower_components/semantic-ui-calendar/src/definitions/modules/calendar.less:18:
Unknown import: ../../theme.config
bower_components/semantic-ui-calendar/src/theme.less:3:8: variable
#themesFolder is undefined
Where should I include
<script type="text/javascript" src="/bower_components/semantic-ui-calendar/dist/calendar.min.js"></script>
<link rel="stylesheet" href="/bower_components/semantic-ui-calendar/dist/calendar.min.css" />
and
#import 'definitions/modules/calendar';
and
lessOptions: {
paths: [
'bower_components/semantic-ui-calendar/src',
...
]
}
from the installation guide? Will this calendar package work with meteor 1.4?

Using bower packages is deprecated. Since Meteor allowed use of npm packages directly, your desired bower package should have an npm equivalent, and can therefore be installed with npm install...
There was a package https://atmospherejs.com/mquandalle/bower which did allow bower modules to be installed, but you should probably avoid doing that too.

Related

How to install latest sub-package with npm?

I know how to install latest package using npm:
npm i <package>#latest
but when the package is actually a sub-package it throws an error:
npm i #react-native-firebase/auth#latest
Error:
ENOENT: no such file or directory ...
strange enough I was not able to find something on google after hours of search.
i think when u use
npm install --save #react-native-firebase/app
its the latest version. try it and see the documentation.
rnfirebase

Why I can't use npm packages in meteor project?

I need to add a npm package in my meteor project (for example 'moment' package). First I typed this command :
meteor npm install --save moment .
The package.json dependencies updated (moment package added), also in node_modules.
I want to use this package, so I add this line in the client side:
const moment = require('moment');
I get this message in my browser console Uncaught SyntaxError: Unexpected identifier in this line !!
Did I miss something ?
You need to do meteor npm install meteor-node-stubs --save for this to work. See Using NPM Packages in the guide.
You can only use npm packages in meteor 1.3+. For any previous versions, you will need a wrapper package or you can use meteorhacks:npm.

Why does npm install add a bunch of other packages?

I ran npm install grunt-contrib-uglify --save-dev to my local project folder and it kept adding a bunch of other node module packages. How do I make it only install the package specified?
NPM installes package dependencies recursively. So when you install grunt-contrib-uglify it will also install chalk, lodash, maxmin, uri-path and, uglify-js. It will also then install any dependencies those packages have. You can't install just grunt-contrib-uglify because it wouldn't work without them.

meteor requires npm install on each new machine

I just cloned my meteor github repo to a new machine and now I have to npm install some packages again. I thought that they are part of the meteor app once I have them installed. (and I checked. they are in the node_modules folder and listed in the packages.json). Nonetheless, I get the error:
Can't find npm module 'react'. Did you forget to call 'Npm.depends' in package.js witin the 'modules-runtime'package?
I am running meteor 1.3.1

How can I install npm dependencies manually using meteor

I need to install npm dependencies described on my packages.json file manually (by manually I mean with a command like npm install or mrt install, that doesn't require to start the app).
I know that meteor-npm creates the npm directory inside packages and that when I start the app using mrt or meteor the npm modules get downloaded.
But I'm writing a test script and I need the modules to be installed before running the tests so I would need to install them as I install standard meteorite modules with mrt install.
In theory this is very easy, because you could just run npm install PACKAGENAME in your project directory. However, this would of course mess up meteor, which will try to interpret the new files as meteor files.
Instead, you have two options:
install in a super directory (they will be found): cd .. && npm install PACKAGENAME
install packages globally: npm install -g PACKAGENAME

Resources