How can I add multiple packages to my project via command line? I understand I can do that via a batch script, but adding to .bat file only executes the first line, then exits.
E.g. run.bat:
meteor add mquandalle:stylus
meteor add coffeescript
meteor add mquandalle:jade
meteor add dburles:lazy
adds only the first package to the project.
NPM style:
meteor add mquandalle:stylus coffeescript mquandalle:jade dburles:lazy
Related
I am new to meteor iron and I am trying to install aldeed collection2 but the app is crushing
W20190215-12:44:48.023(2)? (STDERR) WARNING: npm peer requirements (for aldeed:collection2) not installed:
W20190215-12:44:48.024(2)? (STDERR) - simpl-schema#>=0.0.0 not installed.
I have tried to install simple-schema but nothing is working.
meteor npm install simpl-schema --save
I have also removed and reinstalled collection2 but I still get the same error. What is it that I am missing?
I tried to reproduce the error with a new created repo, that contains the dependencies you have listed but everything runs fine on my side.
However, I found, thataldeed:collection2-core is now somewhat deprecated and being merged back into aldeed:collection2 as you can read in the project repository on GitHub:
MPORTANT: This package has been merged back into aldeed:collection2 as version 3.0.0 of that package. Refer to https://github.com/aldeed/meteor-collection2/blob/master/CHANGELOG.md#300
Create issues and PRs in the other repo going forward: https://github.com/aldeed/meteor-collection2/issues
Issues remain enabled on this repo for reference to existing issues only.
So a good first step would be to remove the deprecated package and install the updated one:
meteor remove aldeed:collection2-core
meteor add aldeed:collection2
If you want to start from a new clean project you can reproduce these steps to get to a running starting point here:
meteor create someprojectname
cd someprojectname
meteor add iron:router twbs:bootstrap aldeed:autoform aldeed:collection2
meteor npm install --save iron simpl-schema
meteor
The project will start without errors. From here you can start including your former code and see if the error will come back (which is then likely to be an issue inside your code) or not.
Important note on twbs:bootstrap:
The package twbs:bootstrap is using an old version (3.3.6) which is considered to contain several security vulnerabilities (read here and here).
If you want to use the latest Bootstrap you may rather install bootstrap using npm like so:
meteor remove twbs:bootstrap
meteor npm install --save bootstrap#latest jquery#latest popper.js#latest
You need jquery here, too because Meteor does not contain the required version and popper.js handles the Popover, Modal etc.
To include it in your code you need to add these lines to your client code:
import 'bootstrap'
import popper from 'popper.js'
global.Popper = popper
To use Bootstrap 4 with AutoForm you can install imajus:autoform-bootstrap4 (repo) and add the following to your client code:
AutoForm.setDefaultTemplate('bootstrap4')
I tried to create meteor web application, but meteor download missing package each time when I change my code, and it was unnecessary.
So, can I config it only runs at the first time?
Thanks!
Could you add the actual message on the package it tries to download? Anyway, there are two potential locations where meteor looks for packages that need to be installed.
This is which each Meteor application and it's using Meteor Atmosphere packages. You can find these at .meteor folder in your project root file called packages path ./meteor/packages
Other potential place is packages.json in project root. It exists if you have used npm install or meteor npm install within the project.
Deleting unnecessary packages from these files should do the trick.
Calling grunt-eslint causes a Cannot find module 'eslint-plugin-react' error that doesn't happen when calling eslint directly from the command line.
I have eslint-plugin-react installed globally.
Is there an easy way to make grunt eslint behave the same way as eslint?
Assuming you don't want to install the node module locally for some reason, I can think of two options. 1. Use grunt-exec within your grunt file to run eslint, or 2. As per the answer in the link below setup a symbolic link to your global node modules folder:
How to use grunt-html installed globally?
I would like to use gulp in my Wordpress project. Is it possible to execute gulp functions outside a node JS project?
I'm running on OSx, but couldn't find anything on the internet about it. Or do I'll have to use another lib like Grunt?
Yes, the main language of your project doesn't affect whether or not your can include some node.js dependencies and run them. You will need to have gulp installed and have a gulpfile.js in your project, and then you can run it.
You could install gulp globally on the server (npm install -g gulp), but I recommend creating a package.json file (using npm init) in your project, so that your node.js dependencies are tracked in your version control, and installing gulp with npm install --save gulp (inside your project's directory). Since gulp won't be installed globally in that case, you will need to use "$(npm bin)"/gulp from a directory inside your project to run it.
I use Yeti Launch from the Zurb foundation for the same setup (no node installed on my Mac).
When you run it, it will create a Foundation frame but you can do the following:
Stop the project it creates from within its interface,
Delete the files it creates and replace with yours
Leave the project it shows in the interface
Leave the "node_modules" folder it creates
Start the project again
This will run your Gulp file.
The only issue is installing node modules. For this, I look at any error messages it gives regarding missing modules and copy these into the "node_modules" folder from Github
The short answer is no. Gulp is distributed as a npm package and has node.js as a dependency BUT that doesn't mean you can't use it outside of a node.js project.
The only real need for Gulp on a wordpress project would likely either be at the theming layer or if you were doing a custom plugin. Assuming you are making a theme, some of them use Gulp extensively.
I've used the Roots ecosystem's Sage theme successfully on a number of projects. It has node/npm dependencies but they are all included if you use the theme. Check out their Gulp file - it's probably close to what you are philosophically looking for.
Is there a way for Meteor to automatically install and/or update a package i.e. if you just add the package name to the .meteor/packages file ?
In the case of local (and core) packages, meteor add is the same as appending the package name to .meteor/packages. Any updates you make to a local package will automatically be propagated to your app (there is no need to subsequently run an update command).
In the case of atmosphere packages, you must use mrt add and mrt update. These commands manipulate smart.json, smart.lock, and the links in the packages directory. All of which are necessary for meteor to find and fetch atmosphere packages.
You can upgrade versions of all your packages with following command:
meteor update
To update one or more packages, must be passed the name of the packages to meteor update package-name (replace package-name) or just run meteor update --all-packages.