Prevent bower from installing development files of momentjs - bower

I have the following dependency listed in a bower-managed project:
"moment": "^2.13.0",
When I do bower install --production the result of bower_components/moment is 347 files weighing in at 6.5 MB.
I only need min/moment-with-locales.min.js from moment.
How can I tell bower to do so?

Related

Error upgrading dependencies in yarn.lock file with yarn up in Yarn 2.0

I'm trying to use Yarn 2.0 to upgrade to the latest version of the dependency in my yarn.lock to resolve a dependabot issue. The issue exists with the ini dependency and I tried running command yarn up ini which resulted in the following error:
❯ yarn up ini
Usage Error: Pattern ini doesn't match any packages referenced by any workspace
I noticed that I can use yarn up to upgrade packages in package.json file, but haven't been able to figure out how to update a dependency in a yarn.lock. I'm wondering if anyone knows what command I should be using instead?
Any help would be greatly appreciated. Thank you!
Documentation Source: https://yarnpkg.com/getting-started/migration#renamed
I learned that you can't upgrade individual dependencies in the yarn-lock file, you have to upgrade package with the dependency in the package.json file by running the command:
yarn up ${package_name} followed by yarn install in Yarn 2.0.
I noticed that I can use yarn up to upgrade packages in package.json file, but haven't been able to figure out how to update a dependency in a yarn.lock. I'm wondering if anyone knows what command I should be using instead?
Starting from 3.0, transitive dependencies (ie dependencies of dependencies) can be upgraded using yarn up -R <name>.

How to install Angular2 beta with Bower?

I'm trying to install Angular2 with Bower with command bower install -S angular2 and have next messages in console:
$ bower install -S angular2
bower angular2#* cached git://github.com/angular/bower-angular.git#1.4.8
bower angular2#* validate 1.4.8 against git://github.com/angular/bower-angular.git#*
bower angular#~1.4.8 install angular#1.4.8
angular#1.4.8 bower_components/angular
My bower.json file now contains next info in dependencies section:
"dependencies": {
"angular": "angular2#~1.4.8"
}
And I have Angular 1.4.8 after that in bower_components path.
So, how to install Angular2 beta with Bower?
I have installed it from github with the command bower install git#github.com:angular/angular.git:
$ bower install git#github.com:angular/angular.git
bower angular#* not-cached git#github.com:angular/angular.git#*
bower angular#* resolve git#github.com:angular/angular.git#*
bower angular#* checkout 2.0.0-build.ffbcb26.js
bower angular#* invalid-meta angular is missing "main" entry in bower.json
bower angular#* invalid-meta angular is missing "ignore" entry in bower.json
bower angular#* resolved git#github.com:angular/angular.git#2.0.0-build.ffbcb26.js
bower angular#~2.0.0-build.ffbcb26.js install angular#2.0.0-build.ffbcb26.js
angular#2.0.0-build.ffbcb26.js bower_components/angular
I advise you not to use Bower. Bower is used to get your packages in your project folder, that's it.
Try to look up JSPM (http://jspm.io). It does a lot more than getting packages in your project. It takes care of ES6 to ES5. And loads all your packages in one time using SystemJS in your browser with just a couple lines of code.
you can install jspm using npm:
npm init
npm install (-g) jspm // -g only if you want jspm globally installed
jspm init
This worked for me, for Angular 2 bower install angular2-build

bamboo build fails on bower install

I am new to CI/bamboo and am trying to run a bamboo build job for a mean stack app (angular full-stack generator). I'm running bower via a bamboo script task.
Initially I used the command:
bower install
But this gave me an error message saying that the bower.json file is missing (sorry I don't have exact error message text on-hand). The bower file is definitely in the root of the project.
Next I changed the command to:
bower install bower.json
I believe this tells bower to use bower.json file in the project root.
This successfully kicks off the bower install, but it fails and in turn fails the bamboo build job. The following appears in the log:
07-Jan-2016 14:52:52 bower polymer#~0.5.4 invalid-meta polymer is missing "main" entry in bower.json
07-Jan-2016 14:52:52 bower polymer#~0.5.4 invalid-meta polymer is missing "ignore" entry in bower.json
07-Jan-2016 14:52:52 bower polymer#~0.5.4 resolved https://github.com/Polymer/polymer.git#0.5.6
07-Jan-2016 14:52:52 bower webcomponentsjs#^0.6.0 not-cached https://github.com/Polymer/webcomponentsjs.git#^0.6.0
07-Jan-2016 14:52:52 bower webcomponentsjs#^0.6.0 resolve https://github.com/Polymer/webcomponentsjs.git#^0.6.0
07-Jan-2016 14:52:52 bower core-component-page#^0.5 not-cached https://github.com/Polymer/core-component-page.git#^0.5
07-Jan-2016 14:52:52 bower core-component-page#^0.5 resolve https://github.com/Polymer/core-component-page.git#^0.5
07-Jan-2016 14:52:52 bower webcomponentsjs#^0.6.0 download https://github.com/Polymer/webcomponentsjs/archive/v0.6.3.tar.gz
07-Jan-2016 14:52:53 bower webcomponentsjs#~0.5.4 extract archive.tar.gz
07-Jan-2016 14:52:53 bower webcomponentsjs#~0.5.4 resolved https://github.com/Polymer/webcomponentsjs.git#0.5.5
07-Jan-2016 14:52:53 bower core-component-page#^0.5 download https://github.com/Polymer/core-component-page/archive/0.5.6.tar.gz
07-Jan-2016 14:52:56 bower core-component-page#^0.5 extract archive.tar.gz
07-Jan-2016 14:52:56 bower webcomponentsjs#^0.6.0 extract archive.tar.gz
07-Jan-2016 14:52:56 bower core-component-page#^0.5 invalid-meta core-component-page is missing "main" entry in bower.json
07-Jan-2016 14:52:56 bower core-component-page#^0.5 invalid-meta core-component-page is missing "ignore" entry in bower.json
07-Jan-2016 14:52:56 bower core-component-page#^0.5 resolved https://github.com/Polymer/core-component-page.git#0.5.6
07-Jan-2016 14:52:56 bower webcomponentsjs#^0.6.0 mismatch Version declared in the json (0.6.1) is different than the resolved one (0.6.3)
07-Jan-2016 14:52:56 bower webcomponentsjs#^0.6.0 resolved https://github.com/Polymer/webcomponentsjs.git#0.6.3
07-Jan-2016 14:52:56 bower ECONFLICT Unable to find suitable version for webcomponentsjs
The server is Ubuntu (sorry don't have version) and bower is version 1.7.1
Here is the bower.json file:
bower.json:
{
"name": "my-app",
"version": "0.0.0",
"dependencies": {
"angular": ">=1.2.*",
"json3": "~3.3.1",
"es5-shim": "~3.0.1",
"bootstrap-sass-official": "~3.1.1",
"bootstrap": "~3.1.1",
"angular-resource": ">=1.2.*",
"angular-cookies": ">=1.2.*",
"angular-sanitize": ">=1.2.*",
"angular-route": ">=1.2.*",
"font-awesome": ">=4.1.0",
"lodash": "~2.4.1",
"select2": "~4.0.1"
},
"devDependencies": {
"angular-mocks": ">=1.2.*",
"angular-scenario": ">=1.2.*"
}
}
The project has a .bowerrc file:
.bowerrc:
{
"directory": "client/bower_components"
}
I tried to simulate the bower task on my home pc (Ubuntu Ubuntu 14.04.3 LTS and bower 1.7.1) by running 'bower install' and it runs without issue. But if I specify the bower.json file in the command 'bower install bower.json' I get prompted for the following:
Unable to find a suitable version for webcomponentsjs, please choose one:
1) webcomponentsjs#~0.5.4 which resolved to 0.5.5 and is required by App States#0.6.9
2) webcomponentsjs#* which resolved to 0.5.5 and is required by core-component-page#0.5.6
3) webcomponentsjs#^0.6.0 which resolved to 0.6.3 and is required by polymer#0.5.6
Not sure if this behavior is related to the bamboo issue.
Any ideas?
Specify the version for the conflicting webcomponentsjs explicitely in your bower.json. While bower can ask you which dependency to use when running from an interactive shell, this is obviously not possible when running the task on Bamboo.

Upgrading Angular using Yeoman

I just installed Angular as follow:
npm install -g generator-angular # install generator
yo angular # scaffold out a AngularJS project
bower install angular-ui # install a dependency for your project from Bower
grunt test # test your app
grunt server # preview your app
grunt # build the application for deployment
That installed 1.0.7 instead of 1.0.8.
I am totally new to Yeoman. How can I upgrade 1.0.7 to 1.0.8? Is this supposed to be done manually?
Please clarify.
You can use Bower that comes with Yeoman to update the dependencies. In Bower, dependencies are listed in a ‘bower.json’ file, similar to Node’s package.json or the Ruby Gemfile.
{
"name": "myProject",
"version": "1.0.0",
"dependencies": {
"angular": "~1.0.8"
}
}
First list the installed packages:
bower list
And to update a package you use the following command:
bower update angular
If you do a bower install angular-ui you will get version 0.40 ... this is not compatible with Bootstrap 3 (if that's what you want. If you want the latest angular-ui you'll have to manually install it.

bower automatically update bower.json

I run the following commands using bower 1.0.0:
mkdir testdir;cd testdir
bower init #accept defaults
bower install jquery -s #the -s is supposed to cause update of bower.json
less bower.json
In bower.json I expect to see dependencies listed, but there are none. What is going on?
NOTE: bower install jquery --save does work
NOTE:
The option I am referring to was documented through bower help install
**-S**, --save Save installed packages into the project's bower.json dependencies
from bower help, save option has a capital S
-S, --save Save installed packages into the project's bower.json dependencies

Resources