From ee2d616d102c6c18741f6491d06358fd9b0eb616 Mon Sep 17 00:00:00 2001 From: Ward Meremans Date: Tue, 17 Dec 2013 14:58:25 +0100 Subject: [PATCH 001/122] Older versions of Safari/webkit have a buggy implementation of the pushstate as well, so we check on webkit versions older then 534.x.x to use history or not. --- src/ng/sniffer.js | 6 +++++- test/ng/snifferSpec.js | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/ng/sniffer.js b/src/ng/sniffer.js index 0ea8d82306ae..4c9a46ee3845 100644 --- a/src/ng/sniffer.js +++ b/src/ng/sniffer.js @@ -21,6 +21,8 @@ function $SnifferProvider() { android = int((/android (\d+)/.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]), boxee = /Boxee/i.test(($window.navigator || {}).userAgent), + webkit = + int((/[a-z]*?webkit\/(\d+)/i.exec(lowercase(($window.navigator || {}).userAgent)) || [])[1]), document = $document[0] || {}, documentMode = document.documentMode, vendorPrefix, @@ -62,8 +64,10 @@ function $SnifferProvider() { // older webit browser (533.9) on Boxee box has exactly the same problem as Android has // so let's not use the history API also // We are purposefully using `!(android < 4)` to cover the case when `android` is undefined + // older webkit browsers (<= 533.x) have problem with the history state, ie. Safari 5.0.2 + // so check if webkit isn't lower than 534 // jshint -W018 - history: !!($window.history && $window.history.pushState && !(android < 4) && !boxee), + history: !!($window.history && $window.history.pushState && !(android < 4) && !boxee && !(webkit < 534)), // jshint +W018 hashchange: 'onhashchange' in $window && // IE8 compatible mode lies diff --git a/test/ng/snifferSpec.js b/test/ng/snifferSpec.js index 8b3d3ffd046f..cbe4c3fa25dc 100644 --- a/test/ng/snifferSpec.js +++ b/test/ng/snifferSpec.js @@ -334,6 +334,31 @@ describe('$sniffer', function() { }); }); + describe('history', function() { + it('should be false on Webkit versions older then 334.x.x', function() { + module(function($provide) { + var doc = { + body : { + style : {} + } + }; + var win = { + history: { + pushState: noop + }, + navigator: { + userAgent: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; nl-nl) AppleWebkit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5' + } + }; + $provide.value('$document', jqLite(doc)); + $provide.value('$window', win); + }); + inject(function($sniffer) { + expect($sniffer.history).toBe(false); + }); + }); + }); + it('should return the internal msie flag', inject(function($sniffer) { expect(isNaN($sniffer.msie)).toBe(isNaN(msie)); if (msie) { From 3486de255953ce8caf2f5cdca869e5a220fdefac Mon Sep 17 00:00:00 2001 From: Ward Meremans Date: Tue, 17 Dec 2013 15:17:40 +0100 Subject: [PATCH 002/122] Fixing an issue with iOS7 sending the change event before the value has been updated, which causes validations to fail. Delaying the listener with 5 milliseconds solves the problem. --- src/ng/directive/input.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index fdbefe2fcade..bd9ecb01f3df 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -435,7 +435,7 @@ function textInputType(scope, element, attr, ctrl, $sniffer, $browser) { timeout = $browser.defer(function() { listener(); timeout = null; - }); + },5); // Adding 5 milliseconds delay for iOS7 } }; From 66c05ef2a9d9c060a74704884599727e250cbbd9 Mon Sep 17 00:00:00 2001 From: Ward Meremans Date: Tue, 17 Dec 2013 15:24:00 +0100 Subject: [PATCH 003/122] Typo in the version number --- test/ng/snifferSpec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/ng/snifferSpec.js b/test/ng/snifferSpec.js index cbe4c3fa25dc..02221a3026a4 100644 --- a/test/ng/snifferSpec.js +++ b/test/ng/snifferSpec.js @@ -335,7 +335,7 @@ describe('$sniffer', function() { }); describe('history', function() { - it('should be false on Webkit versions older then 334.x.x', function() { + it('should be false on Webkit versions older then 534.x.x', function() { module(function($provide) { var doc = { body : { From 08120612741421da9e702d70e41e586314a30209 Mon Sep 17 00:00:00 2001 From: Takashi Nakagawa Date: Tue, 4 Mar 2014 21:23:05 +0900 Subject: [PATCH 004/122] chore(grunt): remove unnecessary white spaces --- lib/grunt/utils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/grunt/utils.js b/lib/grunt/utils.js index b9affd822601..a736033da36c 100644 --- a/lib/grunt/utils.js +++ b/lib/grunt/utils.js @@ -26,7 +26,7 @@ var getRandomPorts = function() { var getPackage = function() { if ( !pkg ) { - // Search up the folder hierarchy for the first package.json + // Search up the folder hierarchy for the first package.json var packageFolder = path.resolve('.'); while ( !fs.existsSync(path.join(packageFolder, 'package.json')) ) { var parent = path.dirname(packageFolder); @@ -34,7 +34,7 @@ var getPackage = function() { packageFolder = parent; } pkg = JSON.parse(fs.readFileSync(path.join(packageFolder,'package.json'), 'UTF-8')); - + } return pkg; @@ -225,7 +225,7 @@ module.exports = { }, - updateWebdriver: function(done){ + updateWebdriver: function(done){ if (process.env.TRAVIS) { // Skip the webdriver-manager update on Travis, since the browsers will // be provided remotely. From a72bc4e69f4482136e0cde28cec6b4531fcac940 Mon Sep 17 00:00:00 2001 From: Sharon DiOrio Date: Mon, 9 Dec 2013 16:39:28 -0500 Subject: [PATCH 005/122] docs(tutorial/index): improve accessibility - Adds accessibility attributes to links and images. - Adds a note on using NVM for node. --- docs/content/tutorial/index.ngdoc | 63 ++++++++++++++++++------------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/docs/content/tutorial/index.ngdoc b/docs/content/tutorial/index.ngdoc index dfceb03ba1d1..67a1f50161e5 100644 --- a/docs/content/tutorial/index.ngdoc +++ b/docs/content/tutorial/index.ngdoc @@ -9,7 +9,8 @@ the construction of an AngularJS web app. The app you will build is a catalog th of Android devices, lets you filter the list to see only devices that interest you, and then view details for any device. - +demo
+application running in the browser Work through the tutorial to see how Angular makes browsers smarter — without the use of extensions or plug-ins. As you work through the tutorial, you will: @@ -57,63 +58,71 @@ and follow the instructions for setting up your computer.
  1. You'll need Git, which you can get from - the Git site.

  2. + the Git site.

  3. Clone the angular-phonecat repository located at - Github by running the following command:

    + Github by + running the following command:

    git clone https://github.com/angular/angular-phonecat.git
    -

    This command creates the angular-phonecat directory in your current -directory.

  4. +

    This command creates the angular-phonecat directory in your current directory.

  5. Change your current directory to angular-phonecat:

    cd angular-phonecat
    -

    The tutorial instructions, from now on, assume you are running all commands from the angular-phonecat -directory.

  6. +

    The tutorial instructions, from now on, assume you are running all commands from the + angular-phonecat directory.

  7. You will also need Node.js and Karma to run unit tests, so please verify that you have - Node.js v0.10 or better installed + Node.js v0.10 or better installed and that the node executable is on your PATH by running the following command in a terminal window:

  8. node --version
    -

    Additionally install Karma and its plugins if you - don't have it already:

    +
    **Helpful note:** If you need to run a different version of + node.js in your local environment, consider installing + + Node Version Manager (nvm).
    +

    Additionally install Karma and + its plugins if you don't have it already:

           npm install
           
  9. You will need an http server running on your system. Mac and Linux machines typically -have Apache pre-installed, but If you don't already have one installed, you can use node -to run a simple bundled http server: node scripts/web-server.js.

  10. + have Apache pre-installed, but If you don't already have one installed, you can use node + to run scripts/web-server.js, a simple bundled http server.

  1. You will need Node.js and Karma to run unit tests, so please verify that you have - Node.js v0.10 or better installed + Node.js v0.10 or better installed and that the node executable is on your PATH by running the following command in a terminal window:

    node --version
    -

    Additionally install Karma if you - don't have it already:

    +
    **Helpful note:** If you need to run a different version of + node.js in your local environment, consider installing + + Node Version Manager (nvm).
    +

    Additionally install Karma + if you don't have it already:

    npm install -g karma
  2. You'll also need Git, which you can get from - the Git site.

  3. + the Git site.

  4. Clone the angular-phonecat repository located at Github by running the following command:

    -
    git clone https://github.com/angular/angular-phonecat.git
    + href="https://github.com/angular/angular-phonecat" "Github Angular-phonecat Repo">Github by running + the following command:

    git clone https://github.com/angular/angular-phonecat.git

    This command creates the angular-phonecat directory in your current directory.

  5. Change your current directory to angular-phonecat:

    cd angular-phonecat

    The tutorial instructions assume you are running all commands from the angular-phonecat -directory.

    + directory.

    You should run all git commands from Git bash.

    -

    Other commands like test.bat or e2e-test.bat should be -executed from the Windows command line.

  6. -
  7. You need an http server running on your system, but if you don't already have one -already installed, you can use node to run a simple -bundled http server: node scripts\web-server.js.

  8. +

    Other commands like test.bat or e2e-test.bat should be executed from the + Windows command line. +

  9. You need an http server running on your system, but if you don't already have one already + installed, you can use node to run scripts\web-server.js, a simple bundled + http server.

-The last thing to do is to make sure your computer has a web browser and a good text editor -installed. Now, let's get some cool stuff done! +The last thing to do is to make sure your computer has a web browser and a good text editor installed. Now, +let's get some cool stuff done! -{@link step_00 Get Started!} +Get Started! From 73250089cdb43446bf35c4368eaa43c5aeebf878 Mon Sep 17 00:00:00 2001 From: Chung-Min Cheng Date: Tue, 4 Mar 2014 21:03:19 +0900 Subject: [PATCH 006/122] docs(tutorial): update step_08.ngdoc Closes #6537 --- docs/content/tutorial/step_08.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/tutorial/step_08.ngdoc b/docs/content/tutorial/step_08.ngdoc index 25de2cb8b8cf..ed085731d909 100644 --- a/docs/content/tutorial/step_08.ngdoc +++ b/docs/content/tutorial/step_08.ngdoc @@ -107,7 +107,7 @@ __`app/partials/phone-detail.html`:__ ... - +
  • Additional Features
    {{phone.additionalFeatures}}
  • From 229a155aef431e5f45db918d8e97a8f87114935e Mon Sep 17 00:00:00 2001 From: mgerstenblatt Date: Wed, 5 Mar 2014 15:51:43 -0500 Subject: [PATCH 007/122] docs(guide/forms): fix a typo Closes #6556 --- docs/content/guide/forms.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guide/forms.ngdoc b/docs/content/guide/forms.ngdoc index ba2eb499f7dd..0b91fc61f8ee 100644 --- a/docs/content/guide/forms.ngdoc +++ b/docs/content/guide/forms.ngdoc @@ -56,7 +56,7 @@ Note that `novalidate` is used to disable browser's native form validation. # Using CSS classes -To allow styling of form as well as controls, `ngModel` add these CSS classes: +To allow styling of form as well as controls, `ngModel` adds these CSS classes: - `ng-valid` - `ng-invalid` From 6d4ce240de18fc71c97635ae93a4738c59606e41 Mon Sep 17 00:00:00 2001 From: Zak Johnson Date: Wed, 5 Mar 2014 13:16:02 -0800 Subject: [PATCH 008/122] docs(guide/services): clean up typos --- docs/content/guide/services.ngdoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/content/guide/services.ngdoc b/docs/content/guide/services.ngdoc index d92be1426c59..86458f5f1cfc 100644 --- a/docs/content/guide/services.ngdoc +++ b/docs/content/guide/services.ngdoc @@ -11,10 +11,10 @@ Angular services are: * Lazily instantiated – Angular only instantiates a service when an application component depends on it. -* Singletons – Each component is dependent on a service gets a reference to the single instance +* Singletons – Each component dependent on a service gets a reference to the single instance generated by the service factory. -Angular offers several useful services (like {@link ng.$http `$http`}) but for most applications +Angular offers several useful services (like {@link ng.$http `$http`}), but for most applications you'll also want to {@link services#creating-services create your own}.
    @@ -215,8 +215,8 @@ In the example, note that: {@link ng.$log `$log`} services. * The `routeTemplateMonitor` service depends on the built-in {@link ngRoute.$route `$route`} service and our custom `batchLog` service. -* Both services use the and array notation to declare their dependencies. -* That the order of identifiers in the array is the same as the order of argument +* Both services use the array notation to declare their dependencies. +* The order of identifiers in the array is the same as the order of argument names in the factory function. ### Registering a Service with `$provide` @@ -234,7 +234,7 @@ angular.module('myModule', []).config(function($provide) { }); ``` -This is technique is often used in unit tests to mock out a service's dependencies. +This technique is often used in unit tests to mock out a service's dependencies. ## Unit Testing From 84f36701bc70079f5bb983aaa5b24d7b46c49299 Mon Sep 17 00:00:00 2001 From: tpiere Date: Sun, 26 Jan 2014 10:21:07 -0600 Subject: [PATCH 009/122] docs(tutorial): update step_09.ngdoc Closes #5991 --- docs/content/tutorial/step_09.ngdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/tutorial/step_09.ngdoc b/docs/content/tutorial/step_09.ngdoc index e95025fbfa2a..a3c6c6adabcf 100644 --- a/docs/content/tutorial/step_09.ngdoc +++ b/docs/content/tutorial/step_09.ngdoc @@ -40,13 +40,13 @@ The name of our filter is "checkmark". The `input` evaluates to either `true` or return one of the two unicode characters we have chosen to represent true (`\u2713` -> ✓) or false (`\u2718` -> ✘). Now that our filter is ready, we need to register the `phonecatFilters` module as a dependency for -our main `phonecat` module. +our main `phonecatApp` module. __`app/js/app.js`:__ ```js ... -angular.module('phonecatApp', ['phonecatFilters']). +angular.module('phonecatApp', ['ngRoute','phonecatControllers','phonecatFilters']). ... ``` From f39ac571c4b21a90e8422206d0a5bb75846ebfca Mon Sep 17 00:00:00 2001 From: Tony Bergeron Date: Wed, 5 Mar 2014 11:06:32 -0600 Subject: [PATCH 010/122] docs(directive.ngdoc): typo fix --- docs/content/guide/directive.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guide/directive.ngdoc b/docs/content/guide/directive.ngdoc index e80bb8bbad08..cadae1b30060 100644 --- a/docs/content/guide/directive.ngdoc +++ b/docs/content/guide/directive.ngdoc @@ -295,7 +295,7 @@ The `restrict` option is typically set to: These restictions can all be combined as needed: -* `'AEC'` - matches either attribure or element or class name +* `'AEC'` - matches either attribute or element or class name Let's change our directive to use `restrict: 'E'`: From 8c7b9b8de432e4fa6267ce7c58fca85f68001b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jeannin?= Date: Tue, 4 Mar 2014 20:39:10 +0100 Subject: [PATCH 011/122] style: enable jscs requireLeftStickedOperators rule Closed #6544. --- .jscs.json | 3 ++- .jscs.json.todo | 1 - src/jqLite.js | 2 +- src/ngSanitize/sanitize.js | 2 +- test/auto/injectorSpec.js | 2 +- test/ng/sceSpecs.js | 2 +- test/ngTouch/directive/ngSwipeSpec.js | 4 ++-- test/ngTouch/swipeSpec.js | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.jscs.json b/.jscs.json index 0fc84a6639e5..440737e1f2a9 100644 --- a/.jscs.json +++ b/.jscs.json @@ -1,5 +1,6 @@ { "disallowKeywords": ["with"], "disallowTrailingWhitespace": true, - "requireRightStickedOperators": ["!"] + "requireRightStickedOperators": ["!"], + "requireLeftStickedOperators": [","] } diff --git a/.jscs.json.todo b/.jscs.json.todo index 96326dce1082..1fb8c28d9018 100644 --- a/.jscs.json.todo +++ b/.jscs.json.todo @@ -8,7 +8,6 @@ "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"], "disallowLeftStickedOperators": ["?", "+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="], "disallowRightStickedOperators": ["?", "+", "/", "*", ":", "=", "==", "===", "!=", "!==", ">", ">=", "<", "<="], - "requireLeftStickedOperators": [","], "disallowImplicitTypeConversion": ["string"], "disallowMultipleLineBreaks": true, "disallowKeywordsOnNewLine": ["else"], diff --git a/src/jqLite.js b/src/jqLite.js index 809ede034a00..ba613f218f9e 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -457,7 +457,7 @@ forEach({ return jqLite(element).data('$isolateScope') || jqLite(element).data('$isolateScopeNoTemplate'); }, - controller: jqLiteController , + controller: jqLiteController, injector: function(element) { return jqLiteInheritedData(element, '$injector'); diff --git a/src/ngSanitize/sanitize.js b/src/ngSanitize/sanitize.js index 35dc8f100bec..38d088bbe407 100644 --- a/src/ngSanitize/sanitize.js +++ b/src/ngSanitize/sanitize.js @@ -254,7 +254,7 @@ function htmlParser( html, handler ) { match = html.match( DOCTYPE_REGEXP ); if ( match ) { - html = html.replace( match[0] , ''); + html = html.replace( match[0], ''); chars = false; } // end tag diff --git a/test/auto/injectorSpec.js b/test/auto/injectorSpec.js index a70cd763793e..4b9679784c0e 100644 --- a/test/auto/injectorSpec.js +++ b/test/auto/injectorSpec.js @@ -163,7 +163,7 @@ describe('injector', function() { function $f_n0 /* */( $a, // x, <-- looks like an arg but it is a comment - b_ , /* z, <-- looks like an arg but it is a + b_, /* z, <-- looks like an arg but it is a multi-line comment function (a, b) {} */ diff --git a/test/ng/sceSpecs.js b/test/ng/sceSpecs.js index e2a16c1cbc0f..40e79c5737ff 100644 --- a/test/ng/sceSpecs.js +++ b/test/ng/sceSpecs.js @@ -109,7 +109,7 @@ describe('SCE', function() { })); it('should NOT wrap unknown contexts', inject(function($sce) { - expect(function() { $sce.trustAs('unknown1' , '123'); }).toThrowMinErr( + expect(function() { $sce.trustAs('unknown1', '123'); }).toThrowMinErr( '$sce', 'icontext', 'Attempted to trust a value in invalid context. Context: unknown1; Value: 123'); })); diff --git a/test/ngTouch/directive/ngSwipeSpec.js b/test/ngTouch/directive/ngSwipeSpec.js index 2aa1a8fe338d..b46a9384e5f9 100644 --- a/test/ngTouch/directive/ngSwipeSpec.js +++ b/test/ngTouch/directive/ngSwipeSpec.js @@ -222,6 +222,6 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent, }); } -swipeTests('touch', true /* restrictBrowers */, 'touchstart', 'touchmove', 'touchend'); -swipeTests('mouse', false /* restrictBrowers */, 'mousedown', 'mousemove', 'mouseup'); +swipeTests('touch', /* restrictBrowers */ true, 'touchstart', 'touchmove', 'touchend'); +swipeTests('mouse', /* restrictBrowers */ false, 'mousedown', 'mousemove', 'mouseup'); diff --git a/test/ngTouch/swipeSpec.js b/test/ngTouch/swipeSpec.js index 435dda8c0109..1eb53e45d619 100644 --- a/test/ngTouch/swipeSpec.js +++ b/test/ngTouch/swipeSpec.js @@ -387,6 +387,6 @@ var swipeTests = function(description, restrictBrowsers, startEvent, moveEvent, }); } -swipeTests('touch', true /* restrictBrowers */, 'touchstart', 'touchmove', 'touchend'); -swipeTests('mouse', false /* restrictBrowers */, 'mousedown', 'mousemove', 'mouseup'); +swipeTests('touch', /* restrictBrowers */ true, 'touchstart', 'touchmove', 'touchend'); +swipeTests('mouse', /* restrictBrowers */ false, 'mousedown', 'mousemove', 'mouseup'); From 4c4d24a33802e630fac848978156c3697f70ceae Mon Sep 17 00:00:00 2001 From: Chirayu Krishnappa Date: Wed, 5 Mar 2014 11:20:38 -0800 Subject: [PATCH 012/122] chore(publish.sh): publish to all serving backends --- scripts/code.angularjs.org/publish.sh | 34 ++++++++++++++++++++------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/scripts/code.angularjs.org/publish.sh b/scripts/code.angularjs.org/publish.sh index 4845ad2ace70..fdbadf3b7908 100755 --- a/scripts/code.angularjs.org/publish.sh +++ b/scripts/code.angularjs.org/publish.sh @@ -55,19 +55,37 @@ function prepare { git commit -m "v$NEW_VERSION" } -function publish { - if [[ $IS_SNAPSHOT_BUILD ]]; then - echo "-- Updating snapshot version" - curl -G --data-urlencode "ver=$NEW_VERSION" http://code.angularjs.org/fetchLatestSnapshot.php - exit 0; - fi +function _update_snapshot() { + for backend in "$@" ; do + echo "-- Updating snapshot version: backend=$backend" + curl -G --data-urlencode "ver=$NEW_VERSION" http://$backend:8003/fetchLatestSnapshot.php + done +} + +function _update_code() { cd $REPO_DIR + echo "-- Pushing code.angularjs.org" git push origin master - echo "-- Refreshing code.angularjs.org" - curl http://code.angularjs.org/gitFetchSite.php + for backend in "$@" ; do + echo "-- Refreshing code.angularjs.org: backend=$backend" + curl http://$backend:8003/gitFetchSite.php + done +} + +function publish { + # The TXT record for backends.angularjs.org is a CSV of the IP addresses for + # the currently serving Compute Engine backends. + # code.angularjs.org is served out of port 8003 on these backends. + backends=("$(dig backends.angularjs.org +short TXT | python -c 'print raw_input()[1:-1].replace(",", "\n")')") + + if [[ $IS_SNAPSHOT_BUILD ]]; then + _update_snapshot ${backends[@]} + else + _update_code ${backends[@]} + fi } source $(dirname $0)/../utils.inc From 1c20aed31801eac10e31214593f8f9d0a2a8430b Mon Sep 17 00:00:00 2001 From: Misha Moroshko Date: Thu, 6 Mar 2014 15:06:55 +1100 Subject: [PATCH 013/122] docs(guide/services): minor fixes --- docs/content/guide/services.ngdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/content/guide/services.ngdoc b/docs/content/guide/services.ngdoc index 86458f5f1cfc..bc2a4f85d143 100644 --- a/docs/content/guide/services.ngdoc +++ b/docs/content/guide/services.ngdoc @@ -19,7 +19,7 @@ you'll also want to {@link services#creating-services create your own}.
    **Note:** Like other core Angular identifiers built-in services always start with `$` -(i.e. `$http`). +(e.g. `$http`).
    @@ -129,7 +129,7 @@ injection of `$window`, `$scope`, and our `notify` service: -
    +
    **Careful:** If you plan to [minify](http://en.wikipedia.org/wiki/Minification_(programming) your code, your variable names will get renamed unless you use one of the annotation techniques above.
    From e8c8c5459e552d795fe9995038a5090efa727098 Mon Sep 17 00:00:00 2001 From: Eddie Hedges Date: Thu, 6 Mar 2014 21:50:01 -0600 Subject: [PATCH 014/122] docs(tutorial): link update for Jasmine Jasmine doesn't live at the replaced link anymore. It has a link to click through, but I figured it would be better to just go directly to the correct location. Closes #6591 --- docs/content/tutorial/step_02.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/tutorial/step_02.ngdoc b/docs/content/tutorial/step_02.ngdoc index 37e91ef74716..83512e9ff882 100644 --- a/docs/content/tutorial/step_02.ngdoc +++ b/docs/content/tutorial/step_02.ngdoc @@ -183,7 +183,7 @@ is available to be injected. ### Writing and Running Tests Angular developers prefer the syntax of Jasmine's Behavior-driven Development (BDD) framework when writing tests. Although Angular does not require you to use Jasmine, we wrote all of the tests in -this tutorial in Jasmine. You can learn about Jasmine on the [Jasmine home page](http://pivotal.github.com/jasmine/) and at the [Jasmine docs](http://pivotal.github.io/jasmine/). +this tutorial in Jasmine. You can learn about Jasmine on the [Jasmine home page](http://jasmine.github.io/) and at the [Jasmine docs](http://jasmine.github.io/). The angular-seed project is pre-configured to run all unit tests using [Karma](http://karma-runner.github.io/). Ensure that the necessary karma plugins are installed. You can do this by issuing `npm install` into your terminal. From 021d3aa21a4b7f2ea69a4a9bff7a7ff7986d343c Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 05:33:21 +0000 Subject: [PATCH 015/122] chore(doc-gen): improve error reporting --- docs/config/processors/pages-data.js | 9 +++------ docs/docs.config.js | 2 ++ docs/gulpfile.js | 6 +++++- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js index 43fdc9ddb747..1b93b021a2b7 100644 --- a/docs/config/processors/pages-data.js +++ b/docs/config/processors/pages-data.js @@ -145,6 +145,9 @@ module.exports = { _(docs) .filter(function(doc) { return doc.area === 'api'; }) .filter(function(doc) { return doc.docType === 'module'; }) + .forEach(function(doc) { if ( !doc.path ) { + log.warn('Missing path property for ', doc.id); + }}) .map(function(doc) { return _.pick(doc, ['id', 'module', 'docType', 'area']); }) .tap(function(docs) { log.debug(docs); @@ -188,12 +191,6 @@ module.exports = { area.navGroups = navGroupMapper(pages, area); }); - _.forEach(docs, function(doc) { - if ( !doc.path ) { - log.warn('Missing path property for ', doc.id); - } - }); - // Extract a list of basic page information for mapping paths to paritals and for client side searching var pages = _(docs) .map(function(doc) { diff --git a/docs/docs.config.js b/docs/docs.config.js index c1539cb64152..62fd6066ffd8 100644 --- a/docs/docs.config.js +++ b/docs/docs.config.js @@ -25,6 +25,8 @@ module.exports = function(config) { { pattern: '**/*.ngdoc', basePath: path.resolve(basePath, 'content') } ]); + config.set('processing.stopOnError', true); + config.set('processing.errors.minerrInfoPath', path.resolve(basePath, '../build/errors.json')); config.set('rendering.outputFolder', '../build/docs'); diff --git a/docs/gulpfile.js b/docs/gulpfile.js index caef1a89e414..c47c04f5b606 100644 --- a/docs/gulpfile.js +++ b/docs/gulpfile.js @@ -49,7 +49,11 @@ gulp.task('assets', ['bower'], function() { gulp.task('doc-gen', function() { - return docGenerator('docs.config.js').generateDocs(); + return docGenerator('docs.config.js') + .generateDocs() + .catch(function(error) { + process.exit(1); + }); }); // JSHint the example and protractor test files From 1537f8026726c9bf818e27cb361c47446857a2d8 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 05:34:13 +0000 Subject: [PATCH 016/122] chore(doc-gen): fix error-doc processor The meta-data should be parsed from the name not the id. --- docs/config/processors/error-docs.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/config/processors/error-docs.js b/docs/config/processors/error-docs.js index 3fed96c578d5..2543190d1d8e 100644 --- a/docs/config/processors/error-docs.js +++ b/docs/config/processors/error-docs.js @@ -22,6 +22,12 @@ module.exports = { _.forEach(docs, function(doc) { if ( doc.docType === 'error' ) { + // Parse out the error info from the id + parts = doc.name.split(':'); + doc.namespace = parts[0]; + doc.name = parts[1]; + + var namespaceDoc = errorNamespaces[doc.namespace]; if ( !namespaceDoc ) { // First time we came across this namespace, so create a new one From 50ce5746a7265b403ca47e9a8d149c6a8e88e745 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 11:18:55 +0000 Subject: [PATCH 017/122] docs($route): fix formatting of example code --- src/ngRoute/route.js | 193 ++++++++++++++++++++++--------------------- 1 file changed, 97 insertions(+), 96 deletions(-) diff --git a/src/ngRoute/route.js b/src/ngRoute/route.js index a1236ec9341b..80aef0344c7f 100644 --- a/src/ngRoute/route.js +++ b/src/ngRoute/route.js @@ -262,102 +262,103 @@ function $RouteProvider(){ * {@link ngRoute.$routeParams `$routeParams`} service. * * @example - This example shows how changing the URL hash causes the `$route` to match a route against the - URL, and the `ngView` pulls in the partial. - - Note that this example is using {@link ng.directive:script inlined templates} - to get it working on jsfiddle as well. - - - -
    - Choose: - Moby | - Moby: Ch1 | - Gatsby | - Gatsby: Ch4 | - Scarlet Letter
    - -
    -
    - -
    $location.path() = {{$location.path()}}
    -
    $route.current.templateUrl = {{$route.current.templateUrl}}
    -
    $route.current.params = {{$route.current.params}}
    -
    $route.current.scope.name = {{$route.current.scope.name}}
    -
    $routeParams = {{$routeParams}}
    -
    -
    - - - controller: {{name}}
    - Book Id: {{params.bookId}}
    -
    - - - controller: {{name}}
    - Book Id: {{params.bookId}}
    - Chapter Id: {{params.chapterId}} -
    - - - angular.module('ngRouteExample', ['ngRoute']) - - .config(function($routeProvider, $locationProvider) { - $routeProvider.when('/Book/:bookId', { - templateUrl: 'book.html', - controller: BookCntl, - resolve: { - // I will cause a 1 second delay - delay: function($q, $timeout) { - var delay = $q.defer(); - $timeout(delay.resolve, 1000); - return delay.promise; - } - } - }); - $routeProvider.when('/Book/:bookId/ch/:chapterId', { - templateUrl: 'chapter.html', - controller: ChapterCntl - }); - - // configure html5 to get links working on jsfiddle - $locationProvider.html5Mode(true); - }); - - function MainCntl($scope, $route, $routeParams, $location) { - $scope.$route = $route; - $scope.$location = $location; - $scope.$routeParams = $routeParams; - } - - function BookCntl($scope, $routeParams) { - $scope.name = "BookCntl"; - $scope.params = $routeParams; - } - - function ChapterCntl($scope, $routeParams) { - $scope.name = "ChapterCntl"; - $scope.params = $routeParams; - } - - - - it('should load and compile correct template', function() { - element(by.linkText('Moby: Ch1')).click(); - var content = element(by.css('[ng-view]')).getText(); - expect(content).toMatch(/controller\: ChapterCntl/); - expect(content).toMatch(/Book Id\: Moby/); - expect(content).toMatch(/Chapter Id\: 1/); - - element(by.partialLinkText('Scarlet')).click(); - - content = element(by.css('[ng-view]')).getText(); - expect(content).toMatch(/controller\: BookCntl/); - expect(content).toMatch(/Book Id\: Scarlet/); - }); - -
    + * This example shows how changing the URL hash causes the `$route` to match a route against the + * URL, and the `ngView` pulls in the partial. + * + * Note that this example is using {@link ng.directive:script inlined templates} + * to get it working on jsfiddle as well. + * + * + * + *
    + * Choose: + * Moby | + * Moby: Ch1 | + * Gatsby | + * Gatsby: Ch4 | + * Scarlet Letter
    + * + *
    + *
    + * + *
    $location.path() = {{$location.path()}}
    + *
    $route.current.templateUrl = {{$route.current.templateUrl}}
    + *
    $route.current.params = {{$route.current.params}}
    + *
    $route.current.scope.name = {{$route.current.scope.name}}
    + *
    $routeParams = {{$routeParams}}
    + *
    + *
    + * + * + * controller: {{name}}
    + * Book Id: {{params.bookId}}
    + *
    + * + * + * controller: {{name}}
    + * Book Id: {{params.bookId}}
    + * Chapter Id: {{params.chapterId}} + *
    + * + * + * angular.module('ngRouteExample', ['ngRoute']) + * + * .config(function($routeProvider, $locationProvider) { + * $routeProvider.when('/Book/:bookId', { + * templateUrl: 'book.html', + * controller: BookCntl, + * resolve: { + * // I will cause a 1 second delay + * delay: function($q, $timeout) { + * var delay = $q.defer(); + * $timeout(delay.resolve, 1000); + * return delay.promise; + * } + * } + * }); + * $routeProvider.when('/Book/:bookId/ch/:chapterId', { + * templateUrl: 'chapter.html', + * controller: ChapterCntl + * }); + * + * // configure html5 to get links working on jsfiddle + * $locationProvider.html5Mode(true); + * }); + * + * function MainCntl($scope, $route, $routeParams, $location) { + * $scope.$route = $route; + * $scope.$location = $location; + * $scope.$routeParams = $routeParams; + * } + * + * function BookCntl($scope, $routeParams) { + * $scope.name = "BookCntl"; + * $scope.params = $routeParams; + * } + * + * function ChapterCntl($scope, $routeParams) { + * $scope.name = "ChapterCntl"; + * $scope.params = $routeParams; + * } + * + * + * + * it('should load and compile correct template', function() { + * element(by.linkText('Moby: Ch1')).click(); + * var content = element(by.css('[ng-view]')).getText(); + * expect(content).toMatch(/controller\: ChapterCntl/); + * expect(content).toMatch(/Book Id\: Moby/); + * expect(content).toMatch(/Chapter Id\: 1/); + * + * element(by.partialLinkText('Scarlet')).click(); + * + * content = element(by.css('[ng-view]')).getText(); + * expect(content).toMatch(/controller\: BookCntl/); + * expect(content).toMatch(/Book Id\: Scarlet/); + * }); + * + *
    */ /** From 2eff3267819737d1cc457800fd86a846acbf1b1e Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 11:18:55 +0000 Subject: [PATCH 018/122] chore(doc-gen): add inline @type tag --- docs/config/index.js | 4 ++++ docs/config/inline-tag-defs/type.js | 12 ++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/config/inline-tag-defs/type.js diff --git a/docs/config/index.js b/docs/config/index.js index 9dfa4abf710f..5aca987a4298 100644 --- a/docs/config/index.js +++ b/docs/config/index.js @@ -25,6 +25,10 @@ module.exports = function(config) { require('./tag-defs/tutorial-step') ]); + config.append('processing.inlineTagDefinitions', [ + require('./inline-tag-defs/type') + ]); + config.set('processing.search.ignoreWordsFile', path.resolve(packagePath, 'ignore.words')); config.prepend('rendering.templateFolders', [ diff --git a/docs/config/inline-tag-defs/type.js b/docs/config/inline-tag-defs/type.js new file mode 100644 index 000000000000..b0a11b5a63ac --- /dev/null +++ b/docs/config/inline-tag-defs/type.js @@ -0,0 +1,12 @@ +var typeClassFilter = require('dgeni-packages/ngdoc/rendering/filters/type-class'); +var encoder = new require('node-html-encoder').Encoder(); + +module.exports = { + name: 'type', + description: 'Replace with markup that displays a nice type', + handlerFactory: function() { + return function(doc, tagName, tagDescription) { + return ''+encoder.htmlEncode(tagDescription) + ''; + }; + } +}; From dec5eb6e837e41a33787852dde8feae545987fb2 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 11:18:55 +0000 Subject: [PATCH 019/122] chore(doc-gen): add contentFolder config property --- docs/docs.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/docs.config.js b/docs/docs.config.js index 62fd6066ffd8..2e163254877e 100644 --- a/docs/docs.config.js +++ b/docs/docs.config.js @@ -30,6 +30,7 @@ module.exports = function(config) { config.set('processing.errors.minerrInfoPath', path.resolve(basePath, '../build/errors.json')); config.set('rendering.outputFolder', '../build/docs'); + config.set('rendering.contentsFolder', 'partials'); config.set('logging.level', 'info'); From 7678501bc9358d93cbd95bec93426685ad7c8561 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 7 Mar 2014 11:18:55 +0000 Subject: [PATCH 020/122] chore(package): update dgeni dependencies --- package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 629b736007f8..bd55594c2aac 100644 --- a/package.json +++ b/package.json @@ -50,10 +50,11 @@ "gulp-concat": "~2.1.7", "canonical-path": "0.0.2", "winston": "~0.7.2", - "dgeni": "~0.2.0", - "dgeni-packages": "^0.3.0", + "dgeni": "^0.2.2", + "dgeni-packages": "^0.6.0", "gulp-jshint": "~1.4.2", - "jshint-stylish": "~0.1.5" + "jshint-stylish": "~0.1.5", + "node-html-encoder": "0.0.2" }, "licenses": [ { From ca0ac649971ae4fb50419b38f92a98d2226eb696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Galfas=C3=B3?= Date: Mon, 17 Feb 2014 13:02:58 +0100 Subject: [PATCH 021/122] fix($compile): support templates with thead and tfoot root elements If the first element in a template is a or a , then use the existing logic to handle table elements compilation. Closes #6289 --- src/ng/compile.js | 17 +++++++-------- test/ng/compileSpec.js | 48 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 9 deletions(-) diff --git a/src/ng/compile.js b/src/ng/compile.js index 5b625c193478..c7cd08bce127 100644 --- a/src/ng/compile.js +++ b/src/ng/compile.js @@ -503,7 +503,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { Suffix = 'Directive', COMMENT_DIRECTIVE_REGEXP = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, CLASS_DIRECTIVE_REGEXP = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/, - TABLE_CONTENT_REGEXP = /^<\s*(tr|th|td|tbody)(\s+[^>]*)?>/i; + TABLE_CONTENT_REGEXP = /^<\s*(tr|th|td|thead|tbody|tfoot)(\s+[^>]*)?>/i; // Ref: http://developers.whatwg.org/webappapis.html#event-handler-idl-attributes // The assumption is that future DOM event attribute names will begin with @@ -1649,16 +1649,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { template = trim(template); if ((type = TABLE_CONTENT_REGEXP.exec(template))) { type = type[1].toLowerCase(); - var table = jqLite('' + template + '
    '), - tbody = table.children('tbody'), - leaf = /(td|th)/.test(type) && table.find('tr'); - if (tbody.length && type !== 'tbody') { - table = tbody; + var table = jqLite('' + template + '
    '); + if (/(thead|tbody|tfoot)/.test(type)) { + return table.children(type); } - if (leaf && leaf.length) { - table = leaf; + table = table.children('tbody'); + if (type === 'tr') { + return table.children('tr'); } - return table.contents(); + return table.children('tr').contents(); } return jqLite('
    ' + template + diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js index 98b1650f7706..5110c4d62634 100755 --- a/test/ng/compileSpec.js +++ b/test/ng/compileSpec.js @@ -529,10 +529,18 @@ describe('$compile', function() { replace: true, template: 'TH' })); + directive('replaceWithThead', valueFn({ + replace: true, + template: 'TD' + })); directive('replaceWithTbody', valueFn({ replace: true, template: 'TD' })); + directive('replaceWithTfoot', valueFn({ + replace: true, + template: 'TD' + })); })); @@ -718,12 +726,26 @@ describe('$compile', function() { expect(nodeName_(element)).toMatch(/th/i); })); + it('should support templates with root tags', inject(function($compile, $rootScope) { + expect(function() { + element = $compile('
    ')($rootScope); + }).not.toThrow(); + expect(nodeName_(element)).toMatch(/thead/i); + })); + it('should support templates with root tags', inject(function($compile, $rootScope) { expect(function() { element = $compile('
    ')($rootScope); }).not.toThrow(); expect(nodeName_(element)).toMatch(/tbody/i); })); + + it('should support templates with root tags', inject(function($compile, $rootScope) { + expect(function() { + element = $compile('
    ')($rootScope); + }).not.toThrow(); + expect(nodeName_(element)).toMatch(/tfoot/i); + })); }); @@ -833,10 +855,18 @@ describe('$compile', function() { replace: true, templateUrl: 'th.html' })); + directive('replaceWithThead', valueFn({ + replace: true, + templateUrl: 'thead.html' + })); directive('replaceWithTbody', valueFn({ replace: true, templateUrl: 'tbody.html' })); + directive('replaceWithTfoot', valueFn({ + replace: true, + templateUrl: 'tfoot.html' + })); } )); @@ -1500,6 +1530,15 @@ describe('$compile', function() { expect(nodeName_(element)).toMatch(/th/i); })); + it('should support templates with root tags', inject(function($compile, $rootScope, $templateCache) { + $templateCache.put('thead.html', 'TD'); + expect(function() { + element = $compile('
    ')($rootScope); + }).not.toThrow(); + $rootScope.$digest(); + expect(nodeName_(element)).toMatch(/thead/i); + })); + it('should support templates with root tags', inject(function($compile, $rootScope, $templateCache) { $templateCache.put('tbody.html', 'TD'); expect(function() { @@ -1508,6 +1547,15 @@ describe('$compile', function() { $rootScope.$digest(); expect(nodeName_(element)).toMatch(/tbody/i); })); + + it('should support templates with root tags', inject(function($compile, $rootScope, $templateCache) { + $templateCache.put('tfoot.html', 'TD'); + expect(function() { + element = $compile('
    ')($rootScope); + }).not.toThrow(); + $rootScope.$digest(); + expect(nodeName_(element)).toMatch(/tfoot/i); + })); }); From a8aba8957be799823391168352a435fe60e3fc7d Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 11 Mar 2014 06:34:09 +0000 Subject: [PATCH 022/122] docs(versions): rework the version info extraction The docs were relying on the grunt/util module for getting version info but this was unreliable and full of custom regexes. This is moved into a new version-info module that makes much better use of the semver library. --- docs/config/processors/git-data.js | 7 +- docs/config/templates/indexPage.template.html | 2 +- docs/docs.config.js | 5 +- lib/versions/version-info.js | 157 ++++++++++++++++++ 4 files changed, 164 insertions(+), 7 deletions(-) create mode 100644 lib/versions/version-info.js diff --git a/docs/config/processors/git-data.js b/docs/config/processors/git-data.js index 229864bb920f..16bbef43c67d 100644 --- a/docs/config/processors/git-data.js +++ b/docs/config/processors/git-data.js @@ -1,4 +1,5 @@ var gruntUtils = require('../../../lib/grunt/utils'); +var versionInfo = require('../../../lib/versions/version-info'); module.exports = { name: 'git-data', @@ -6,9 +7,9 @@ module.exports = { description: 'This processor adds information from the local git repository to the extraData injectable', init: function(config, injectables) { injectables.value('gitData', { - version: gruntUtils.getVersion(), - versions: gruntUtils.getPreviousVersions(), - info: gruntUtils.getGitRepoInfo() + version: versionInfo.currentVersion, + versions: versionInfo.previousVersions, + info: versionInfo.gitRepoInfo }); }, process: function(extraData, gitData) { diff --git a/docs/config/templates/indexPage.template.html b/docs/config/templates/indexPage.template.html index 9582c825abe7..0dfe6cc0d412 100644 --- a/docs/config/templates/indexPage.template.html +++ b/docs/config/templates/indexPage.template.html @@ -175,7 +175,7 @@

    {{ key }}

    - {{size}}
    - This is not valid integer! - - The value must be in range 0 to 10! -
    - -
    - Length (float): - - {{length}}
    - - This is not a valid float number! -
    - -
    +
    +
    + Size (integer 0 - 10): + {{size}}
    + This is not valid integer! + + The value must be in range 0 to 10! +
    + +
    + Length (float): + + {{length}}
    + + This is not a valid float number! +
    +
    From a43c6e18282409a60074be2039f20554d63de77b Mon Sep 17 00:00:00 2001 From: doodeec Date: Wed, 5 Mar 2014 18:23:22 +0100 Subject: [PATCH 039/122] docs($route): change routes property to correct type change $route.routes property type to Object, property is marked incorrectly as an Array Closes #6552 --- src/ngRoute/route.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ngRoute/route.js b/src/ngRoute/route.js index 80aef0344c7f..1044eb271322 100644 --- a/src/ngRoute/route.js +++ b/src/ngRoute/route.js @@ -247,7 +247,7 @@ function $RouteProvider(){ * - `$scope` - The current route scope. * - `$template` - The current route template HTML. * - * @property {Array.} routes Array of all configured routes. + * @property {Object} routes Object with all route configuration Objects as its properties. * * @description * `$route` is used for deep-linking URLs to controllers and views (HTML partials). From 98f6a82390db04101744c74d063630195ce5a308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matias=20Niemel=C3=A4?= Date: Mon, 10 Mar 2014 15:07:29 -0400 Subject: [PATCH 040/122] chore(docs): ensure the "Improve this doc" button is clickable Closes #6631 --- docs/app/assets/css/docs.css | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/app/assets/css/docs.css b/docs/app/assets/css/docs.css index 64f2e4b76ed4..98c0bec677f3 100644 --- a/docs/app/assets/css/docs.css +++ b/docs/app/assets/css/docs.css @@ -501,10 +501,6 @@ h4 { padding-top:20px; } -.improve-docs { - float:right; -} - .btn { color:#428bca; position: relative; @@ -538,10 +534,17 @@ h4 { background:white!important; } +.view-source, .improve-docs { + position:relative; + z-index:100; +} + .view-source { margin-right:10px; - padding-right:10px; - border-right:1px solid #999; +} + +.improve-docs { + float:right; } .return-arguments, From 1102ffaaf8afb3d985965220bc32d3126703ad49 Mon Sep 17 00:00:00 2001 From: Basem Mostafa Date: Mon, 10 Mar 2014 22:55:57 +0200 Subject: [PATCH 041/122] docs(ngRepeat): Separate animation class in new lines Moving to new lines & making it bold to avoid confusion when they r all in same line without any separation Closes #6633 --- src/ng/directive/ngRepeat.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ng/directive/ngRepeat.js b/src/ng/directive/ngRepeat.js index c6a9bda3f48a..11f35c56e84c 100644 --- a/src/ng/directive/ngRepeat.js +++ b/src/ng/directive/ngRepeat.js @@ -68,9 +68,11 @@ * as **data-ng-repeat-start**, **x-ng-repeat-start** and **ng:repeat-start**). * * @animations - * enter - when a new item is added to the list or when an item is revealed after a filter - * leave - when an item is removed from the list or when an item is filtered out - * move - when an adjacent item is filtered out causing a reorder or when the item contents are reordered + * **.enter** - when a new item is added to the list or when an item is revealed after a filter + * + * **.leave** - when an item is removed from the list or when an item is filtered out + * + * **.move** - when an adjacent item is filtered out causing a reorder or when the item contents are reordered * * @element ANY * @scope From 465663ed77f9fc0bed2b69b95d545c7f99c40cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20Hau=C3=9Fknecht?= Date: Mon, 10 Mar 2014 21:56:48 +0100 Subject: [PATCH 042/122] docs(route.js): changed html entities lt gt to < and > --- src/ngRoute/route.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ngRoute/route.js b/src/ngRoute/route.js index 1044eb271322..1319dd02cf7a 100644 --- a/src/ngRoute/route.js +++ b/src/ngRoute/route.js @@ -82,7 +82,7 @@ function $RouteProvider(){ * * If `template` is a function, it will be called with the following parameters: * - * - `{Array.<Object>}` - route parameters extracted from the current + * - `{Array.}` - route parameters extracted from the current * `$location.path()` by applying the current route * * - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html @@ -90,7 +90,7 @@ function $RouteProvider(){ * * If `templateUrl` is a function, it will be called with the following parameters: * - * - `{Array.<Object>}` - route parameters extracted from the current + * - `{Array.}` - route parameters extracted from the current * `$location.path()` by applying the current route * * - `resolve` - `{Object.=}` - An optional map of dependencies which should From f2a6be3129fd6de02062c3798ef25d0eeecbd0de Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Thu, 6 Mar 2014 02:15:24 -0800 Subject: [PATCH 043/122] chore(build): don't instruct Jenkins test on IE for an unknown reason the VMs can't connect to local karma, so all builds on Jenkins (ci.angularjs.org) are failing right now. Since we want to kill Jenkins anyway, and travis tests on IE, this should not have any significant impact on us. Conflicts: jenkins_build.sh --- jenkins_build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins_build.sh b/jenkins_build.sh index 806eb0f2c95f..b6800082e21f 100755 --- a/jenkins_build.sh +++ b/jenkins_build.sh @@ -10,7 +10,7 @@ set -xe # Define reasonable set of browsers in case we are running manually from commandline if [[ -z "$BROWSERS" ]] then - BROWSERS="Chrome,Firefox,Opera,/Users/jenkins/bin/safari.sh,/Users/jenkins/bin/ie8.sh,/Users/jenkins/bin/ie9.sh" + BROWSERS="Chrome,Firefox,Opera,/Users/jenkins/bin/safari.sh" fi # CLEAN # From 612c882b839c029e4a4632c45ecc9b2e2f4d45d4 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Tue, 11 Mar 2014 16:31:50 -0700 Subject: [PATCH 044/122] chore(npm): add shrinkwrap to lock down dependencies We need to be able to build angular at older shas, without the lock file / shrinkwrap file the dependencies will resolve differently on different machines and at different times. This will help us avoid broken builds and hard to track down issues. I had to manually edit this file after it was generated because `npm shrinkwrap` will install optional dependencies as if they were hard dependencies. See: https://github.com/npm/npm/issues/2679#issuecomment-37361236 My manual edit: ``` diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 756df44..dc157eb 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -3110,19 +3110,7 @@ "chokidar": { "version": "0.8.1", "from": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz", - "dependencies": { - "fsevents": { - "version": "0.1.6", - "from": "fsevents@0.1.6", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-0.1.6.tgz" - }, - "recursive-readdir": { - "version": "0.0.2", - "from": "recursive-readdir@0.0.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-0.0.2.tgz" - } - } + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz" }, "glob": { "version": "3.2.9", ``` Additionally chokidar doesn't list the dependencies above as optional, but that will hopefully be soon fixed: https://github.com/paulmillr/chokidar/pull/106 In the meantime the patch from the PR above needs to be applied to node_modules/karma/node_modules/chokidar/package.json before running `npm shrinkwrap` ---- After this change is applied, angular core developers don't need to do anything differently, except when updating dependencies we need to call `npm update && npm shrinkwrap --dev` followed by reappling my patch above until npm's bug. Closes #6653 --- npm-shrinkwrap.json | 4325 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4325 insertions(+) create mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json new file mode 100644 index 000000000000..dc157ebaed31 --- /dev/null +++ b/npm-shrinkwrap.json @@ -0,0 +1,4325 @@ +{ + "name": "angularjs", + "dependencies": { + "bower": { + "version": "1.2.8", + "from": "https://registry.npmjs.org/bower/-/bower-1.2.8.tgz", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.2.8.tgz", + "dependencies": { + "abbrev": { + "version": "1.0.4", + "from": "abbrev@1.0.4", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" + }, + "archy": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz" + }, + "bower-config": { + "version": "0.5.0", + "from": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz", + "dependencies": { + "mout": { + "version": "0.6.0", + "from": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz" + }, + "optimist": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + } + } + }, + "bower-endpoint-parser": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz" + }, + "bower-json": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz", + "dependencies": { + "deep-extend": { + "version": "0.2.8", + "from": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz" + }, + "intersect": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz" + } + } + }, + "bower-logger": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz" + }, + "bower-registry-client": { + "version": "0.1.6", + "from": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "bower-config": { + "version": "0.4.5", + "from": "https://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz", + "dependencies": { + "mout": { + "version": "0.6.0", + "from": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz" + }, + "optimist": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + } + } + }, + "request-replay": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz" + } + } + }, + "cardinal": { + "version": "0.4.4", + "from": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz", + "dependencies": { + "redeyed": { + "version": "0.4.4", + "from": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz", + "dependencies": { + "esprima": { + "version": "1.0.4", + "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + } + } + }, + "ansicolors": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz" + } + } + }, + "chalk": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz" + } + } + }, + "chmodr": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz" + }, + "decompress-zip": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.4.tgz", + "dependencies": { + "mkpath": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz" + }, + "binary": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "dependencies": { + "chainsaw": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "dependencies": { + "traverse": { + "version": "0.3.9", + "from": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" + } + } + }, + "buffers": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" + } + } + }, + "touch": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz", + "dependencies": { + "nopt": { + "version": "1.0.10", + "from": "nopt@1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + } + } + }, + "readable-stream": { + "version": "1.1.11", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + }, + "debuglog": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz" + } + } + } + } + }, + "fstream": { + "version": "0.1.25", + "from": "https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "fstream-ignore": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "graceful-fs": { + "version": "2.0.2", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + }, + "handlebars": { + "version": "1.0.12", + "from": "https://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz", + "dependencies": { + "optimist": { + "version": "0.3.7", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + } + } + }, + "uglify-js": { + "version": "2.3.6", + "from": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "source-map": { + "version": "0.1.32", + "from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "dependencies": { + "amdefine": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz" + } + } + } + } + } + } + }, + "inquirer": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz", + "dependencies": { + "lodash": { + "version": "1.2.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz" + }, + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "cli-color": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz", + "dependencies": { + "es5-ext": { + "version": "0.9.2", + "from": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz" + }, + "memoizee": { + "version": "0.2.6", + "from": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", + "dependencies": { + "event-emitter": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz" + }, + "next-tick": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz" + } + } + } + } + }, + "mute-stream": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz" + } + } + }, + "junk": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/junk/-/junk-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/junk/-/junk-0.2.2.tgz" + }, + "mkdirp": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "mout": { + "version": "0.7.1", + "from": "https://registry.npmjs.org/mout/-/mout-0.7.1.tgz", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.7.1.tgz" + }, + "nopt": { + "version": "2.1.2", + "from": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz" + }, + "lru-cache": { + "version": "2.3.1", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz" + }, + "open": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/open/-/open-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.4.tgz" + }, + "osenv": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz" + }, + "promptly": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz", + "dependencies": { + "read": { + "version": "1.0.5", + "from": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", + "dependencies": { + "mute-stream": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz" + } + } + } + } + }, + "q": { + "version": "0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + }, + "request": { + "version": "2.27.0", + "from": "https://registry.npmjs.org/request/-/request-2.27.0.tgz", + "resolved": "https://registry.npmjs.org/request/-/request-2.27.0.tgz", + "dependencies": { + "qs": { + "version": "0.6.6", + "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + }, + "json-stringify-safe": { + "version": "5.0.0", + "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz" + }, + "forever-agent": { + "version": "0.5.2", + "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" + }, + "tunnel-agent": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz" + }, + "http-signature": { + "version": "0.10.0", + "from": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", + "dependencies": { + "assert-plus": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" + }, + "asn1": { + "version": "0.1.11", + "from": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" + }, + "ctype": { + "version": "0.5.2", + "from": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" + } + } + }, + "hawk": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "dependencies": { + "hoek": { + "version": "0.9.1", + "from": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz" + }, + "boom": { + "version": "0.4.2", + "from": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" + }, + "cryptiles": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz" + }, + "sntp": { + "version": "0.2.4", + "from": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz" + } + } + }, + "aws-sign": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz" + }, + "oauth-sign": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz" + }, + "cookie-jar": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz" + }, + "node-uuid": { + "version": "1.4.1", + "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + }, + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "form-data": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", + "dependencies": { + "combined-stream": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "dependencies": { + "delayed-stream": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + } + } + }, + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + } + } + } + } + }, + "request-progress": { + "version": "0.3.1", + "from": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz", + "dependencies": { + "throttleit": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz" + } + } + }, + "retry": { + "version": "0.6.0", + "from": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz" + }, + "rimraf": { + "version": "2.2.6", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + }, + "stringify-object": { + "version": "0.1.8", + "from": "https://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz" + }, + "sudo-block": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz", + "dependencies": { + "chalk": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz" + } + } + } + } + }, + "tar": { + "version": "0.1.19", + "from": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "block-stream": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz" + } + } + }, + "tmp": { + "version": "0.0.23", + "from": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz" + }, + "update-notifier": { + "version": "0.1.7", + "from": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz", + "dependencies": { + "configstore": { + "version": "0.1.7", + "from": "https://registry.npmjs.org/configstore/-/configstore-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-0.1.7.tgz", + "dependencies": { + "lodash": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "js-yaml": { + "version": "2.1.3", + "from": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz", + "dependencies": { + "argparse": { + "version": "0.1.15", + "from": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", + "dependencies": { + "underscore": { + "version": "1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + }, + "underscore.string": { + "version": "2.3.3", + "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + } + } + }, + "esprima": { + "version": "1.0.4", + "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + } + } + } + } + } + } + }, + "which": { + "version": "1.0.5", + "from": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz" + }, + "p-throttler": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz" + } + } + }, + "browserstacktunnel-wrapper": { + "version": "1.1.2", + "from": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-1.1.2.tgz" + }, + "canonical-path": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz" + }, + "dgeni": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/dgeni/-/dgeni-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/dgeni/-/dgeni-0.2.2.tgz", + "dependencies": { + "rimraf": { + "version": "2.2.6", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + }, + "optimist": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "lodash": { + "version": "2.4.1", + "from": "lodash@2.4.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "dependency-graph": { + "version": "0.1.0", + "from": "dependency-graph@0.1.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.1.0.tgz", + "dependencies": { + "underscore": { + "version": "1.4.4", + "from": "underscore@1.4.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + } + } + }, + "q": { + "version": "0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + }, + "di": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz" + }, + "marked": { + "version": "0.2.10", + "from": "marked@0.2.10", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.2.10.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + } + } + }, + "dgeni-packages": { + "version": "0.6.0", + "from": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.6.0.tgz", + "dependencies": { + "lodash": { + "version": "2.4.1", + "from": "lodash@2.4.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "graceful-fs": { + "version": "2.0.2", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "nunjucks": { + "version": "1.0.1", + "from": "nunjucks@1.0.1", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-1.0.1.tgz", + "dependencies": { + "optimist": { + "version": "0.6.1", + "from": "optimist@0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + } + } + }, + "catharsis": { + "version": "0.7.0", + "from": "https://registry.npmjs.org/catharsis/-/catharsis-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.7.0.tgz" + }, + "esprima": { + "version": "1.0.4", + "from": "esprima@1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + } + } + }, + "event-stream": { + "version": "3.1.0", + "from": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.0.tgz", + "dependencies": { + "through": { + "version": "2.3.4", + "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + }, + "duplexer": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz" + }, + "from": { + "version": "0.1.3", + "from": "https://registry.npmjs.org/from/-/from-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.3.tgz" + }, + "map-stream": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + }, + "pause-stream": { + "version": "0.0.11", + "from": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" + }, + "split": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/split/-/split-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz" + }, + "stream-combiner": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" + } + } + }, + "grunt": { + "version": "0.4.2", + "from": "https://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz", + "dependencies": { + "async": { + "version": "0.1.22", + "from": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz" + }, + "coffee-script": { + "version": "1.3.3", + "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz" + }, + "colors": { + "version": "0.6.2", + "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz" + }, + "eventemitter2": { + "version": "0.4.13", + "from": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz" + }, + "findup-sync": { + "version": "0.1.2", + "from": "findup-sync@0.1.2", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", + "dependencies": { + "lodash": { + "version": "1.0.1", + "from": "lodash@1.0.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + } + } + }, + "glob": { + "version": "3.1.21", + "from": "glob@3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "dependencies": { + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + }, + "hooker": { + "version": "0.2.3", + "from": "hooker@0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" + }, + "iconv-lite": { + "version": "0.2.11", + "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "nopt": { + "version": "1.0.10", + "from": "nopt@1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "dependencies": { + "abbrev": { + "version": "1.0.4", + "from": "abbrev@1.0.4", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" + } + } + }, + "rimraf": { + "version": "2.0.3", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz", + "dependencies": { + "graceful-fs": { + "version": "1.1.14", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz" + } + } + }, + "lodash": { + "version": "0.9.2", + "from": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz" + }, + "underscore.string": { + "version": "2.2.1", + "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz" + }, + "which": { + "version": "1.0.5", + "from": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz" + }, + "js-yaml": { + "version": "2.0.5", + "from": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "dependencies": { + "argparse": { + "version": "0.1.15", + "from": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", + "dependencies": { + "underscore": { + "version": "1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + }, + "underscore.string": { + "version": "2.3.3", + "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + } + } + }, + "esprima": { + "version": "1.0.4", + "from": "esprima@1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + } + } + }, + "exit": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + }, + "getobject": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" + } + } + }, + "grunt-bump": { + "version": "0.0.13", + "from": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.0.13.tgz", + "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.0.13.tgz", + "dependencies": { + "semver": { + "version": "1.1.4", + "from": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz" + } + } + }, + "grunt-contrib-clean": { + "version": "0.5.0", + "from": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", + "dependencies": { + "rimraf": { + "version": "2.2.6", + "from": "rimraf@2.2.6", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + } + } + }, + "grunt-contrib-compress": { + "version": "0.5.3", + "from": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-0.5.3.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-0.5.3.tgz", + "dependencies": { + "archiver": { + "version": "0.4.10", + "from": "https://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + }, + "iconv-lite": { + "version": "0.2.11", + "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + } + } + }, + "lazystream": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + } + } + }, + "prettysize": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/prettysize/-/prettysize-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/prettysize/-/prettysize-0.0.3.tgz" + } + } + }, + "grunt-contrib-connect": { + "version": "0.5.0", + "from": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.5.0.tgz", + "dependencies": { + "connect": { + "version": "2.7.11", + "from": "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz", + "resolved": "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz", + "dependencies": { + "qs": { + "version": "0.6.5", + "from": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz" + }, + "formidable": { + "version": "1.0.14", + "from": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz" + }, + "cookie-signature": { + "version": "1.0.1", + "from": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" + }, + "buffer-crc32": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" + }, + "cookie": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz" + }, + "send": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/send/-/send-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/send/-/send-0.1.1.tgz", + "dependencies": { + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "range-parser": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" + } + } + }, + "bytes": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz" + }, + "fresh": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz" + }, + "pause": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + }, + "debug": { + "version": "0.7.4", + "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + } + } + }, + "connect-livereload": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.2.0.tgz" + }, + "open": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/open/-/open-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.4.tgz" + } + } + }, + "grunt-contrib-copy": { + "version": "0.4.1", + "from": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.4.1.tgz" + }, + "grunt-contrib-jshint": { + "version": "0.7.2", + "from": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.2.tgz", + "dependencies": { + "jshint": { + "version": "2.3.0", + "from": "https://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz", + "dependencies": { + "shelljs": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz" + }, + "underscore": { + "version": "1.4.4", + "from": "underscore@1.4.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + }, + "cli": { + "version": "0.4.5", + "from": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", + "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", + "dependencies": { + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "console-browserify": { + "version": "0.1.6", + "from": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz" + } + } + } + } + }, + "grunt-ddescribe-iit": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/grunt-ddescribe-iit/-/grunt-ddescribe-iit-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/grunt-ddescribe-iit/-/grunt-ddescribe-iit-0.0.4.tgz" + }, + "grunt-jasmine-node": { + "version": "0.1.0", + "from": "grunt-jasmine-node@git://github.com/vojtajina/grunt-jasmine-node.git#ced17cbe52c1412b2ada53160432a5b681f37cd7", + "resolved": "git://github.com/vojtajina/grunt-jasmine-node.git#ced17cbe52c1412b2ada53160432a5b681f37cd7" + }, + "grunt-jscs-checker": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/grunt-jscs-checker/-/grunt-jscs-checker-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-jscs-checker/-/grunt-jscs-checker-0.4.0.tgz", + "dependencies": { + "hooker": { + "version": "0.2.3", + "from": "hooker@0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" + }, + "jscs": { + "version": "1.3.0", + "from": "https://registry.npmjs.org/jscs/-/jscs-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/jscs/-/jscs-1.3.0.tgz", + "dependencies": { + "esprima": { + "version": "1.0.3", + "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz" + }, + "vow": { + "version": "0.3.9", + "from": "https://registry.npmjs.org/vow/-/vow-0.3.9.tgz", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.3.9.tgz" + }, + "vow-fs": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.2.3.tgz", + "dependencies": { + "node-uuid": { + "version": "1.4.0", + "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz" + }, + "vow-queue": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.0.2.tgz" + } + } + }, + "colors": { + "version": "0.6.0-1", + "from": "https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz" + }, + "commander": { + "version": "1.2.0", + "from": "commander@1.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", + "dependencies": { + "keypress": { + "version": "0.1.0", + "from": "keypress@0.1.0", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz" + } + } + }, + "minimatch": { + "version": "0.2.12", + "from": "minimatch@0.2.12", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "glob": { + "version": "3.2.7", + "from": "glob@3.2.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.7.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "inherits@2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "xmlbuilder": { + "version": "1.1.2", + "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-1.1.2.tgz", + "dependencies": { + "underscore": { + "version": "1.6.0", + "from": "underscore@1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" + } + } + }, + "strip-json-comments": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz" + } + } + }, + "lodash.assign": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "dependencies": { + "lodash._basecreatecallback": { + "version": "2.4.1", + "from": "lodash._basecreatecallback@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", + "dependencies": { + "lodash.bind": { + "version": "2.4.1", + "from": "lodash.bind@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", + "dependencies": { + "lodash._createwrapper": { + "version": "2.4.1", + "from": "lodash._createwrapper@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", + "dependencies": { + "lodash._basebind": { + "version": "2.4.1", + "from": "lodash._basebind@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", + "dependencies": { + "lodash._basecreate": { + "version": "2.4.1", + "from": "lodash._basecreate@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "lodash.noop@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "lodash.isobject@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + } + } + }, + "lodash._basecreatewrapper": { + "version": "2.4.1", + "from": "lodash._basecreatewrapper@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", + "dependencies": { + "lodash._basecreate": { + "version": "2.4.1", + "from": "lodash._basecreate@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "lodash.noop@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "lodash.isobject@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + } + } + }, + "lodash.isfunction": { + "version": "2.4.1", + "from": "lodash.isfunction@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz" + } + } + }, + "lodash._slice": { + "version": "2.4.1", + "from": "lodash._slice@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + } + } + }, + "lodash.identity": { + "version": "2.4.1", + "from": "lodash.identity@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz" + }, + "lodash._setbinddata": { + "version": "2.4.1", + "from": "lodash._setbinddata@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "lodash.noop@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.support": { + "version": "2.4.1", + "from": "lodash.support@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + } + } + } + } + }, + "lodash.keys": { + "version": "2.4.1", + "from": "lodash.keys@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "lodash._isnative@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "lodash.isobject@2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "lodash._shimkeys@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + } + } + }, + "lodash._objecttypes": { + "version": "2.4.1", + "from": "lodash._objecttypes@2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "vow": { + "version": "0.4.1", + "from": "https://registry.npmjs.org/vow/-/vow-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.1.tgz" + } + } + }, + "grunt-merge-conflict": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/grunt-merge-conflict/-/grunt-merge-conflict-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/grunt-merge-conflict/-/grunt-merge-conflict-0.0.2.tgz" + }, + "grunt-parallel": { + "version": "0.3.1", + "from": "https://registry.npmjs.org/grunt-parallel/-/grunt-parallel-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/grunt-parallel/-/grunt-parallel-0.3.1.tgz", + "dependencies": { + "q": { + "version": "0.8.12", + "from": "https://registry.npmjs.org/q/-/q-0.8.12.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.8.12.tgz" + }, + "lpad": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/lpad/-/lpad-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/lpad/-/lpad-0.1.0.tgz" + } + } + }, + "grunt-shell": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-0.4.0.tgz", + "dependencies": { + "stripcolorcodes": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/stripcolorcodes/-/stripcolorcodes-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/stripcolorcodes/-/stripcolorcodes-0.1.0.tgz" + } + } + }, + "gulp": { + "version": "3.4.0", + "from": "https://registry.npmjs.org/gulp/-/gulp-3.4.0.tgz", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.4.0.tgz", + "dependencies": { + "optimist": { + "version": "0.6.1", + "from": "optimist@0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "gulp-util": { + "version": "2.2.14", + "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "dependencies": { + "chalk": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + }, + "strip-ansi": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + } + } + }, + "lodash.template": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "dependencies": { + "lodash.defaults": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash.escape": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "dependencies": { + "lodash._escapehtmlchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + } + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + }, + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + }, + "lodash.values": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + } + } + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + }, + "vinyl": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "dependencies": { + "clone-stats": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + } + } + }, + "through2": { + "version": "0.4.1", + "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + }, + "xtend": { + "version": "2.1.2", + "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "dependencies": { + "object-keys": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + } + } + } + } + }, + "dateformat": { + "version": "1.0.7-1.2.3", + "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + }, + "multipipe": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "dependencies": { + "duplexer2": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + } + } + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "orchestrator": { + "version": "0.3.3", + "from": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.3.tgz", + "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.3.tgz", + "dependencies": { + "sequencify": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + } + } + }, + "resolve": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz" + }, + "findup-sync": { + "version": "0.1.2", + "from": "findup-sync@0.1.2", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", + "dependencies": { + "glob": { + "version": "3.1.21", + "from": "glob@3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + }, + "lodash": { + "version": "1.0.1", + "from": "lodash@1.0.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + } + } + }, + "pretty-hrtime": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.0.tgz" + }, + "vinyl-fs": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.0.1.tgz", + "dependencies": { + "vinyl": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "dependencies": { + "clone-stats": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + } + } + }, + "glob-stream": { + "version": "3.1.9", + "from": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.9.tgz", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.9.tgz", + "dependencies": { + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "ordered-read-streams": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.7.tgz" + }, + "glob2base": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.8.tgz" + }, + "unique-stream": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/unique-stream/-/unique-stream-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-0.0.3.tgz" + }, + "through": { + "version": "2.3.4", + "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + } + } + }, + "glob-watcher": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.3.tgz", + "dependencies": { + "gaze": { + "version": "0.4.3", + "from": "https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz", + "dependencies": { + "globule": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "dependencies": { + "lodash": { + "version": "1.0.1", + "from": "lodash@1.0.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + }, + "glob": { + "version": "3.1.21", + "from": "glob@3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "dependencies": { + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + } + } + } + } + } + } + }, + "mkdirp": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "graceful-fs": { + "version": "2.0.2", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + }, + "map-stream": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + } + } + }, + "semver": { + "version": "2.2.1", + "from": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz" + }, + "archy": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz" + } + } + }, + "gulp-concat": { + "version": "2.1.7", + "from": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.1.7.tgz", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.1.7.tgz", + "dependencies": { + "through": { + "version": "2.3.4", + "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + }, + "gulp-util": { + "version": "2.2.14", + "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "dependencies": { + "chalk": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + }, + "strip-ansi": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + } + } + }, + "lodash.template": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "dependencies": { + "lodash.defaults": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash.escape": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "dependencies": { + "lodash._escapehtmlchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + } + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + }, + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + }, + "lodash.values": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + } + } + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + }, + "vinyl": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "dependencies": { + "clone-stats": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + } + } + }, + "through2": { + "version": "0.4.1", + "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + }, + "xtend": { + "version": "2.1.2", + "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "dependencies": { + "object-keys": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + } + } + } + } + }, + "dateformat": { + "version": "1.0.7-1.2.3", + "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + }, + "multipipe": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "dependencies": { + "duplexer2": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + } + } + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + } + } + }, + "gulp-jshint": { + "version": "1.4.2", + "from": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-1.4.2.tgz", + "resolved": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-1.4.2.tgz", + "dependencies": { + "map-stream": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + }, + "jshint": { + "version": "2.4.4", + "from": "https://registry.npmjs.org/jshint/-/jshint-2.4.4.tgz", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.4.4.tgz", + "dependencies": { + "shelljs": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz" + }, + "underscore": { + "version": "1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + }, + "cli": { + "version": "0.4.5", + "from": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", + "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", + "dependencies": { + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "from": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "dependencies": { + "domhandler": { + "version": "2.1.0", + "from": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz" + }, + "domutils": { + "version": "1.1.6", + "from": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz" + }, + "domelementtype": { + "version": "1.1.1", + "from": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz" + }, + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + } + } + }, + "console-browserify": { + "version": "0.1.6", + "from": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz" + }, + "exit": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + } + } + }, + "gulp-util": { + "version": "2.2.14", + "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", + "dependencies": { + "chalk": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + }, + "strip-ansi": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + } + } + }, + "lodash.template": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "dependencies": { + "lodash.defaults": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash.escape": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "dependencies": { + "lodash._escapehtmlchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "dependencies": { + "lodash._htmlescapes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + } + } + } + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + }, + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + }, + "lodash.values": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + } + } + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + }, + "vinyl": { + "version": "0.2.3", + "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "dependencies": { + "clone-stats": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + } + } + }, + "through2": { + "version": "0.4.1", + "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + }, + "xtend": { + "version": "2.1.2", + "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "dependencies": { + "object-keys": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + } + } + } + } + }, + "dateformat": { + "version": "1.0.7-1.2.3", + "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + }, + "multipipe": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", + "dependencies": { + "duplexer2": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + } + } + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "lodash.clone": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-2.4.1.tgz", + "dependencies": { + "lodash._baseclone": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", + "dependencies": { + "lodash.assign": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + } + } + }, + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash.foreach": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz" + }, + "lodash.forown": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + } + } + }, + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._getarray": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", + "dependencies": { + "lodash._arraypool": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz" + } + } + }, + "lodash.isarray": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + } + } + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + }, + "lodash._releasearray": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", + "dependencies": { + "lodash._arraypool": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz" + }, + "lodash._maxpoolsize": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz" + } + } + }, + "lodash._slice": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + } + } + }, + "lodash._basecreatecallback": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", + "dependencies": { + "lodash.bind": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", + "dependencies": { + "lodash._createwrapper": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", + "dependencies": { + "lodash._basebind": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", + "dependencies": { + "lodash._basecreate": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash._basecreatewrapper": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", + "dependencies": { + "lodash._basecreate": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "dependencies": { + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lodash.isfunction": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz" + } + } + }, + "lodash._slice": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + } + } + }, + "lodash.identity": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz" + }, + "lodash._setbinddata": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.noop": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + } + } + }, + "lodash.support": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + } + } + } + } + } + } + } + } + }, + "jasmine-node": { + "version": "1.11.0", + "from": "https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.11.0.tgz", + "resolved": "https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.11.0.tgz", + "dependencies": { + "coffee-script": { + "version": "1.7.1", + "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz" + }, + "jasmine-growl-reporter": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/jasmine-growl-reporter/-/jasmine-growl-reporter-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/jasmine-growl-reporter/-/jasmine-growl-reporter-0.0.2.tgz", + "dependencies": { + "growl": { + "version": "1.7.0", + "from": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz" + } + } + }, + "requirejs": { + "version": "2.1.11", + "from": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz", + "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz" + }, + "walkdir": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz" + }, + "underscore": { + "version": "1.6.0", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" + }, + "gaze": { + "version": "0.3.4", + "from": "https://registry.npmjs.org/gaze/-/gaze-0.3.4.tgz", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.3.4.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "fileset": { + "version": "0.1.5", + "from": "https://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz", + "dependencies": { + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + } + } + } + } + }, + "mkdirp": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + } + } + }, + "jasmine-reporters": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-0.2.1.tgz" + }, + "jshint-stylish": { + "version": "0.1.5", + "from": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-0.1.5.tgz", + "dependencies": { + "chalk": { + "version": "0.4.0", + "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "dependencies": { + "has-color": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + }, + "ansi-styles": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + }, + "strip-ansi": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + } + } + }, + "text-table": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + } + } + }, + "karma": { + "version": "0.11.12", + "from": "https://registry.npmjs.org/karma/-/karma-0.11.12.tgz", + "resolved": "https://registry.npmjs.org/karma/-/karma-0.11.12.tgz", + "dependencies": { + "di": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz" + }, + "socket.io": { + "version": "0.9.16", + "from": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz", + "dependencies": { + "socket.io-client": { + "version": "0.9.16", + "from": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz", + "dependencies": { + "uglify-js": { + "version": "1.2.5", + "from": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz" + }, + "ws": { + "version": "0.4.31", + "from": "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz", + "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz", + "dependencies": { + "commander": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + }, + "nan": { + "version": "0.3.2", + "from": "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz" + }, + "tinycolor": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz" + }, + "options": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/options/-/options-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.5.tgz" + } + } + }, + "xmlhttprequest": { + "version": "1.4.2", + "from": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz" + }, + "active-x-obfuscator": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz", + "dependencies": { + "zeparser": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz" + } + } + } + } + }, + "policyfile": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz" + }, + "base64id": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" + }, + "redis": { + "version": "0.7.3", + "from": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz", + "resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz" + } + } + }, + "chokidar": { + "version": "0.8.1", + "from": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "http-proxy": { + "version": "0.10.4", + "from": "https://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz", + "dependencies": { + "pkginfo": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz" + }, + "utile": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "deep-equal": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz" + }, + "i": { + "version": "0.3.2", + "from": "https://registry.npmjs.org/i/-/i-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.2.tgz" + }, + "mkdirp": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "ncp": { + "version": "0.4.2", + "from": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz" + } + } + } + } + }, + "optimist": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + }, + "coffee-script": { + "version": "1.6.3", + "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz" + }, + "rimraf": { + "version": "2.2.6", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + }, + "q": { + "version": "0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + }, + "colors": { + "version": "0.6.2", + "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + }, + "lodash": { + "version": "2.4.1", + "from": "lodash@2.4.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "log4js": { + "version": "0.6.10", + "from": "https://registry.npmjs.org/log4js/-/log4js-0.6.10.tgz", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.10.tgz", + "dependencies": { + "async": { + "version": "0.1.15", + "from": "https://registry.npmjs.org/async/-/async-0.1.15.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz" + }, + "semver": { + "version": "1.1.4", + "from": "semver@1.1.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz" + }, + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + } + } + }, + "useragent": { + "version": "2.0.7", + "from": "https://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz", + "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz", + "dependencies": { + "lru-cache": { + "version": "2.2.4", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz" + } + } + }, + "graceful-fs": { + "version": "2.0.2", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + }, + "connect": { + "version": "2.12.0", + "from": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz", + "resolved": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz", + "dependencies": { + "batch": { + "version": "0.5.0", + "from": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz" + }, + "qs": { + "version": "0.6.6", + "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + }, + "cookie-signature": { + "version": "1.0.1", + "from": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" + }, + "buffer-crc32": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" + }, + "cookie": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" + }, + "send": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", + "dependencies": { + "range-parser": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" + } + } + }, + "bytes": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" + }, + "fresh": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz" + }, + "pause": { + "version": "0.0.1", + "from": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + }, + "uid2": { + "version": "0.0.3", + "from": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz" + }, + "debug": { + "version": "0.7.4", + "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + }, + "methods": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz" + }, + "raw-body": { + "version": "1.1.2", + "from": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz" + }, + "negotiator": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz" + }, + "multiparty": { + "version": "2.2.0", + "from": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", + "dependencies": { + "readable-stream": { + "version": "1.1.11", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + }, + "debuglog": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz" + } + } + }, + "stream-counter": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" + } + } + } + } + }, + "source-map": { + "version": "0.1.32", + "from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "dependencies": { + "amdefine": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz" + } + } + } + } + }, + "karma-browserstack-launcher": { + "version": "0.0.7", + "from": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-0.0.7.tgz", + "dependencies": { + "browserstack": { + "version": "1.0.1", + "from": "https://registry.npmjs.org/browserstack/-/browserstack-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.0.1.tgz" + }, + "q": { + "version": "0.9.7", + "from": "q@0.9.7", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + } + } + }, + "karma-chrome-launcher": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz" + }, + "karma-firefox-launcher": { + "version": "0.1.3", + "from": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.3.tgz" + }, + "karma-jasmine": { + "version": "0.1.5", + "from": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz" + }, + "karma-junit-reporter": { + "version": "0.2.1", + "from": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz", + "dependencies": { + "xmlbuilder": { + "version": "0.4.2", + "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz" + } + } + }, + "karma-ng-scenario": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/karma-ng-scenario/-/karma-ng-scenario-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/karma-ng-scenario/-/karma-ng-scenario-0.1.0.tgz" + }, + "karma-sauce-launcher": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz", + "dependencies": { + "wd": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/wd/-/wd-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/wd/-/wd-0.2.10.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "vargs": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz" + }, + "q": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/q/-/q-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz" + }, + "request": { + "version": "2.33.0", + "from": "https://registry.npmjs.org/request/-/request-2.33.0.tgz", + "resolved": "https://registry.npmjs.org/request/-/request-2.33.0.tgz", + "dependencies": { + "qs": { + "version": "0.6.6", + "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + }, + "json-stringify-safe": { + "version": "5.0.0", + "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz" + }, + "forever-agent": { + "version": "0.5.2", + "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" + }, + "node-uuid": { + "version": "1.4.1", + "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + }, + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "tough-cookie": { + "version": "0.12.1", + "from": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", + "dependencies": { + "punycode": { + "version": "1.2.4", + "from": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz" + } + } + }, + "form-data": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", + "dependencies": { + "combined-stream": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "dependencies": { + "delayed-stream": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + } + } + } + } + }, + "tunnel-agent": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz" + }, + "http-signature": { + "version": "0.10.0", + "from": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", + "dependencies": { + "assert-plus": { + "version": "0.1.2", + "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" + }, + "asn1": { + "version": "0.1.11", + "from": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" + }, + "ctype": { + "version": "0.5.2", + "from": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" + } + } + }, + "oauth-sign": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz" + }, + "hawk": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "dependencies": { + "hoek": { + "version": "0.9.1", + "from": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz" + }, + "boom": { + "version": "0.4.2", + "from": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" + }, + "cryptiles": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz" + }, + "sntp": { + "version": "0.2.4", + "from": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz" + } + } + }, + "aws-sign2": { + "version": "0.5.0", + "from": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz" + } + } + }, + "archiver": { + "version": "0.5.2", + "from": "https://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.26", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", + "dependencies": { + "string_decoder": { + "version": "0.10.25-1", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + } + } + }, + "zip-stream": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz", + "dependencies": { + "lodash.defaults": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "dependencies": { + "lodash.keys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "dependencies": { + "lodash._isnative": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + }, + "lodash.isobject": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + }, + "lodash._shimkeys": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + } + } + }, + "lodash._objecttypes": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + } + } + } + } + }, + "lazystream": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz" + }, + "file-utils": { + "version": "0.1.5", + "from": "https://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz", + "dependencies": { + "lodash": { + "version": "2.1.0", + "from": "lodash@2.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz" + }, + "iconv-lite": { + "version": "0.2.11", + "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + }, + "rimraf": { + "version": "2.2.6", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "findup-sync": { + "version": "0.1.2", + "from": "findup-sync@0.1.2", + "dependencies": { + "glob": { + "version": "3.1.21", + "from": "glob@3.1.21", + "dependencies": { + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + }, + "lodash": { + "version": "1.0.1", + "from": "lodash@1.0.1" + } + } + }, + "isbinaryfile": { + "version": "0.1.9", + "from": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz" + } + } + } + } + }, + "lodash": { + "version": "2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "underscore.string": { + "version": "2.3.3", + "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + } + } + }, + "sauce-connect-launcher": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.2.2.tgz", + "dependencies": { + "lodash": { + "version": "1.3.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz" + }, + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "adm-zip": { + "version": "0.4.4", + "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz" + } + } + }, + "q": { + "version": "0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + }, + "saucelabs": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz" + } + } + }, + "karma-script-launcher": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz" + }, + "load-grunt-tasks": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.3.0.tgz", + "dependencies": { + "globule": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/globule/-/globule-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.2.0.tgz", + "dependencies": { + "lodash": { + "version": "2.4.1", + "from": "lodash@2.4.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + } + } + }, + "findup-sync": { + "version": "0.1.2", + "from": "findup-sync@0.1.2", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", + "dependencies": { + "glob": { + "version": "3.1.21", + "from": "glob@3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + }, + "lodash": { + "version": "1.0.1", + "from": "lodash@1.0.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + } + } + } + } + }, + "lodash": { + "version": "2.1.0", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz" + }, + "marked": { + "version": "0.3.1", + "from": "https://registry.npmjs.org/marked/-/marked-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.1.tgz" + }, + "node-html-encoder": { + "version": "0.0.2", + "from": "node-html-encoder@0.0.2", + "resolved": "https://registry.npmjs.org/node-html-encoder/-/node-html-encoder-0.0.2.tgz" + }, + "promises-aplus-tests": { + "version": "1.3.2", + "from": "https://registry.npmjs.org/promises-aplus-tests/-/promises-aplus-tests-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/promises-aplus-tests/-/promises-aplus-tests-1.3.2.tgz", + "dependencies": { + "mocha": { + "version": "1.11.0", + "from": "https://registry.npmjs.org/mocha/-/mocha-1.11.0.tgz", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-1.11.0.tgz", + "dependencies": { + "commander": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + }, + "growl": { + "version": "1.7.0", + "from": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz" + }, + "jade": { + "version": "0.26.3", + "from": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "dependencies": { + "mkdirp": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + } + } + }, + "diff": { + "version": "1.0.2", + "from": "https://registry.npmjs.org/diff/-/diff-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.2.tgz" + }, + "debug": { + "version": "0.7.4", + "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + }, + "mkdirp": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + }, + "ms": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/ms/-/ms-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.3.0.tgz" + }, + "glob": { + "version": "3.2.1", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "from": "graceful-fs@1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + }, + "inherits": { + "version": "1.0.0", + "from": "inherits@1.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + } + } + } + } + }, + "sinon": { + "version": "1.7.3", + "from": "https://registry.npmjs.org/sinon/-/sinon-1.7.3.tgz", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.7.3.tgz", + "dependencies": { + "buster-format": { + "version": "0.5.6", + "from": "https://registry.npmjs.org/buster-format/-/buster-format-0.5.6.tgz", + "resolved": "https://registry.npmjs.org/buster-format/-/buster-format-0.5.6.tgz", + "dependencies": { + "buster-core": { + "version": "0.6.4", + "from": "https://registry.npmjs.org/buster-core/-/buster-core-0.6.4.tgz", + "resolved": "https://registry.npmjs.org/buster-core/-/buster-core-0.6.4.tgz" + } + } + } + } + }, + "underscore": { + "version": "1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + } + } + }, + "protractor": { + "version": "0.19.0", + "from": "https://registry.npmjs.org/protractor/-/protractor-0.19.0.tgz", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-0.19.0.tgz", + "dependencies": { + "selenium-webdriver": { + "version": "2.39.0", + "from": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.39.0.tgz", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.39.0.tgz" + }, + "minijasminenode": { + "version": "0.2.7", + "from": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-0.2.7.tgz", + "resolved": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-0.2.7.tgz" + }, + "saucelabs": { + "version": "0.1.1", + "from": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz" + }, + "glob": { + "version": "3.2.9", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "dependencies": { + "minimatch": { + "version": "0.2.14", + "from": "minimatch@0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "dependencies": { + "lru-cache": { + "version": "2.5.0", + "from": "lru-cache@2.5.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + }, + "sigmund": { + "version": "1.0.0", + "from": "sigmund@1.0.0", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } + }, + "adm-zip": { + "version": "0.4.4", + "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz" + }, + "optimist": { + "version": "0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + } + } + } + } + }, + "q": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/q/-/q-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz" + }, + "q-io": { + "version": "1.10.9", + "from": "https://registry.npmjs.org/q-io/-/q-io-1.10.9.tgz", + "resolved": "https://registry.npmjs.org/q-io/-/q-io-1.10.9.tgz", + "dependencies": { + "q": { + "version": "0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + }, + "qs": { + "version": "0.1.0", + "from": "https://registry.npmjs.org/qs/-/qs-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.1.0.tgz" + }, + "url2": { + "version": "0.0.0", + "from": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz" + }, + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "mimeparse": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz" + }, + "collections": { + "version": "0.2.2", + "from": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", + "dependencies": { + "weak-map": { + "version": "1.0.0", + "from": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz" + } + } + } + } + }, + "qq": { + "version": "0.3.5", + "from": "https://registry.npmjs.org/qq/-/qq-0.3.5.tgz", + "resolved": "https://registry.npmjs.org/qq/-/qq-0.3.5.tgz", + "dependencies": { + "q": { + "version": "0.8.4", + "from": "https://registry.npmjs.org/q/-/q-0.8.4.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-0.8.4.tgz" + } + } + }, + "rewire": { + "version": "1.1.3", + "from": "https://registry.npmjs.org/rewire/-/rewire-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/rewire/-/rewire-1.1.3.tgz" + }, + "semver": { + "version": "2.1.0", + "from": "https://registry.npmjs.org/semver/-/semver-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-2.1.0.tgz" + }, + "shelljs": { + "version": "0.2.6", + "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz" + }, + "winston": { + "version": "0.7.2", + "from": "https://registry.npmjs.org/winston/-/winston-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/winston/-/winston-0.7.2.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "colors": { + "version": "0.6.2", + "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + }, + "cycle": { + "version": "1.0.3", + "from": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz" + }, + "eyes": { + "version": "0.1.8", + "from": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" + }, + "pkginfo": { + "version": "0.3.0", + "from": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz" + }, + "request": { + "version": "2.16.6", + "from": "https://registry.npmjs.org/request/-/request-2.16.6.tgz", + "resolved": "https://registry.npmjs.org/request/-/request-2.16.6.tgz", + "dependencies": { + "form-data": { + "version": "0.0.10", + "from": "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz", + "dependencies": { + "combined-stream": { + "version": "0.0.4", + "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", + "dependencies": { + "delayed-stream": { + "version": "0.0.5", + "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + } + } + } + } + }, + "mime": { + "version": "1.2.11", + "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + }, + "hawk": { + "version": "0.10.2", + "from": "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz", + "dependencies": { + "hoek": { + "version": "0.7.6", + "from": "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz" + }, + "boom": { + "version": "0.3.8", + "from": "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz" + }, + "cryptiles": { + "version": "0.1.3", + "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz" + }, + "sntp": { + "version": "0.1.4", + "from": "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz" + } + } + }, + "node-uuid": { + "version": "1.4.1", + "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + }, + "cookie-jar": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz" + }, + "aws-sign": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz" + }, + "oauth-sign": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz" + }, + "forever-agent": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz" + }, + "tunnel-agent": { + "version": "0.2.0", + "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz" + }, + "json-stringify-safe": { + "version": "3.0.0", + "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz" + }, + "qs": { + "version": "0.5.6", + "from": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz" + } + } + }, + "stack-trace": { + "version": "0.0.9", + "from": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz" + } + } + }, + "yaml-js": { + "version": "0.0.8", + "from": "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz" + } + } +} From f3444d495dc82e5a5877db34ebdbd9a0bbcc2067 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Wed, 12 Mar 2014 19:22:32 +0000 Subject: [PATCH 045/122] chore(version-info): better error msg if not tags --- lib/versions/version-info.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 588f1865a6d3..90175fc96ba6 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -136,6 +136,12 @@ var getSnapshotVersion = function() { }) .last(); + if ( !version ) { + throw new Error("No valid versions can be found that match the current branch (" + + currentPackage.branchVersion + ").\n" + + "Try running `git fetch -t` to download the tags from the repository."); + } + // We need to clone to ensure that we are not modifying another version version = semver(version.raw); From 809d47ec7731050077063ec97511d38dca99954e Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Wed, 12 Mar 2014 15:19:48 -0700 Subject: [PATCH 046/122] chore(version-info): use remote tags and increment patch version --- lib/grunt/utils.js | 1 - lib/versions/version-info.js | 24 +++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/grunt/utils.js b/lib/grunt/utils.js index 59b783812c8c..b25a455528d7 100644 --- a/lib/grunt/utils.js +++ b/lib/grunt/utils.js @@ -4,7 +4,6 @@ var shell = require('shelljs'); var grunt = require('grunt'); var spawn = require('child_process').spawn; var semver = require('semver'); -var versionInfo = require('../versions/version-info'); var _ = require('lodash'); diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 90175fc96ba6..5bf0658575ae 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -100,7 +100,10 @@ var isStable = function(version) { * @return {Array.} The collection of previous versions */ var getPreviousVersions = function() { - var tagResults = shell.exec('git tag', {silent: true}); + // always use the remote tags as the local clone might + // not contain all commits when cloned with git clone --depth=... + // Needed e.g. for Travis + var tagResults = shell.exec('git ls-remote --tags | grep -o -e "v[0-9].*[0-9]$"', {silent: true}); if ( tagResults.code === 0 ) { return _(tagResults.output.trim().split('\n')) .map(function(tag) { @@ -129,7 +132,6 @@ var getPreviousVersions = function() { * @return {SemVer} The snapshot version */ var getSnapshotVersion = function() { - version = _(previousVersions) .filter(function(tag) { return semver.satisfies(tag, currentPackage.branchVersion); @@ -137,15 +139,27 @@ var getSnapshotVersion = function() { .last(); if ( !version ) { - throw new Error("No valid versions can be found that match the current branch (" + - currentPackage.branchVersion + ").\n" + - "Try running `git fetch -t` to download the tags from the repository."); + // a snapshot version before the first tag on the branch + version = semver(currentPackage.branchVersion.replace('*','0-beta.1')); } // We need to clone to ensure that we are not modifying another version version = semver(version.raw); var jenkinsBuild = process.env.TRAVIS_BUILD_NUMBER || process.env.BUILD_NUMBER; + if (!version.prerelease || !version.prerelease.length) { + // last release was a non beta release. Increment the patch level to + // indicate the next release that we will be doing. + // E.g. last release was 1.3.0, then the snapshot will be + // 1.3.1-build.1, which is lesser than 1.3.1 accorind the semver! + + // If the last release was a beta release we don't update the + // beta number by purpose, as otherwise the semver comparison + // does not work any more when the next beta is released. + // E.g. don't generate 1.3.0-beta.2.build.1 + // as this is bigger than 1.3.0-beta.2 according to semver + version.patch++; + } version.prerelease = jenkinsBuild ? ['build', jenkinsBuild] : ['local']; version.build = getBuild(); version.codeName = 'snapshot'; From 0b7fef3d947e79e7d571d1d5e83ffc9d2bb43a2e Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Thu, 13 Mar 2014 14:15:52 +0000 Subject: [PATCH 047/122] chore(shrinkwrap): re-run shrinkwrap locally This will make the following commit clearer when the update is run. --- npm-shrinkwrap.json | 277 ++++++++++++++++++++++---------------------- 1 file changed, 140 insertions(+), 137 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index dc157ebaed31..34f682d89b8e 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -8,7 +8,7 @@ "dependencies": { "abbrev": { "version": "1.0.4", - "from": "abbrev@1.0.4", + "from": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" }, "archy": { @@ -205,7 +205,7 @@ "dependencies": { "nopt": { "version": "1.0.10", - "from": "nopt@1.0.10", + "from": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" } } @@ -253,12 +253,12 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -277,12 +277,12 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -737,29 +737,29 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "from": "wordwrap@0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" }, "minimist": { "version": "0.0.8", - "from": "minimist@0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } } }, "lodash": { "version": "2.4.1", - "from": "lodash@2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" }, "dependency-graph": { "version": "0.1.0", - "from": "dependency-graph@0.1.0", + "from": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.1.0.tgz", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.1.0.tgz", "dependencies": { "underscore": { "version": "1.4.4", - "from": "underscore@1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" } } @@ -776,7 +776,7 @@ }, "marked": { "version": "0.2.10", - "from": "marked@0.2.10", + "from": "https://registry.npmjs.org/marked/-/marked-0.2.10.tgz", "resolved": "https://registry.npmjs.org/marked/-/marked-0.2.10.tgz" }, "glob": { @@ -786,24 +786,24 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "inherits": { "version": "2.0.1", - "from": "inherits@2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } @@ -817,7 +817,7 @@ "dependencies": { "lodash": { "version": "2.4.1", - "from": "lodash@2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" }, "graceful-fs": { @@ -832,46 +832,46 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "inherits": { "version": "2.0.1", - "from": "inherits@2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "nunjucks": { "version": "1.0.1", - "from": "nunjucks@1.0.1", + "from": "https://registry.npmjs.org/nunjucks/-/nunjucks-1.0.1.tgz", "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-1.0.1.tgz", "dependencies": { "optimist": { "version": "0.6.1", - "from": "optimist@0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { "version": "0.0.2", - "from": "wordwrap@0.0.2", + "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" }, "minimist": { "version": "0.0.8", - "from": "minimist@0.0.8", + "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } } @@ -885,7 +885,7 @@ }, "esprima": { "version": "1.0.4", - "from": "esprima@1.0.4", + "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" } } @@ -964,36 +964,36 @@ }, "findup-sync": { "version": "0.1.2", - "from": "findup-sync@0.1.2", + "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "lodash": { "version": "1.0.1", - "from": "lodash@1.0.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" } } }, "glob": { "version": "3.1.21", - "from": "glob@3.1.21", + "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } }, "hooker": { "version": "0.2.3", - "from": "hooker@0.2.3", + "from": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" }, "iconv-lite": { @@ -1003,29 +1003,29 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "nopt": { "version": "1.0.10", - "from": "nopt@1.0.10", + "from": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "dependencies": { "abbrev": { "version": "1.0.4", - "from": "abbrev@1.0.4", + "from": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" } } @@ -1081,7 +1081,7 @@ }, "esprima": { "version": "1.0.4", - "from": "esprima@1.0.4", + "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" } } @@ -1117,7 +1117,7 @@ "dependencies": { "rimraf": { "version": "2.2.6", - "from": "rimraf@2.2.6", + "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" } } @@ -1285,7 +1285,7 @@ }, "underscore": { "version": "1.4.4", - "from": "underscore@1.4.4", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" }, "cli": { @@ -1309,17 +1309,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -1350,7 +1350,7 @@ "dependencies": { "hooker": { "version": "0.2.3", - "from": "hooker@0.2.3", + "from": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" }, "jscs": { @@ -1392,41 +1392,41 @@ }, "commander": { "version": "1.2.0", - "from": "commander@1.2.0", + "from": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", "dependencies": { "keypress": { "version": "0.1.0", - "from": "keypress@0.1.0", + "from": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz" } } }, "minimatch": { "version": "0.2.12", - "from": "minimatch@0.2.12", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "glob": { "version": "3.2.7", - "from": "glob@3.2.7", + "from": "https://registry.npmjs.org/glob/-/glob-3.2.7.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.7.tgz", "dependencies": { "inherits": { "version": "2.0.1", - "from": "inherits@2.0.1", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } @@ -1438,7 +1438,7 @@ "dependencies": { "underscore": { "version": "1.6.0", - "from": "underscore@1.6.0", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" } } @@ -1457,121 +1457,121 @@ "dependencies": { "lodash._basecreatecallback": { "version": "2.4.1", - "from": "lodash._basecreatecallback@2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", "dependencies": { "lodash.bind": { "version": "2.4.1", - "from": "lodash.bind@2.4.1", + "from": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", "dependencies": { "lodash._createwrapper": { "version": "2.4.1", - "from": "lodash._createwrapper@2.4.1", + "from": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", "dependencies": { "lodash._basebind": { "version": "2.4.1", - "from": "lodash._basebind@2.4.1", + "from": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "lodash._basecreate@2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { "version": "2.4.1", - "from": "lodash._isnative@2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" }, "lodash.noop": { "version": "2.4.1", - "from": "lodash.noop@2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" } } }, "lodash.isobject": { "version": "2.4.1", - "from": "lodash.isobject@2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" } } }, "lodash._basecreatewrapper": { "version": "2.4.1", - "from": "lodash._basecreatewrapper@2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "lodash._basecreate@2.4.1", + "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { "version": "2.4.1", - "from": "lodash._isnative@2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" }, "lodash.noop": { "version": "2.4.1", - "from": "lodash.noop@2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" } } }, "lodash.isobject": { "version": "2.4.1", - "from": "lodash.isobject@2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" } } }, "lodash.isfunction": { "version": "2.4.1", - "from": "lodash.isfunction@2.4.1", + "from": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz" } } }, "lodash._slice": { "version": "2.4.1", - "from": "lodash._slice@2.4.1", + "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" } } }, "lodash.identity": { "version": "2.4.1", - "from": "lodash.identity@2.4.1", + "from": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz" }, "lodash._setbinddata": { "version": "2.4.1", - "from": "lodash._setbinddata@2.4.1", + "from": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", "dependencies": { "lodash._isnative": { "version": "2.4.1", - "from": "lodash._isnative@2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" }, "lodash.noop": { "version": "2.4.1", - "from": "lodash.noop@2.4.1", + "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" } } }, "lodash.support": { "version": "2.4.1", - "from": "lodash.support@2.4.1", + "from": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", "dependencies": { "lodash._isnative": { "version": "2.4.1", - "from": "lodash._isnative@2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" } } @@ -1580,29 +1580,29 @@ }, "lodash.keys": { "version": "2.4.1", - "from": "lodash.keys@2.4.1", + "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { "version": "2.4.1", - "from": "lodash._isnative@2.4.1", + "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" }, "lodash.isobject": { "version": "2.4.1", - "from": "lodash.isobject@2.4.1", + "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" }, "lodash._shimkeys": { "version": "2.4.1", - "from": "lodash._shimkeys@2.4.1", + "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" } } }, "lodash._objecttypes": { "version": "2.4.1", - "from": "lodash._objecttypes@2.4.1", + "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" } } @@ -1655,7 +1655,7 @@ "dependencies": { "optimist": { "version": "0.6.1", - "from": "optimist@0.6.1", + "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { @@ -1889,46 +1889,46 @@ }, "findup-sync": { "version": "0.1.2", - "from": "findup-sync@0.1.2", + "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", - "from": "glob@3.1.21", + "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } }, "lodash": { "version": "1.0.1", - "from": "lodash@1.0.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" } } @@ -1974,17 +1974,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -2028,39 +2028,39 @@ "dependencies": { "lodash": { "version": "1.0.1", - "from": "lodash@1.0.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" }, "glob": { "version": "3.1.21", - "from": "glob@3.1.21", + "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -2358,17 +2358,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -2937,17 +2937,17 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -3126,17 +3126,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -3224,7 +3224,7 @@ }, "lodash": { "version": "2.4.1", - "from": "lodash@2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" }, "mime": { @@ -3244,7 +3244,7 @@ }, "semver": { "version": "1.1.4", - "from": "semver@1.1.4", + "from": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz" }, "readable-stream": { @@ -3422,7 +3422,7 @@ }, "q": { "version": "0.9.7", - "from": "q@0.9.7", + "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" } } @@ -3681,7 +3681,7 @@ "dependencies": { "lodash": { "version": "2.1.0", - "from": "lodash@2.1.0", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz" }, "iconv-lite": { @@ -3708,17 +3708,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -3726,26 +3726,29 @@ "findup-sync": { "version": "0.1.2", "from": "findup-sync@0.1.2", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", "from": "glob@3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } }, "lodash": { "version": "1.0.1", - "from": "lodash@1.0.1" + "from": "lodash@1.0.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" } } }, @@ -3821,7 +3824,7 @@ "dependencies": { "lodash": { "version": "2.4.1", - "from": "lodash@2.4.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" }, "glob": { @@ -3838,17 +3841,17 @@ }, "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } @@ -3857,46 +3860,46 @@ }, "findup-sync": { "version": "0.1.2", - "from": "findup-sync@0.1.2", + "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", - "from": "glob@3.1.21", + "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } }, "lodash": { "version": "1.0.1", - "from": "lodash@1.0.1", + "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" } } @@ -3915,7 +3918,7 @@ }, "node-html-encoder": { "version": "0.0.2", - "from": "node-html-encoder@0.0.2", + "from": "https://registry.npmjs.org/node-html-encoder/-/node-html-encoder-0.0.2.tgz", "resolved": "https://registry.npmjs.org/node-html-encoder/-/node-html-encoder-0.0.2.tgz" }, "promises-aplus-tests": { @@ -3977,29 +3980,29 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } }, "graceful-fs": { "version": "1.2.3", - "from": "graceful-fs@1.2.3", + "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" }, "inherits": { "version": "1.0.0", - "from": "inherits@1.0.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" } } @@ -4059,17 +4062,17 @@ "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@0.2.14", + "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "lru-cache@2.5.0", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" }, "sigmund": { "version": "1.0.0", - "from": "sigmund@1.0.0", + "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" } } From 602a1142e8ac802bc8513bc806ca4e82377a140f Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Thu, 13 Mar 2014 14:17:28 +0000 Subject: [PATCH 048/122] chore(shrinkwrap): update dgeni-packages --- npm-shrinkwrap.json | 44 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 29 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 34f682d89b8e..e6bdabc2a5a2 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -811,68 +811,56 @@ } }, "dgeni-packages": { - "version": "0.6.0", - "from": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.6.0.tgz", - "resolved": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.6.0.tgz", + "version": "0.7.1", + "from": "dgeni-packages@0.7.1", "dependencies": { "lodash": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "from": "lodash@~2.4.1" }, "graceful-fs": { "version": "2.0.2", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + "from": "graceful-fs@~2.0.1" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", + "from": "glob@~3.2.8", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "from": "minimatch@~0.2.11", "dependencies": { "lru-cache": { "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "from": "lru-cache@2" }, "sigmund": { "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "from": "sigmund@~1.0.0" } } }, "inherits": { "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "from": "inherits@2" } } }, "nunjucks": { "version": "1.0.1", - "from": "https://registry.npmjs.org/nunjucks/-/nunjucks-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-1.0.1.tgz", + "from": "nunjucks@~1.0.1", "dependencies": { "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "from": "optimist@*", "dependencies": { "wordwrap": { "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "from": "wordwrap@~0.0.2" }, "minimist": { "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "from": "minimist@~0.0.1" } } } @@ -880,13 +868,11 @@ }, "catharsis": { "version": "0.7.0", - "from": "https://registry.npmjs.org/catharsis/-/catharsis-0.7.0.tgz", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.7.0.tgz" + "from": "catharsis@^0.7.0" }, "esprima": { "version": "1.0.4", - "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + "from": "esprima@^1.0.4" } } }, From eadd8d08d3ae67f4f774d14aaa160fe8c69b0da5 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 14 Mar 2014 11:03:23 +0000 Subject: [PATCH 049/122] docs(scripts/utils.inc): clarify documentation --- scripts/utils.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/utils.inc b/scripts/utils.inc index 71c3bc9bfc75..919f7df9799e 100644 --- a/scripts/utils.inc +++ b/scripts/utils.inc @@ -15,7 +15,7 @@ # 0. Set the current directory to the directory of the script. By this # the script can be called from anywhere. # 1. Parse the named arguments -# 2. If the parameter "git_push_dryrun" is set, all calls the `git push` in this script +# 2. If the parameter "git_push_dryrun" is set, all calls to `git push` in this script # or in child scripts will be intercepted so that the `--dry-run` and `--porcelain` is added # to show what the push would do but not actually do it. # 3. If the parameter "verbose" is set, the `-x` flag will be set in bash. @@ -36,7 +36,7 @@ # with the name of the parameter in upper case (with dash converted to underscore). # # Special arguments that are always available: -# - "--action=.*": This parameter will be used to dispatch to a function with that name when the +# - "--action=.*": This parameter will be used to execute a function with that name when the # script is started # - "--git_push_dryrun=true": This will intercept all calls to `git push` in this script # or in child scripts so that the `--dry-run` and `--porcelain` is added @@ -195,7 +195,7 @@ function isFunction { } # readJsonProp(jsonFile, property) -# - restriction: property needs to be on an own line! +# - restriction: property needs to be on a single line! function readJsonProp { echo $(sed -En 's/.*"'$2'"[ ]*:[ ]*"(.*)".*/\1/p' $1) } From a41a2a1d2ce20f86ac2709592e4ada527160e580 Mon Sep 17 00:00:00 2001 From: Tomer Chachamu Date: Tue, 4 Mar 2014 15:29:11 +0000 Subject: [PATCH 050/122] fix(ngAnimate): setting classNameFilter disables animation inside ng-if Closes #6539 --- src/ngAnimate/animate.js | 4 ++-- test/ngAnimate/animateSpec.js | 43 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/ngAnimate/animate.js b/src/ngAnimate/animate.js index 447dfa3a6bc1..542b678f8316 100644 --- a/src/ngAnimate/animate.js +++ b/src/ngAnimate/animate.js @@ -770,7 +770,7 @@ angular.module('ngAnimate', ['ng']) fireDOMOperation(); fireBeforeCallbackAsync(); fireAfterCallbackAsync(); - fireDoneCallbackAsync(); + closeAnimation(); return; } @@ -949,7 +949,7 @@ angular.module('ngAnimate', ['ng']) animation, but class-based animations don't. An example of this failing would be when a parent HTML tag has a ng-class attribute causing ALL directives below to skip animations during the digest */ - if(runner.isClassBased) { + if(runner && runner.isClassBased) { cleanup(element, className); } else { $$asyncCallback(function() { diff --git a/test/ngAnimate/animateSpec.js b/test/ngAnimate/animateSpec.js index fb9ba19e8f19..204ca9c32114 100644 --- a/test/ngAnimate/animateSpec.js +++ b/test/ngAnimate/animateSpec.js @@ -3356,6 +3356,49 @@ describe("ngAnimate", function() { }); }); + it('should animate only the specified CSS className inside ng-if', function() { + var captures = {}; + module(function($animateProvider) { + $animateProvider.classNameFilter(/prefixed-animation/); + $animateProvider.register('.capture', function() { + return { + enter : buildFn('enter'), + leave : buildFn('leave') + }; + + function buildFn(key) { + return function(element, className, done) { + captures[key] = true; + (done || className)(); + } + } + }); + }); + inject(function($rootScope, $compile, $rootElement, $document, $sniffer, $animate) { + if(!$sniffer.transitions) return; + + var upperElement = $compile('
    ')($rootScope); + $rootElement.append(upperElement); + jqLite($document[0].body).append($rootElement); + + $rootScope.$digest(); + $animate.triggerCallbacks(); + + var element = upperElement.find('span'); + + var leaveDone = false; + $animate.leave(element, function() { + leaveDone = true; + }); + + $rootScope.$digest(); + $animate.triggerCallbacks(); + + expect(captures['leave']).toBe(true); + expect(leaveDone).toBe(true); + }); + }); + it('should respect the most relevant CSS transition property if defined in multiple classes', inject(function($sniffer, $compile, $rootScope, $rootElement, $animate, $timeout) { From ee8e4a946ed8f943e00846b88d8d51c0b2cd1fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matias=20Niemel=C3=A4?= Date: Fri, 14 Mar 2014 12:01:45 -0400 Subject: [PATCH 051/122] fix($$rAF): always fallback to a $timeout incase native rAF isn't supported Closes #6654 --- src/ng/raf.js | 24 ++++++++++++++++-------- test/ng/rafSpec.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/ng/raf.js b/src/ng/raf.js index f85ee12a4223..0bc43f34327e 100644 --- a/src/ng/raf.js +++ b/src/ng/raf.js @@ -1,21 +1,29 @@ 'use strict'; function $$RAFProvider(){ //rAF - this.$get = ['$window', function($window) { + this.$get = ['$window', '$timeout', function($window, $timeout) { var requestAnimationFrame = $window.requestAnimationFrame || $window.webkitRequestAnimationFrame; var cancelAnimationFrame = $window.cancelAnimationFrame || $window.webkitCancelAnimationFrame; - var raf = function(fn) { - var id = requestAnimationFrame(fn); - return function() { - cancelAnimationFrame(id); - }; - }; + var rafSupported = !!requestAnimationFrame; + var raf = rafSupported + ? function(fn) { + var id = requestAnimationFrame(fn); + return function() { + cancelAnimationFrame(id); + }; + } + : function(fn) { + var timer = $timeout(fn, 16.66, false); // 1000 / 60 = 16.666 + return function() { + $timeout.cancel(timer); + }; + }; - raf.supported = !!requestAnimationFrame; + raf.supported = rafSupported; return raf; }]; diff --git a/test/ng/rafSpec.js b/test/ng/rafSpec.js index 6c15e2d2984c..8bf76efd03b0 100644 --- a/test/ng/rafSpec.js +++ b/test/ng/rafSpec.js @@ -31,6 +31,38 @@ describe('$$rAF', function() { expect(present).toBe(true); })); + describe('$timeout fallback', function() { + it("it should use a $timeout incase native rAF isn't suppored", function() { + var timeoutSpy = jasmine.createSpy('callback'); + + //we need to create our own injector to work around the ngMock overrides + var injector = createInjector(['ng', function($provide) { + $provide.value('$timeout', timeoutSpy); + $provide.decorator('$window', function($delegate) { + $delegate.requestAnimationFrame = false; + $delegate.webkitRequestAnimationFrame = false; + $delegate.mozRequestAnimationFrame = false; + return $delegate; + }); + }]); + + var $$rAF = injector.get('$$rAF'); + expect($$rAF.supported).toBe(false); + + var message; + $$rAF(function() { + message = 'on'; + }); + + expect(message).toBeUndefined(); + expect(timeoutSpy).toHaveBeenCalled(); + + timeoutSpy.mostRecentCall.args[0](); + + expect(message).toBe('on'); + }); + }); + describe('mocks', function() { it('should throw an error if no frames are present', inject(function($$rAF) { if($$rAF.supported) { From 25e639b4748aefb9b74f2329b7d6d065a921e357 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 11 Mar 2014 19:10:34 +0000 Subject: [PATCH 052/122] chore(package.json): update dgeni-packages dependency The new version of dgeni-packages/ngdoc generates a manifest for each example that can be used by plunker. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 13aeadae7653..2b1d769a35ac 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "canonical-path": "0.0.2", "winston": "~0.7.2", "dgeni": "^0.2.2", - "dgeni-packages": "^0.6.0", + "dgeni-packages": "^0.7.0", "gulp-jshint": "~1.4.2", "jshint-stylish": "~0.1.5", "node-html-encoder": "0.0.2" From aa4ba23350c20609f1cd5276153b30683b9fdde8 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 11 Mar 2014 20:20:37 +0000 Subject: [PATCH 053/122] chore(doc-gen): fix dependencyPath --- docs/docs.config.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/docs.config.js b/docs/docs.config.js index 883f80f0a1b6..fcd3f9d9ffc7 100644 --- a/docs/docs.config.js +++ b/docs/docs.config.js @@ -40,7 +40,7 @@ module.exports = function(config) { commonFiles: { scripts: [ '../../../angular.js' ] }, - dependencyPath: '../../..' + dependencyPath: '../../../' }, scripts: [ '../angular.js', @@ -75,7 +75,7 @@ module.exports = function(config) { commonFiles: { scripts: [ '../../../angular.min.js' ] }, - dependencyPath: '../../..' + dependencyPath: '../../../' }, scripts: [ '../angular.min.js', @@ -113,7 +113,7 @@ module.exports = function(config) { '../../../angular.js' ] }, - dependencyPath: '../../..' + dependencyPath: '../../../' }, scripts: [ 'components/jquery-' + getVersion('jquery') + '/jquery.js', @@ -149,7 +149,7 @@ module.exports = function(config) { commonFiles: { scripts: [ cdnUrl + '/angular.min.js' ] }, - dependencyPath: cdnUrl + dependencyPath: cdnUrl + '/' }, scripts: [ cdnUrl + '/angular.min.js', From ec16352579f80b0d96dc1fc5aa92720f52453ba5 Mon Sep 17 00:00:00 2001 From: Thomas Belin Date: Tue, 4 Mar 2014 17:22:02 +0100 Subject: [PATCH 054/122] fix (ngAnimate): fix requestAnimationFrame for old version of Firefox The recent $$RAFProvider which is a wrapper for the native requestAnimationFrame method doesn't use the mozRequestAnimationFrame. Old versions of FF (20 for example) crash if ngAnimate is included No breaking changes and fix issue https://github.com/angular/angular.js/issues/6535 Closes #6535 Closes #6540 --- src/ng/raf.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ng/raf.js b/src/ng/raf.js index 0bc43f34327e..e07adbfed5ce 100644 --- a/src/ng/raf.js +++ b/src/ng/raf.js @@ -3,10 +3,12 @@ function $$RAFProvider(){ //rAF this.$get = ['$window', '$timeout', function($window, $timeout) { var requestAnimationFrame = $window.requestAnimationFrame || - $window.webkitRequestAnimationFrame; + $window.webkitRequestAnimationFrame || + $window.mozRequestAnimationFrame; var cancelAnimationFrame = $window.cancelAnimationFrame || - $window.webkitCancelAnimationFrame; + $window.webkitCancelAnimationFrame || + $window.mozCancelAnimationFrame; var rafSupported = !!requestAnimationFrame; var raf = rafSupported From b068c8b6054ae5d1ba51124ffd072d1f9a91e385 Mon Sep 17 00:00:00 2001 From: Wesley Cho Date: Mon, 27 Jan 2014 22:59:10 -0500 Subject: [PATCH 055/122] docs($resource): fix example using promise --- src/ngResource/resource.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/ngResource/resource.js b/src/ngResource/resource.js index 66433736b3c7..8927a2664c16 100644 --- a/src/ngResource/resource.js +++ b/src/ngResource/resource.js @@ -253,7 +253,7 @@ function shallowClearAndCopy(src, dst) { ```js var User = $resource('/user/:userId', {userId:'@id'}); - var user = User.get({userId:123}, function() { + User.get({userId:123}, function(user) { user.abc = true; user.$save(); }); @@ -273,6 +273,16 @@ function shallowClearAndCopy(src, dst) { }); }); ``` + * + * You can also access the raw `$http` promise via the `$promise` property on the object returned + * + ``` + var User = $resource('/user/:userId', {userId:'@id'}); + User.get({userId:123}) + .$promise.then(function(user) { + $scope.user = user; + }); + ``` * # Creating a custom 'PUT' request * In this example we create a custom method on our resource to make a PUT request From d69793d93c9b946c904bafed12983ef4459c4cd6 Mon Sep 17 00:00:00 2001 From: Nick Carter Date: Thu, 13 Mar 2014 11:42:48 -0400 Subject: [PATCH 056/122] docs(guide/unit-testing): fix typo --- docs/content/guide/unit-testing.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guide/unit-testing.ngdoc b/docs/content/guide/unit-testing.ngdoc index 8d41bedfb723..f4a608d8962d 100644 --- a/docs/content/guide/unit-testing.ngdoc +++ b/docs/content/guide/unit-testing.ngdoc @@ -258,7 +258,7 @@ expect($scope.strength).toEqual('weak'); ``` Notice that the test is not only much shorter, it is also easier to follow what is happening. We say -that such a test tells a story, rather then asserting random bits which don't seem to be related. +that such a test tells a story, rather than asserting random bits which don't seem to be related. ## Filters {@link ng.$filterProvider Filters} are functions which transform the data into a user readable From dfdb72559f4a4384f1f47196d224e929f759256f Mon Sep 17 00:00:00 2001 From: Sagie Maoz Date: Thu, 13 Mar 2014 14:47:13 +0200 Subject: [PATCH 057/122] docs(guide/compiler): add missing closing parenthesis --- docs/content/guide/compiler.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guide/compiler.ngdoc b/docs/content/guide/compiler.ngdoc index d4d7749839c2..44151a4c3a6b 100644 --- a/docs/content/guide/compiler.ngdoc +++ b/docs/content/guide/compiler.ngdoc @@ -325,7 +325,7 @@ This will not render properly, unless we do some scope magic. The first issue we have to solve is that the dialog box template expects `title` to be defined. But we would like the template's scope property `title` to be the result of interpolating the -`` element's `title` attribute (i.e. `"Hello {{username}}"`. Furthermore, the buttons expect +`` element's `title` attribute (i.e. `"Hello {{username}}"`). Furthermore, the buttons expect the `onOk` and `onCancel` functions to be present in the scope. This limits the usefulness of the widget. To solve the mapping issue we use the `locals` to create local variables which the template expects as follows: From 7cbf61cabb4f2072a1d29c88f018e4db1a7af43f Mon Sep 17 00:00:00 2001 From: Nick Heiner Date: Thu, 13 Mar 2014 19:41:19 -0400 Subject: [PATCH 058/122] docs(ngMock): grammar nitpick. --- src/ngMock/angular-mocks.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ngMock/angular-mocks.js b/src/ngMock/angular-mocks.js index 6a60d9bbf49d..67decaceb33f 100644 --- a/src/ngMock/angular-mocks.js +++ b/src/ngMock/angular-mocks.js @@ -1821,8 +1821,8 @@ angular.module('ngMockE2E', ['ng']).config(['$provide', function($provide) { * an array containing response status (number), response data (string) and response headers * (Object). * - passThrough – `{function()}` – Any request matching a backend definition with `passThrough` - * handler, will be pass through to the real backend (an XHR request will be made to the - * server. + * handler will be passed through to the real backend (an XHR request will be made to the + * server.) */ /** From f108a2a994149ecc011e29f327bcb8e11adf72d9 Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Sat, 1 Mar 2014 12:49:47 +0100 Subject: [PATCH 059/122] fix($http): don't covert 0 status codes to 404 for non-file protocols PR #5547 introduced conversion of all 0 status codes to 404 for cases where no response was recieved (previously this was done for the file:// protocol only). But this mechanism is too eager and masks legitimate cases where status 0 should be returned. This commits reverts to the previous mechanism of handling 0 status code for the file:// protocol (converting 0 to 404) while retaining the returned status code 0 for all the protocols other than file:// Fixes #6074 Fixes #6155 --- src/ng/httpBackend.js | 8 +++++--- test/ng/httpBackendSpec.js | 30 ++++++++++++++++++++++++------ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/ng/httpBackend.js b/src/ng/httpBackend.js index ee2a37fe10a8..28107966f643 100644 --- a/src/ng/httpBackend.js +++ b/src/ng/httpBackend.js @@ -144,9 +144,11 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc jsonpDone = xhr = null; // fix status code when it is 0 (0 status is undocumented). - // Occurs when accessing file resources. - // On Android 4.1 stock browser it occurs while retrieving files from application cache. - status = (status === 0) ? (response ? 200 : 404) : status; + // Occurs when accessing file resources or on Android 4.1 stock browser + // while retrieving files from application cache. + if (status === 0) { + status = response ? 200 : urlResolve(url).protocol == 'file' ? 404 : 0; + } // normalize IE bug (http://bugs.jquery.com/ticket/1450) status = status == 1223 ? 204 : status; diff --git a/test/ng/httpBackendSpec.js b/test/ng/httpBackendSpec.js index 2a3f60126737..5c9cbf586c36 100644 --- a/test/ng/httpBackendSpec.js +++ b/test/ng/httpBackendSpec.js @@ -456,27 +456,45 @@ describe('$httpBackend', function() { } - it('should convert 0 to 200 if content', function() { + it('should convert 0 to 200 if content and file protocol', function() { $backend = createHttpBackend($browser, createMockXhr); - $backend('GET', 'someProtocol:///whatever/index.html', null, callback); + $backend('GET', 'file:///whatever/index.html', null, callback); respond(0, 'SOME CONTENT'); expect(callback).toHaveBeenCalled(); expect(callback.mostRecentCall.args[0]).toBe(200); }); - - it('should convert 0 to 404 if no content', function() { + it('should convert 0 to 200 if content for protocols other than file', function() { $backend = createHttpBackend($browser, createMockXhr); $backend('GET', 'someProtocol:///whatever/index.html', null, callback); + respond(0, 'SOME CONTENT'); + + expect(callback).toHaveBeenCalled(); + expect(callback.mostRecentCall.args[0]).toBe(200); + }); + + it('should convert 0 to 404 if no content and file protocol', function() { + $backend = createHttpBackend($browser, createMockXhr); + + $backend('GET', 'file:///whatever/index.html', null, callback); respond(0, ''); expect(callback).toHaveBeenCalled(); expect(callback.mostRecentCall.args[0]).toBe(404); }); + it('should not convert 0 to 404 if no content for protocols other than file', function() { + $backend = createHttpBackend($browser, createMockXhr); + + $backend('GET', 'someProtocol:///whatever/index.html', null, callback); + respond(0, ''); + + expect(callback).toHaveBeenCalled(); + expect(callback.mostRecentCall.args[0]).toBe(0); + }); it('should convert 0 to 404 if no content - relative url', function() { var originalUrlParsingNode = urlParsingNode; @@ -486,10 +504,10 @@ describe('$httpBackend', function() { hash : "#/C:/", host : "", hostname : "", - href : "someProtocol:///C:/base#!/C:/foo", + href : "file:///C:/base#!/C:/foo", pathname : "/C:/foo", port : "", - protocol : "someProtocol:", + protocol : "file:", search : "", setAttribute: angular.noop }; From c794b96bdc25552ab9ad08d5b7c10c5e8dd5c403 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 14 Mar 2014 13:26:12 -0700 Subject: [PATCH 060/122] chore(npm): clean up shrinkwrap file, remove unused properties from our experiements it appears that the presense or absense of the from and resolved properties makes no difference on the behavior of but updates these properties with different values depending on different state of the cache and node_modules. So in order to get clean diffs during updates, we are just going to drop these properties and have a script to do this automatically. Long term this should be fixed in npm: https://github.com/npm/npm/issues/3581 --- npm-shrinkwrap.json | 2516 +++++++++---------------------------------- 1 file changed, 504 insertions(+), 2012 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index e6bdabc2a5a2..2af6f725f5a1 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,234 +1,151 @@ { - "name": "angularjs", "dependencies": { "bower": { "version": "1.2.8", - "from": "https://registry.npmjs.org/bower/-/bower-1.2.8.tgz", - "resolved": "https://registry.npmjs.org/bower/-/bower-1.2.8.tgz", "dependencies": { "abbrev": { - "version": "1.0.4", - "from": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" + "version": "1.0.4" }, "archy": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz" + "version": "0.0.2" }, "bower-config": { "version": "0.5.0", - "from": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz", - "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.0.tgz", "dependencies": { "mout": { - "version": "0.6.0", - "from": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz" + "version": "0.6.0" }, "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } } } }, "bower-endpoint-parser": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz" + "version": "0.2.1" }, "bower-json": { "version": "0.4.0", - "from": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz", "dependencies": { "deep-extend": { - "version": "0.2.8", - "from": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.8.tgz" + "version": "0.2.8" }, "intersect": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz" + "version": "0.0.3" } } }, "bower-logger": { - "version": "0.2.2", - "from": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz" + "version": "0.2.2" }, "bower-registry-client": { "version": "0.1.6", - "from": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz", - "resolved": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.1.6.tgz", "dependencies": { "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "bower-config": { "version": "0.4.5", - "from": "https://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz", - "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.4.5.tgz", "dependencies": { "mout": { - "version": "0.6.0", - "from": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.6.0.tgz" + "version": "0.6.0" }, "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } } } }, "request-replay": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz" + "version": "0.2.0" } } }, "cardinal": { "version": "0.4.4", - "from": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz", "dependencies": { "redeyed": { "version": "0.4.4", - "from": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz", "dependencies": { "esprima": { - "version": "1.0.4", - "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + "version": "1.0.4" } } }, "ansicolors": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz" + "version": "0.2.1" } } }, "chalk": { "version": "0.2.1", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.2.1.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.2.0.tgz" + "version": "0.2.0" } } }, "chmodr": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz" + "version": "0.1.0" }, "decompress-zip": { "version": "0.0.4", - "from": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.4.tgz", "dependencies": { "mkpath": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz" + "version": "0.1.0" }, "binary": { "version": "0.3.0", - "from": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", "dependencies": { "chainsaw": { "version": "0.1.0", - "from": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", "dependencies": { "traverse": { - "version": "0.3.9", - "from": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz" + "version": "0.3.9" } } }, "buffers": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz" + "version": "0.1.1" } } }, "touch": { "version": "0.0.2", - "from": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz", "dependencies": { "nopt": { - "version": "1.0.10", - "from": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + "version": "1.0.10" } } }, "readable-stream": { "version": "1.1.11", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", "dependencies": { "core-util-is": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" + "version": "1.0.1" }, "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" }, "debuglog": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz" + "version": "0.0.2" } } } @@ -236,105 +153,69 @@ }, "fstream": { "version": "0.1.25", - "from": "https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "fstream-ignore": { "version": "0.0.7", - "from": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "graceful-fs": { - "version": "2.0.2", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + "version": "2.0.2" }, "handlebars": { "version": "1.0.12", - "from": "https://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-1.0.12.tgz", "dependencies": { "optimist": { "version": "0.3.7", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" } } }, "uglify-js": { "version": "2.3.6", - "from": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", "dependencies": { "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "source-map": { "version": "0.1.32", - "from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", "dependencies": { "amdefine": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz" + "version": "0.1.0" } } } @@ -344,234 +225,148 @@ }, "inquirer": { "version": "0.3.5", - "from": "https://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.3.5.tgz", "dependencies": { "lodash": { - "version": "1.2.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.2.1.tgz" + "version": "1.2.1" }, "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "cli-color": { "version": "0.2.3", - "from": "https://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.2.3.tgz", "dependencies": { "es5-ext": { - "version": "0.9.2", - "from": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.9.2.tgz" + "version": "0.9.2" }, "memoizee": { "version": "0.2.6", - "from": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.2.6.tgz", "dependencies": { "event-emitter": { - "version": "0.2.2", - "from": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.2.2.tgz" + "version": "0.2.2" }, "next-tick": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-0.1.0.tgz" + "version": "0.1.0" } } } } }, "mute-stream": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.3.tgz" + "version": "0.0.3" } } }, "junk": { - "version": "0.2.2", - "from": "https://registry.npmjs.org/junk/-/junk-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/junk/-/junk-0.2.2.tgz" + "version": "0.2.2" }, "mkdirp": { - "version": "0.3.5", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + "version": "0.3.5" }, "mout": { - "version": "0.7.1", - "from": "https://registry.npmjs.org/mout/-/mout-0.7.1.tgz", - "resolved": "https://registry.npmjs.org/mout/-/mout-0.7.1.tgz" + "version": "0.7.1" }, "nopt": { - "version": "2.1.2", - "from": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz" + "version": "2.1.2" }, "lru-cache": { - "version": "2.3.1", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz" + "version": "2.3.1" }, "open": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/open/-/open-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.4.tgz" + "version": "0.0.4" }, "osenv": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz" + "version": "0.0.3" }, "promptly": { "version": "0.2.0", - "from": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz", "dependencies": { "read": { "version": "1.0.5", - "from": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.5.tgz", "dependencies": { "mute-stream": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz" + "version": "0.0.4" } } } } }, "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" }, "request": { "version": "2.27.0", - "from": "https://registry.npmjs.org/request/-/request-2.27.0.tgz", - "resolved": "https://registry.npmjs.org/request/-/request-2.27.0.tgz", "dependencies": { "qs": { - "version": "0.6.6", - "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + "version": "0.6.6" }, "json-stringify-safe": { - "version": "5.0.0", - "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz" + "version": "5.0.0" }, "forever-agent": { - "version": "0.5.2", - "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" + "version": "0.5.2" }, "tunnel-agent": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz" + "version": "0.3.0" }, "http-signature": { "version": "0.10.0", - "from": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", "dependencies": { "assert-plus": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" + "version": "0.1.2" }, "asn1": { - "version": "0.1.11", - "from": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" + "version": "0.1.11" }, "ctype": { - "version": "0.5.2", - "from": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz", - "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" + "version": "0.5.2" } } }, "hawk": { "version": "1.0.0", - "from": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", "dependencies": { "hoek": { - "version": "0.9.1", - "from": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz" + "version": "0.9.1" }, "boom": { - "version": "0.4.2", - "from": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", - "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" + "version": "0.4.2" }, "cryptiles": { - "version": "0.2.2", - "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz" + "version": "0.2.2" }, "sntp": { - "version": "0.2.4", - "from": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz" + "version": "0.2.4" } } }, "aws-sign": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz" + "version": "0.3.0" }, "oauth-sign": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz" + "version": "0.3.0" }, "cookie-jar": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz" + "version": "0.3.0" }, "node-uuid": { - "version": "1.4.1", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + "version": "1.4.1" }, "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "form-data": { "version": "0.1.2", - "from": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", "dependencies": { "combined-stream": { "version": "0.0.4", - "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", "dependencies": { "delayed-stream": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + "version": "0.0.5" } } }, "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" } } } @@ -579,50 +374,32 @@ }, "request-progress": { "version": "0.3.1", - "from": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz", "dependencies": { "throttleit": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz" + "version": "0.0.2" } } }, "retry": { - "version": "0.6.0", - "from": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz" + "version": "0.6.0" }, "rimraf": { - "version": "2.2.6", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + "version": "2.2.6" }, "stringify-object": { - "version": "0.1.8", - "from": "https://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-0.1.8.tgz" + "version": "0.1.8" }, "sudo-block": { "version": "0.2.1", - "from": "https://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/sudo-block/-/sudo-block-0.2.1.tgz", "dependencies": { "chalk": { "version": "0.1.1", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.1.1.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-0.1.2.tgz" + "version": "0.1.2" } } } @@ -630,67 +407,43 @@ }, "tar": { "version": "0.1.19", - "from": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz", - "resolved": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" }, "block-stream": { - "version": "0.0.7", - "from": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz" + "version": "0.0.7" } } }, "tmp": { - "version": "0.0.23", - "from": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz" + "version": "0.0.23" }, "update-notifier": { "version": "0.1.7", - "from": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-0.1.7.tgz", "dependencies": { "configstore": { "version": "0.1.7", - "from": "https://registry.npmjs.org/configstore/-/configstore-0.1.7.tgz", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-0.1.7.tgz", "dependencies": { "lodash": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "version": "2.4.1" }, "js-yaml": { "version": "2.1.3", - "from": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz", "dependencies": { "argparse": { "version": "0.1.15", - "from": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", "dependencies": { "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" }, "underscore.string": { - "version": "2.3.3", - "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + "version": "2.3.3" } } }, "esprima": { - "version": "1.0.4", - "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + "version": "1.0.4" } } } @@ -699,112 +452,72 @@ } }, "which": { - "version": "1.0.5", - "from": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz" + "version": "1.0.5" }, "p-throttler": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.0.1.tgz" + "version": "0.0.1" } } }, "browserstacktunnel-wrapper": { - "version": "1.1.2", - "from": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-1.1.2.tgz", - "resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-1.1.2.tgz" + "version": "1.1.2" }, "canonical-path": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-0.0.2.tgz" + "version": "0.0.2" }, "dgeni": { "version": "0.2.2", - "from": "https://registry.npmjs.org/dgeni/-/dgeni-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/dgeni/-/dgeni-0.2.2.tgz", "dependencies": { "rimraf": { - "version": "2.2.6", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + "version": "2.2.6" }, "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } }, "lodash": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "version": "2.4.1" }, "dependency-graph": { "version": "0.1.0", - "from": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.1.0.tgz", "dependencies": { "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" } } }, "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" }, "di": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz" + "version": "0.0.1" }, "marked": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/marked/-/marked-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.2.10.tgz" + "version": "0.2.10" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } } @@ -812,482 +525,318 @@ }, "dgeni-packages": { "version": "0.7.1", - "from": "dgeni-packages@0.7.1", "dependencies": { "lodash": { - "version": "2.4.1", - "from": "lodash@~2.4.1" + "version": "2.4.1" }, "graceful-fs": { - "version": "2.0.2", - "from": "graceful-fs@~2.0.1" + "version": "2.0.2" }, "glob": { "version": "3.2.9", - "from": "glob@~3.2.8", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "minimatch@~0.2.11", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "lru-cache@2" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "sigmund@~1.0.0" + "version": "1.0.0" } } }, "inherits": { - "version": "2.0.1", - "from": "inherits@2" + "version": "2.0.1" } } }, "nunjucks": { "version": "1.0.1", - "from": "nunjucks@~1.0.1", "dependencies": { "optimist": { "version": "0.6.1", - "from": "optimist@*", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "wordwrap@~0.0.2" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "minimist@~0.0.1" + "version": "0.0.8" } } } } }, "catharsis": { - "version": "0.7.0", - "from": "catharsis@^0.7.0" + "version": "0.7.0" }, "esprima": { - "version": "1.0.4", - "from": "esprima@^1.0.4" + "version": "1.0.4" } } }, "event-stream": { "version": "3.1.0", - "from": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.0.tgz", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.1.0.tgz", "dependencies": { "through": { - "version": "2.3.4", - "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + "version": "2.3.4" }, "duplexer": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz" + "version": "0.1.1" }, "from": { - "version": "0.1.3", - "from": "https://registry.npmjs.org/from/-/from-0.1.3.tgz", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.3.tgz" + "version": "0.1.3" }, "map-stream": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + "version": "0.1.0" }, "pause-stream": { - "version": "0.0.11", - "from": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" + "version": "0.0.11" }, "split": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/split/-/split-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz" + "version": "0.2.10" }, "stream-combiner": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" + "version": "0.0.4" } } }, "grunt": { "version": "0.4.2", - "from": "https://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.2.tgz", "dependencies": { "async": { - "version": "0.1.22", - "from": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz" + "version": "0.1.22" }, "coffee-script": { - "version": "1.3.3", - "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz" + "version": "1.3.3" }, "colors": { - "version": "0.6.2", - "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + "version": "0.6.2" }, "dateformat": { - "version": "1.0.2-1.2.3", - "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz" + "version": "1.0.2-1.2.3" }, "eventemitter2": { - "version": "0.4.13", - "from": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz" + "version": "0.4.13" }, "findup-sync": { "version": "0.1.2", - "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "lodash": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + "version": "1.0.1" } } }, "glob": { "version": "3.1.21", - "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } }, "hooker": { - "version": "0.2.3", - "from": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" + "version": "0.2.3" }, "iconv-lite": { - "version": "0.2.11", - "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + "version": "0.2.11" }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "nopt": { "version": "1.0.10", - "from": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "dependencies": { "abbrev": { - "version": "1.0.4", - "from": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz" + "version": "1.0.4" } } }, "rimraf": { "version": "2.0.3", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.0.3.tgz", "dependencies": { "graceful-fs": { - "version": "1.1.14", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz" + "version": "1.1.14" } } }, "lodash": { - "version": "0.9.2", - "from": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz" + "version": "0.9.2" }, "underscore.string": { - "version": "2.2.1", - "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz" + "version": "2.2.1" }, "which": { - "version": "1.0.5", - "from": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz" + "version": "1.0.5" }, "js-yaml": { "version": "2.0.5", - "from": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", "dependencies": { "argparse": { "version": "0.1.15", - "from": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz", "dependencies": { "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" }, "underscore.string": { - "version": "2.3.3", - "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + "version": "2.3.3" } } }, "esprima": { - "version": "1.0.4", - "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" + "version": "1.0.4" } } }, "exit": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version": "0.1.2" }, "getobject": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" + "version": "0.1.0" } } }, "grunt-bump": { "version": "0.0.13", - "from": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.0.13.tgz", - "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.0.13.tgz", "dependencies": { "semver": { - "version": "1.1.4", - "from": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz", - "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz" + "version": "1.1.4" } } }, "grunt-contrib-clean": { "version": "0.5.0", - "from": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", "dependencies": { "rimraf": { - "version": "2.2.6", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + "version": "2.2.6" } } }, "grunt-contrib-compress": { "version": "0.5.3", - "from": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-0.5.3.tgz", - "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-0.5.3.tgz", "dependencies": { "archiver": { "version": "0.4.10", - "from": "https://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.4.10.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } }, "iconv-lite": { - "version": "0.2.11", - "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + "version": "0.2.11" } } }, "lazystream": { "version": "0.1.0", - "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } } } }, "prettysize": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/prettysize/-/prettysize-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/prettysize/-/prettysize-0.0.3.tgz" + "version": "0.0.3" } } }, "grunt-contrib-connect": { "version": "0.5.0", - "from": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.5.0.tgz", - "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.5.0.tgz", "dependencies": { "connect": { "version": "2.7.11", - "from": "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz", "dependencies": { "qs": { - "version": "0.6.5", - "from": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz" + "version": "0.6.5" }, "formidable": { - "version": "1.0.14", - "from": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz" + "version": "1.0.14" }, "cookie-signature": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" + "version": "1.0.1" }, "buffer-crc32": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" + "version": "0.2.1" }, "cookie": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz" + "version": "0.0.5" }, "send": { "version": "0.1.1", - "from": "https://registry.npmjs.org/send/-/send-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/send/-/send-0.1.1.tgz", "dependencies": { "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "range-parser": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" + "version": "0.0.4" } } }, "bytes": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz" + "version": "0.2.0" }, "fresh": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz" + "version": "0.1.0" }, "pause": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + "version": "0.0.1" }, "debug": { - "version": "0.7.4", - "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + "version": "0.7.4" } } }, "connect-livereload": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.2.0.tgz" + "version": "0.2.0" }, "open": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/open/-/open-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.4.tgz" + "version": "0.0.4" } } }, "grunt-contrib-copy": { - "version": "0.4.1", - "from": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.4.1.tgz", - "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.4.1.tgz" + "version": "0.4.1" }, "grunt-contrib-jshint": { "version": "0.7.2", - "from": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.2.tgz", - "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.7.2.tgz", "dependencies": { "jshint": { "version": "2.3.0", - "from": "https://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.3.0.tgz", "dependencies": { "shelljs": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz" + "version": "0.1.4" }, "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" }, "cli": { "version": "0.4.5", - "from": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", - "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", "dependencies": { "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } } @@ -1295,270 +844,176 @@ }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "console-browserify": { - "version": "0.1.6", - "from": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz" + "version": "0.1.6" } } } } }, "grunt-ddescribe-iit": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/grunt-ddescribe-iit/-/grunt-ddescribe-iit-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/grunt-ddescribe-iit/-/grunt-ddescribe-iit-0.0.4.tgz" + "version": "0.0.4" }, "grunt-jasmine-node": { - "version": "0.1.0", - "from": "grunt-jasmine-node@git://github.com/vojtajina/grunt-jasmine-node.git#ced17cbe52c1412b2ada53160432a5b681f37cd7", - "resolved": "git://github.com/vojtajina/grunt-jasmine-node.git#ced17cbe52c1412b2ada53160432a5b681f37cd7" + "version": "0.1.0" }, "grunt-jscs-checker": { "version": "0.4.0", - "from": "https://registry.npmjs.org/grunt-jscs-checker/-/grunt-jscs-checker-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/grunt-jscs-checker/-/grunt-jscs-checker-0.4.0.tgz", "dependencies": { "hooker": { - "version": "0.2.3", - "from": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" + "version": "0.2.3" }, "jscs": { "version": "1.3.0", - "from": "https://registry.npmjs.org/jscs/-/jscs-1.3.0.tgz", - "resolved": "https://registry.npmjs.org/jscs/-/jscs-1.3.0.tgz", "dependencies": { "esprima": { - "version": "1.0.3", - "from": "https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz" + "version": "1.0.3" }, "vow": { - "version": "0.3.9", - "from": "https://registry.npmjs.org/vow/-/vow-0.3.9.tgz", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.3.9.tgz" + "version": "0.3.9" }, "vow-fs": { "version": "0.2.3", - "from": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.2.3.tgz", "dependencies": { "node-uuid": { - "version": "1.4.0", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz" + "version": "1.4.0" }, "vow-queue": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.0.2.tgz" + "version": "0.0.2" } } }, "colors": { - "version": "0.6.0-1", - "from": "https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz" + "version": "0.6.0-1" }, "commander": { "version": "1.2.0", - "from": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", - "resolved": "https://registry.npmjs.org/commander/-/commander-1.2.0.tgz", "dependencies": { "keypress": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz" + "version": "0.1.0" } } }, "minimatch": { "version": "0.2.12", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "glob": { "version": "3.2.7", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.7.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.7.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "xmlbuilder": { "version": "1.1.2", - "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-1.1.2.tgz", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-1.1.2.tgz", "dependencies": { "underscore": { - "version": "1.6.0", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" + "version": "1.6.0" } } }, "strip-json-comments": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz" + "version": "0.1.1" } } }, "lodash.assign": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", "dependencies": { "lodash._basecreatecallback": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", "dependencies": { "lodash.bind": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", "dependencies": { "lodash._createwrapper": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", "dependencies": { "lodash._basebind": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isobject": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._basecreatewrapper": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isobject": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isfunction": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._slice": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.identity": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz" + "version": "2.4.1" }, "lodash._setbinddata": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.support": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" } } } @@ -1566,488 +1021,318 @@ }, "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.isobject": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version": "2.4.1" }, "lodash._shimkeys": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "vow": { - "version": "0.4.1", - "from": "https://registry.npmjs.org/vow/-/vow-0.4.1.tgz", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.1.tgz" + "version": "0.4.1" } } }, "grunt-merge-conflict": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/grunt-merge-conflict/-/grunt-merge-conflict-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/grunt-merge-conflict/-/grunt-merge-conflict-0.0.2.tgz" + "version": "0.0.2" }, "grunt-parallel": { "version": "0.3.1", - "from": "https://registry.npmjs.org/grunt-parallel/-/grunt-parallel-0.3.1.tgz", - "resolved": "https://registry.npmjs.org/grunt-parallel/-/grunt-parallel-0.3.1.tgz", "dependencies": { "q": { - "version": "0.8.12", - "from": "https://registry.npmjs.org/q/-/q-0.8.12.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.8.12.tgz" + "version": "0.8.12" }, "lpad": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/lpad/-/lpad-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/lpad/-/lpad-0.1.0.tgz" + "version": "0.1.0" } } }, "grunt-shell": { "version": "0.4.0", - "from": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/grunt-shell/-/grunt-shell-0.4.0.tgz", "dependencies": { "stripcolorcodes": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/stripcolorcodes/-/stripcolorcodes-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/stripcolorcodes/-/stripcolorcodes-0.1.0.tgz" + "version": "0.1.0" } } }, "gulp": { "version": "3.4.0", - "from": "https://registry.npmjs.org/gulp/-/gulp-3.4.0.tgz", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.4.0.tgz", "dependencies": { "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } }, "gulp-util": { "version": "2.2.14", - "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", "dependencies": { "chalk": { "version": "0.4.0", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + "version": "1.0.0" }, "strip-ansi": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + "version": "0.1.1" } } }, "lodash.template": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", "dependencies": { "lodash.defaults": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.escape": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", "dependencies": { "lodash._escapehtmlchar": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reunescapedhtml": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash._escapestringchar": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + "version": "2.4.1" }, "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._shimkeys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash.templatesettings": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + "version": "2.4.1" }, "lodash.values": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reinterpolate": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + "version": "2.4.1" }, "vinyl": { "version": "0.2.3", - "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", "dependencies": { "clone-stats": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + "version": "0.0.1" } } }, "through2": { "version": "0.4.1", - "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } }, "xtend": { "version": "2.1.2", - "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", "dependencies": { "object-keys": { - "version": "0.4.0", - "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + "version": "0.4.0" } } } } }, "dateformat": { - "version": "1.0.7-1.2.3", - "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + "version": "1.0.7-1.2.3" }, "multipipe": { "version": "0.0.2", - "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", "dependencies": { "duplexer2": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + "version": "0.0.1" } } }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } }, "orchestrator": { "version": "0.3.3", - "from": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.3.tgz", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.3.tgz", "dependencies": { "sequencify": { - "version": "0.0.7", - "from": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + "version": "0.0.7" } } }, "resolve": { - "version": "0.6.1", - "from": "https://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.1.tgz" + "version": "0.6.1" }, "findup-sync": { "version": "0.1.2", - "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", - "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } }, "lodash": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + "version": "1.0.1" } } }, "pretty-hrtime": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-0.2.0.tgz" + "version": "0.2.0" }, "vinyl-fs": { "version": "0.0.1", - "from": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.0.1.tgz", "dependencies": { "vinyl": { "version": "0.2.3", - "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", "dependencies": { "clone-stats": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + "version": "0.0.1" } } }, "glob-stream": { "version": "3.1.9", - "from": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.9.tgz", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.9.tgz", "dependencies": { "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "ordered-read-streams": { - "version": "0.0.7", - "from": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.0.7.tgz" + "version": "0.0.7" }, "glob2base": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.8.tgz" + "version": "0.0.8" }, "unique-stream": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/unique-stream/-/unique-stream-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-0.0.3.tgz" + "version": "0.0.3" }, "through": { - "version": "2.3.4", - "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + "version": "2.3.4" } } }, "glob-watcher": { "version": "0.0.3", - "from": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.3.tgz", "dependencies": { "gaze": { "version": "0.4.3", - "from": "https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.4.3.tgz", "dependencies": { "globule": { "version": "0.1.0", - "from": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", "dependencies": { "lodash": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + "version": "1.0.1" }, "glob": { "version": "3.1.21", - "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } } @@ -2058,241 +1343,159 @@ } }, "mkdirp": { - "version": "0.3.5", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + "version": "0.3.5" }, "graceful-fs": { - "version": "2.0.2", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + "version": "2.0.2" }, "map-stream": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + "version": "0.1.0" } } }, "semver": { - "version": "2.2.1", - "from": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz", - "resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz" + "version": "2.2.1" }, "archy": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz" + "version": "0.0.2" } } }, "gulp-concat": { "version": "2.1.7", - "from": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.1.7.tgz", - "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.1.7.tgz", "dependencies": { "through": { - "version": "2.3.4", - "from": "https://registry.npmjs.org/through/-/through-2.3.4.tgz", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.4.tgz" + "version": "2.3.4" }, "gulp-util": { "version": "2.2.14", - "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", "dependencies": { "chalk": { "version": "0.4.0", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + "version": "1.0.0" }, "strip-ansi": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + "version": "0.1.1" } } }, "lodash.template": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", "dependencies": { "lodash.defaults": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.escape": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", "dependencies": { "lodash._escapehtmlchar": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reunescapedhtml": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash._escapestringchar": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + "version": "2.4.1" }, "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._shimkeys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash.templatesettings": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + "version": "2.4.1" }, "lodash.values": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reinterpolate": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + "version": "2.4.1" }, "vinyl": { "version": "0.2.3", - "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", "dependencies": { "clone-stats": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + "version": "0.0.1" } } }, "through2": { "version": "0.4.1", - "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } }, "xtend": { "version": "2.1.2", - "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", "dependencies": { "object-keys": { - "version": "0.4.0", - "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + "version": "0.4.0" } } } } }, "dateformat": { - "version": "1.0.7-1.2.3", - "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + "version": "1.0.7-1.2.3" }, "multipipe": { "version": "0.0.2", - "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", "dependencies": { "duplexer2": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + "version": "0.0.1" } } }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } } @@ -2300,43 +1503,27 @@ }, "gulp-jshint": { "version": "1.4.2", - "from": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-1.4.2.tgz", - "resolved": "https://registry.npmjs.org/gulp-jshint/-/gulp-jshint-1.4.2.tgz", "dependencies": { "map-stream": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" + "version": "0.1.0" }, "jshint": { "version": "2.4.4", - "from": "https://registry.npmjs.org/jshint/-/jshint-2.4.4.tgz", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.4.4.tgz", "dependencies": { "shelljs": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz" + "version": "0.1.4" }, "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" }, "cli": { "version": "0.4.5", - "from": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", - "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz", "dependencies": { "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } } @@ -2344,446 +1531,292 @@ }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "htmlparser2": { "version": "3.3.0", - "from": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "dependencies": { "domhandler": { - "version": "2.1.0", - "from": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz" + "version": "2.1.0" }, "domutils": { - "version": "1.1.6", - "from": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz" + "version": "1.1.6" }, "domelementtype": { - "version": "1.1.1", - "from": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz" + "version": "1.1.1" }, "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } } } }, "console-browserify": { - "version": "0.1.6", - "from": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz" + "version": "0.1.6" }, "exit": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version": "0.1.2" } } }, "gulp-util": { "version": "2.2.14", - "from": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.14.tgz", "dependencies": { "chalk": { "version": "0.4.0", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + "version": "1.0.0" }, "strip-ansi": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + "version": "0.1.1" } } }, "lodash.template": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", "dependencies": { "lodash.defaults": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.escape": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", "dependencies": { "lodash._escapehtmlchar": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reunescapedhtml": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", "dependencies": { "lodash._htmlescapes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash._escapestringchar": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + "version": "2.4.1" }, "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._shimkeys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash.templatesettings": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + "version": "2.4.1" }, "lodash.values": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._reinterpolate": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + "version": "2.4.1" }, "vinyl": { "version": "0.2.3", - "from": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", "dependencies": { "clone-stats": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + "version": "0.0.1" } } }, "through2": { "version": "0.4.1", - "from": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.1.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } }, "xtend": { "version": "2.1.2", - "from": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", "dependencies": { "object-keys": { - "version": "0.4.0", - "from": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + "version": "0.4.0" } } } } }, "dateformat": { - "version": "1.0.7-1.2.3", - "from": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz" + "version": "1.0.7-1.2.3" }, "multipipe": { "version": "0.0.2", - "from": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.0.2.tgz", "dependencies": { "duplexer2": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.1.tgz" + "version": "0.0.1" } } }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } }, "lodash.clone": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-2.4.1.tgz", "dependencies": { "lodash._baseclone": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-2.4.1.tgz", "dependencies": { "lodash.assign": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz", "dependencies": { "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash._shimkeys": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.foreach": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz" + "version": "2.4.1" }, "lodash.forown": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz", "dependencies": { "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash._shimkeys": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._getarray": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz", "dependencies": { "lodash._arraypool": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isarray": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._releasearray": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz", "dependencies": { "lodash._arraypool": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz" + "version": "2.4.1" }, "lodash._maxpoolsize": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._slice": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._basecreatecallback": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz", "dependencies": { "lodash.bind": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz", "dependencies": { "lodash._createwrapper": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz", "dependencies": { "lodash._basebind": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } @@ -2791,85 +1824,57 @@ }, "lodash._basecreatewrapper": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz", "dependencies": { "lodash._basecreate": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.isobject": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", "dependencies": { "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lodash.isfunction": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._slice": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.identity": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz" + "version": "2.4.1" }, "lodash._setbinddata": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.noop": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash.support": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" } } } @@ -2881,77 +1886,49 @@ }, "jasmine-node": { "version": "1.11.0", - "from": "https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.11.0.tgz", - "resolved": "https://registry.npmjs.org/jasmine-node/-/jasmine-node-1.11.0.tgz", "dependencies": { "coffee-script": { - "version": "1.7.1", - "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.7.1.tgz" + "version": "1.7.1" }, "jasmine-growl-reporter": { "version": "0.0.2", - "from": "https://registry.npmjs.org/jasmine-growl-reporter/-/jasmine-growl-reporter-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/jasmine-growl-reporter/-/jasmine-growl-reporter-0.0.2.tgz", "dependencies": { "growl": { - "version": "1.7.0", - "from": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz" + "version": "1.7.0" } } }, "requirejs": { - "version": "2.1.11", - "from": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz", - "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.1.11.tgz" + "version": "2.1.11" }, "walkdir": { - "version": "0.0.7", - "from": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.7.tgz" + "version": "0.0.7" }, "underscore": { - "version": "1.6.0", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" + "version": "1.6.0" }, "gaze": { "version": "0.3.4", - "from": "https://registry.npmjs.org/gaze/-/gaze-0.3.4.tgz", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.3.4.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "fileset": { "version": "0.1.5", - "from": "https://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-0.1.5.tgz", "dependencies": { "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } } @@ -2960,212 +1937,136 @@ } }, "mkdirp": { - "version": "0.3.5", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + "version": "0.3.5" } } }, "jasmine-reporters": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-0.2.1.tgz" + "version": "0.2.1" }, "jshint-stylish": { "version": "0.1.5", - "from": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-0.1.5.tgz", "dependencies": { "chalk": { "version": "0.4.0", - "from": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", "dependencies": { "has-color": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.4.tgz" + "version": "0.1.4" }, "ansi-styles": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" + "version": "1.0.0" }, "strip-ansi": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" + "version": "0.1.1" } } }, "text-table": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version": "0.2.0" } } }, "karma": { "version": "0.11.12", - "from": "https://registry.npmjs.org/karma/-/karma-0.11.12.tgz", - "resolved": "https://registry.npmjs.org/karma/-/karma-0.11.12.tgz", "dependencies": { "di": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz" + "version": "0.0.1" }, "socket.io": { "version": "0.9.16", - "from": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz", "dependencies": { "socket.io-client": { "version": "0.9.16", - "from": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz", "dependencies": { "uglify-js": { - "version": "1.2.5", - "from": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz" + "version": "1.2.5" }, "ws": { "version": "0.4.31", - "from": "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz", - "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz", "dependencies": { "commander": { - "version": "0.6.1", - "from": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + "version": "0.6.1" }, "nan": { - "version": "0.3.2", - "from": "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz", - "resolved": "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz" + "version": "0.3.2" }, "tinycolor": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz" + "version": "0.0.1" }, "options": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/options/-/options-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.5.tgz" + "version": "0.0.5" } } }, "xmlhttprequest": { - "version": "1.4.2", - "from": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz" + "version": "1.4.2" }, "active-x-obfuscator": { "version": "0.0.1", - "from": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz", "dependencies": { "zeparser": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz" + "version": "0.0.5" } } } } }, "policyfile": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz" + "version": "0.0.4" }, "base64id": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz" + "version": "0.1.0" }, "redis": { - "version": "0.7.3", - "from": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz", - "resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz" + "version": "0.7.3" } } }, "chokidar": { - "version": "0.8.1", - "from": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-0.8.1.tgz" + "version": "0.8.1" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "http-proxy": { "version": "0.10.4", - "from": "https://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-0.10.4.tgz", "dependencies": { "pkginfo": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz" + "version": "0.3.0" }, "utile": { "version": "0.2.1", - "from": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", "dependencies": { "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "deep-equal": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz" + "version": "0.2.1" }, "i": { - "version": "0.3.2", - "from": "https://registry.npmjs.org/i/-/i-0.3.2.tgz", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.2.tgz" + "version": "0.3.2" }, "mkdirp": { - "version": "0.3.5", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + "version": "0.3.5" }, "ncp": { - "version": "0.4.2", - "from": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz" + "version": "0.4.2" } } } @@ -3173,75 +2074,47 @@ }, "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } }, "coffee-script": { - "version": "1.6.3", - "from": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz" + "version": "1.6.3" }, "rimraf": { - "version": "2.2.6", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + "version": "2.2.6" }, "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" }, "colors": { - "version": "0.6.2", - "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + "version": "0.6.2" }, "lodash": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "version": "2.4.1" }, "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "log4js": { "version": "0.6.10", - "from": "https://registry.npmjs.org/log4js/-/log4js-0.6.10.tgz", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.10.tgz", "dependencies": { "async": { - "version": "0.1.15", - "from": "https://registry.npmjs.org/async/-/async-0.1.15.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz" + "version": "0.1.15" }, "semver": { - "version": "1.1.4", - "from": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz", - "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz" + "version": "1.1.4" }, "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } } @@ -3249,134 +2122,84 @@ }, "useragent": { "version": "2.0.7", - "from": "https://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.0.7.tgz", "dependencies": { "lru-cache": { - "version": "2.2.4", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz" + "version": "2.2.4" } } }, "graceful-fs": { - "version": "2.0.2", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz" + "version": "2.0.2" }, "connect": { "version": "2.12.0", - "from": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.12.0.tgz", "dependencies": { "batch": { - "version": "0.5.0", - "from": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz" + "version": "0.5.0" }, "qs": { - "version": "0.6.6", - "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + "version": "0.6.6" }, "cookie-signature": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" + "version": "1.0.1" }, "buffer-crc32": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" + "version": "0.2.1" }, "cookie": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" + "version": "0.1.0" }, "send": { "version": "0.1.4", - "from": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", "dependencies": { "range-parser": { - "version": "0.0.4", - "from": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" + "version": "0.0.4" } } }, "bytes": { - "version": "0.2.1", - "from": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" + "version": "0.2.1" }, "fresh": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz" + "version": "0.2.0" }, "pause": { - "version": "0.0.1", - "from": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + "version": "0.0.1" }, "uid2": { - "version": "0.0.3", - "from": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz" + "version": "0.0.3" }, "debug": { - "version": "0.7.4", - "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + "version": "0.7.4" }, "methods": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz" + "version": "0.1.0" }, "raw-body": { - "version": "1.1.2", - "from": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.2.tgz" + "version": "1.1.2" }, "negotiator": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz" + "version": "0.3.0" }, "multiparty": { "version": "2.2.0", - "from": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", "dependencies": { "readable-stream": { "version": "1.1.11", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.11.tgz", "dependencies": { "core-util-is": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" + "version": "1.0.1" }, "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" }, "debuglog": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-0.0.2.tgz" + "version": "0.0.2" } } }, "stream-counter": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" + "version": "0.2.0" } } } @@ -3384,13 +2207,9 @@ }, "source-map": { "version": "0.1.32", - "from": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", "dependencies": { "amdefine": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz" + "version": "0.1.0" } } } @@ -3398,447 +2217,287 @@ }, "karma-browserstack-launcher": { "version": "0.0.7", - "from": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-0.0.7.tgz", - "resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-0.0.7.tgz", "dependencies": { "browserstack": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/browserstack/-/browserstack-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.0.1.tgz" + "version": "1.0.1" }, "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" } } }, "karma-chrome-launcher": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz" + "version": "0.1.2" }, "karma-firefox-launcher": { - "version": "0.1.3", - "from": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.3.tgz", - "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-0.1.3.tgz" + "version": "0.1.3" }, "karma-jasmine": { - "version": "0.1.5", - "from": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.5.tgz" + "version": "0.1.5" }, "karma-junit-reporter": { "version": "0.2.1", - "from": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz", - "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.2.1.tgz", "dependencies": { "xmlbuilder": { - "version": "0.4.2", - "from": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz" + "version": "0.4.2" } } }, "karma-ng-scenario": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/karma-ng-scenario/-/karma-ng-scenario-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/karma-ng-scenario/-/karma-ng-scenario-0.1.0.tgz" + "version": "0.1.0" }, "karma-sauce-launcher": { "version": "0.2.0", - "from": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.0.tgz", "dependencies": { "wd": { "version": "0.2.10", - "from": "https://registry.npmjs.org/wd/-/wd-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/wd/-/wd-0.2.10.tgz", "dependencies": { "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "vargs": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz" + "version": "0.1.0" }, "q": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/q/-/q-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz" + "version": "1.0.0" }, "request": { "version": "2.33.0", - "from": "https://registry.npmjs.org/request/-/request-2.33.0.tgz", - "resolved": "https://registry.npmjs.org/request/-/request-2.33.0.tgz", "dependencies": { "qs": { - "version": "0.6.6", - "from": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + "version": "0.6.6" }, "json-stringify-safe": { - "version": "5.0.0", - "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz" + "version": "5.0.0" }, "forever-agent": { - "version": "0.5.2", - "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" + "version": "0.5.2" }, "node-uuid": { - "version": "1.4.1", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + "version": "1.4.1" }, "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "tough-cookie": { "version": "0.12.1", - "from": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", "dependencies": { "punycode": { - "version": "1.2.4", - "from": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz" + "version": "1.2.4" } } }, "form-data": { "version": "0.1.2", - "from": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz", "dependencies": { "combined-stream": { "version": "0.0.4", - "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", "dependencies": { "delayed-stream": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + "version": "0.0.5" } } } } }, "tunnel-agent": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz" + "version": "0.3.0" }, "http-signature": { "version": "0.10.0", - "from": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", "dependencies": { "assert-plus": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" + "version": "0.1.2" }, "asn1": { - "version": "0.1.11", - "from": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" + "version": "0.1.11" }, "ctype": { - "version": "0.5.2", - "from": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz", - "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" + "version": "0.5.2" } } }, "oauth-sign": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz" + "version": "0.3.0" }, "hawk": { "version": "1.0.0", - "from": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", "dependencies": { "hoek": { - "version": "0.9.1", - "from": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz" + "version": "0.9.1" }, "boom": { - "version": "0.4.2", - "from": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", - "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" + "version": "0.4.2" }, "cryptiles": { - "version": "0.2.2", - "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz" + "version": "0.2.2" }, "sntp": { - "version": "0.2.4", - "from": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz" + "version": "0.2.4" } } }, "aws-sign2": { - "version": "0.5.0", - "from": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz" + "version": "0.5.0" } } }, "archiver": { "version": "0.5.2", - "from": "https://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.5.2.tgz", "dependencies": { "readable-stream": { "version": "1.0.26", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.26.tgz", "dependencies": { "string_decoder": { - "version": "0.10.25-1", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz" + "version": "0.10.25-1" } } }, "zip-stream": { "version": "0.1.4", - "from": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.1.4.tgz", "dependencies": { "lodash.defaults": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", "dependencies": { "lodash.keys": { "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", "dependencies": { "lodash._isnative": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version": "2.4.1" }, "lodash.isobject": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version": "2.4.1" }, "lodash._shimkeys": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + "version": "2.4.1" } } }, "lodash._objecttypes": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version": "2.4.1" } } } } }, "lazystream": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz" + "version": "0.1.0" }, "file-utils": { "version": "0.1.5", - "from": "https://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz", - "resolved": "https://registry.npmjs.org/file-utils/-/file-utils-0.1.5.tgz", "dependencies": { "lodash": { - "version": "2.1.0", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz" + "version": "2.1.0" }, "iconv-lite": { - "version": "0.2.11", - "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" + "version": "0.2.11" }, "rimraf": { - "version": "2.2.6", - "from": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz" + "version": "2.2.6" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "findup-sync": { "version": "0.1.2", - "from": "findup-sync@0.1.2", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", - "from": "glob@3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } }, "lodash": { - "version": "1.0.1", - "from": "lodash@1.0.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + "version": "1.0.1" } } }, "isbinaryfile": { - "version": "0.1.9", - "from": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-0.1.9.tgz" + "version": "0.1.9" } } } } }, "lodash": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "version": "2.4.1" }, "underscore.string": { - "version": "2.3.3", - "from": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" + "version": "2.3.3" } } }, "sauce-connect-launcher": { "version": "0.2.2", - "from": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.2.2.tgz", "dependencies": { "lodash": { - "version": "1.3.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.3.1.tgz" + "version": "1.3.1" }, "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "adm-zip": { - "version": "0.4.4", - "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz" + "version": "0.4.4" } } }, "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" }, "saucelabs": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz" + "version": "0.1.1" } } }, "karma-script-launcher": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-0.1.0.tgz" + "version": "0.1.0" }, "load-grunt-tasks": { "version": "0.3.0", - "from": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.3.0.tgz", "dependencies": { "globule": { "version": "0.2.0", - "from": "https://registry.npmjs.org/globule/-/globule-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.2.0.tgz", "dependencies": { "lodash": { - "version": "2.4.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz" + "version": "2.4.1" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } } @@ -3846,150 +2505,96 @@ }, "findup-sync": { "version": "0.1.2", - "from": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.2.tgz", "dependencies": { "glob": { "version": "3.1.21", - "from": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } }, "lodash": { - "version": "1.0.1", - "from": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz" + "version": "1.0.1" } } } } }, "lodash": { - "version": "2.1.0", - "from": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.1.0.tgz" + "version": "2.1.0" }, "marked": { - "version": "0.3.1", - "from": "https://registry.npmjs.org/marked/-/marked-0.3.1.tgz", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.1.tgz" + "version": "0.3.1" }, "node-html-encoder": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/node-html-encoder/-/node-html-encoder-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/node-html-encoder/-/node-html-encoder-0.0.2.tgz" + "version": "0.0.2" }, "promises-aplus-tests": { "version": "1.3.2", - "from": "https://registry.npmjs.org/promises-aplus-tests/-/promises-aplus-tests-1.3.2.tgz", - "resolved": "https://registry.npmjs.org/promises-aplus-tests/-/promises-aplus-tests-1.3.2.tgz", "dependencies": { "mocha": { "version": "1.11.0", - "from": "https://registry.npmjs.org/mocha/-/mocha-1.11.0.tgz", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-1.11.0.tgz", "dependencies": { "commander": { - "version": "0.6.1", - "from": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + "version": "0.6.1" }, "growl": { - "version": "1.7.0", - "from": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.7.0.tgz" + "version": "1.7.0" }, "jade": { "version": "0.26.3", - "from": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", - "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", "dependencies": { "mkdirp": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + "version": "0.3.0" } } }, "diff": { - "version": "1.0.2", - "from": "https://registry.npmjs.org/diff/-/diff-1.0.2.tgz", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.2.tgz" + "version": "1.0.2" }, "debug": { - "version": "0.7.4", - "from": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" + "version": "0.7.4" }, "mkdirp": { - "version": "0.3.5", - "from": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz" + "version": "0.3.5" }, "ms": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/ms/-/ms-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.3.0.tgz" + "version": "0.3.0" }, "glob": { "version": "3.2.1", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "graceful-fs": { - "version": "1.2.3", - "from": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version": "1.2.3" }, "inherits": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" + "version": "1.0.0" } } } @@ -3997,147 +2602,95 @@ }, "sinon": { "version": "1.7.3", - "from": "https://registry.npmjs.org/sinon/-/sinon-1.7.3.tgz", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.7.3.tgz", "dependencies": { "buster-format": { "version": "0.5.6", - "from": "https://registry.npmjs.org/buster-format/-/buster-format-0.5.6.tgz", - "resolved": "https://registry.npmjs.org/buster-format/-/buster-format-0.5.6.tgz", "dependencies": { "buster-core": { - "version": "0.6.4", - "from": "https://registry.npmjs.org/buster-core/-/buster-core-0.6.4.tgz", - "resolved": "https://registry.npmjs.org/buster-core/-/buster-core-0.6.4.tgz" + "version": "0.6.4" } } } } }, "underscore": { - "version": "1.4.4", - "from": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz" + "version": "1.4.4" } } }, "protractor": { "version": "0.19.0", - "from": "https://registry.npmjs.org/protractor/-/protractor-0.19.0.tgz", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-0.19.0.tgz", "dependencies": { "selenium-webdriver": { - "version": "2.39.0", - "from": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.39.0.tgz", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.39.0.tgz" + "version": "2.39.0" }, "minijasminenode": { - "version": "0.2.7", - "from": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-0.2.7.tgz", - "resolved": "https://registry.npmjs.org/minijasminenode/-/minijasminenode-0.2.7.tgz" + "version": "0.2.7" }, "saucelabs": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz" + "version": "0.1.1" }, "glob": { "version": "3.2.9", - "from": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.9.tgz", "dependencies": { "minimatch": { "version": "0.2.14", - "from": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", "dependencies": { "lru-cache": { - "version": "2.5.0", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz" + "version": "2.5.0" }, "sigmund": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" + "version": "1.0.0" } } }, "inherits": { - "version": "2.0.1", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.1" } } }, "adm-zip": { - "version": "0.4.4", - "from": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz" + "version": "0.4.4" }, "optimist": { "version": "0.6.1", - "from": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.2", - "from": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "0.0.2" }, "minimist": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "version": "0.0.8" } } } } }, "q": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/q/-/q-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-1.0.0.tgz" + "version": "1.0.0" }, "q-io": { "version": "1.10.9", - "from": "https://registry.npmjs.org/q-io/-/q-io-1.10.9.tgz", - "resolved": "https://registry.npmjs.org/q-io/-/q-io-1.10.9.tgz", "dependencies": { "q": { - "version": "0.9.7", - "from": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz" + "version": "0.9.7" }, "qs": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/qs/-/qs-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.1.0.tgz" + "version": "0.1.0" }, "url2": { - "version": "0.0.0", - "from": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz", - "resolved": "https://registry.npmjs.org/url2/-/url2-0.0.0.tgz" + "version": "0.0.0" }, "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "mimeparse": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/mimeparse/-/mimeparse-0.1.4.tgz" + "version": "0.1.4" }, "collections": { "version": "0.2.2", - "from": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", - "resolved": "https://registry.npmjs.org/collections/-/collections-0.2.2.tgz", "dependencies": { "weak-map": { - "version": "1.0.0", - "from": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.0.tgz" + "version": "1.0.0" } } } @@ -4145,170 +2698,109 @@ }, "qq": { "version": "0.3.5", - "from": "https://registry.npmjs.org/qq/-/qq-0.3.5.tgz", - "resolved": "https://registry.npmjs.org/qq/-/qq-0.3.5.tgz", "dependencies": { "q": { - "version": "0.8.4", - "from": "https://registry.npmjs.org/q/-/q-0.8.4.tgz", - "resolved": "https://registry.npmjs.org/q/-/q-0.8.4.tgz" + "version": "0.8.4" } } }, "rewire": { - "version": "1.1.3", - "from": "https://registry.npmjs.org/rewire/-/rewire-1.1.3.tgz", - "resolved": "https://registry.npmjs.org/rewire/-/rewire-1.1.3.tgz" + "version": "1.1.3" }, "semver": { - "version": "2.1.0", - "from": "https://registry.npmjs.org/semver/-/semver-2.1.0.tgz", - "resolved": "https://registry.npmjs.org/semver/-/semver-2.1.0.tgz" + "version": "2.1.0" }, "shelljs": { - "version": "0.2.6", - "from": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz" + "version": "0.2.6" }, "winston": { "version": "0.7.2", - "from": "https://registry.npmjs.org/winston/-/winston-0.7.2.tgz", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.7.2.tgz", "dependencies": { "async": { - "version": "0.2.10", - "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + "version": "0.2.10" }, "colors": { - "version": "0.6.2", - "from": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" + "version": "0.6.2" }, "cycle": { - "version": "1.0.3", - "from": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz" + "version": "1.0.3" }, "eyes": { - "version": "0.1.8", - "from": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz" + "version": "0.1.8" }, "pkginfo": { - "version": "0.3.0", - "from": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz" + "version": "0.3.0" }, "request": { "version": "2.16.6", - "from": "https://registry.npmjs.org/request/-/request-2.16.6.tgz", - "resolved": "https://registry.npmjs.org/request/-/request-2.16.6.tgz", "dependencies": { "form-data": { "version": "0.0.10", - "from": "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz", "dependencies": { "combined-stream": { "version": "0.0.4", - "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz", "dependencies": { "delayed-stream": { - "version": "0.0.5", - "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz" + "version": "0.0.5" } } } } }, "mime": { - "version": "1.2.11", - "from": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "version": "1.2.11" }, "hawk": { "version": "0.10.2", - "from": "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz", "dependencies": { "hoek": { - "version": "0.7.6", - "from": "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz" + "version": "0.7.6" }, "boom": { - "version": "0.3.8", - "from": "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz", - "resolved": "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz" + "version": "0.3.8" }, "cryptiles": { - "version": "0.1.3", - "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz" + "version": "0.1.3" }, "sntp": { - "version": "0.1.4", - "from": "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz" + "version": "0.1.4" } } }, "node-uuid": { - "version": "1.4.1", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + "version": "1.4.1" }, "cookie-jar": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz" + "version": "0.2.0" }, "aws-sign": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz" + "version": "0.2.0" }, "oauth-sign": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz" + "version": "0.2.0" }, "forever-agent": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz" + "version": "0.2.0" }, "tunnel-agent": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz" + "version": "0.2.0" }, "json-stringify-safe": { - "version": "3.0.0", - "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz" + "version": "3.0.0" }, "qs": { - "version": "0.5.6", - "from": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz" + "version": "0.5.6" } } }, "stack-trace": { - "version": "0.0.9", - "from": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz" + "version": "0.0.9" } } }, "yaml-js": { - "version": "0.0.8", - "from": "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz", - "resolved": "https://registry.npmjs.org/yaml-js/-/yaml-js-0.0.8.tgz" + "version": "0.0.8" } - } + }, + "name": "angularjs" } From 771bccc35c6d8ce936a05135b8d67d767d4c7e70 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Thu, 13 Mar 2014 18:30:17 +0000 Subject: [PATCH 061/122] chore(clean-shrinkwrap): add a utility to clean up the shrinkwrap file This is to deal with https://github.com/npm/npm/issues/3581 See the previous commit for more info. Closes #6672 --- npm-shrinkwrap.json | 3 +++ package.json | 3 ++- scripts/clean-shrinkwrap.js | 45 +++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100755 scripts/clean-shrinkwrap.js diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 2af6f725f5a1..a72db7c9df40 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -2713,6 +2713,9 @@ "shelljs": { "version": "0.2.6" }, + "sorted-object": { + "version": "1.0.0" + }, "winston": { "version": "0.7.2", "dependencies": { diff --git a/package.json b/package.json index 2b1d769a35ac..c239bc2bfe8e 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,8 @@ "dgeni-packages": "^0.7.0", "gulp-jshint": "~1.4.2", "jshint-stylish": "~0.1.5", - "node-html-encoder": "0.0.2" + "node-html-encoder": "0.0.2", + "sorted-object": "^1.0.0" }, "licenses": [ { diff --git a/scripts/clean-shrinkwrap.js b/scripts/clean-shrinkwrap.js new file mode 100755 index 000000000000..f3d6ebe587a1 --- /dev/null +++ b/scripts/clean-shrinkwrap.js @@ -0,0 +1,45 @@ +#!/usr/bin/env node + +/** + * this script is just a temporary solution to deal with the issue of npm outputting the npm + * shrinkwrap file in an unstable manner. + * + * See: https://github.com/npm/npm/issues/3581 + */ + +var _ = require('lodash'); +var sorted = require('sorted-object'); +var fs = require('fs'); + + +function cleanModule(module, name) { + + // keep `from` and `resolve` properties for git dependencies, delete otherwise + if (!(module.resolved && module.resolved.match(/^git:\/\//))) { + delete module.from; + delete module.resolved; + } + + if (name === 'chokidar') { + if (module.version === '0.8.1') { + delete module.dependencies; + } else { + throw new Error("Unfamiliar chokidar version (v" + module.version + + ") , please check status of https://github.com/paulmillr/chokidar/pull/106"); + } + } + + _.forEach(module.dependencies, function(mod, name) { + cleanModule(mod, name); + }); +} + + +console.log('Reading npm-shrinkwrap.json'); +var shrinkwrap = require('./../npm-shrinkwrap.json'); + +console.log('Cleaning shrinkwrap object'); +cleanModule(shrinkwrap, shrinkwrap.name); + +console.log('Writing cleaned npm-shrinkwrap.json'); +fs.writeFileSync('./npm-shrinkwrap.json', JSON.stringify(sorted(shrinkwrap), null, 2) + "\n"); From ca7336391aba0f1c76b89381742716e98df67576 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Fri, 14 Mar 2014 23:06:04 -0700 Subject: [PATCH 062/122] chore(package.json): update karma to 0.12.0 --- npm-shrinkwrap.json | 11 ++++------- package.json | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a72db7c9df40..a83767c438fd 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1967,7 +1967,7 @@ } }, "karma": { - "version": "0.11.12", + "version": "0.12.0", "dependencies": { "di": { "version": "0.0.1" @@ -2083,9 +2083,6 @@ } } }, - "coffee-script": { - "version": "1.6.3" - }, "rimraf": { "version": "2.2.6" }, @@ -2102,7 +2099,7 @@ "version": "1.2.11" }, "log4js": { - "version": "0.6.10", + "version": "0.6.12", "dependencies": { "async": { "version": "0.1.15" @@ -2111,7 +2108,7 @@ "version": "1.1.4" }, "readable-stream": { - "version": "1.0.26", + "version": "1.0.26-2", "dependencies": { "string_decoder": { "version": "0.10.25-1" @@ -2206,7 +2203,7 @@ } }, "source-map": { - "version": "0.1.32", + "version": "0.1.33", "dependencies": { "amdefine": { "version": "0.1.0" diff --git a/package.json b/package.json index c239bc2bfe8e..7d430529061d 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "q-io": "~1.10.6", "qq": "~0.3.5", "shelljs": "~0.2.6", - "karma": "0.11.12", + "karma": "^0.12.0", "karma-jasmine": "0.1.5", "karma-chrome-launcher": "0.1.2", "karma-firefox-launcher": "0.1.3", From fbb125a3af164e52af2f8119175b04cbbed2f331 Mon Sep 17 00:00:00 2001 From: Bruno Baia Date: Tue, 19 Nov 2013 00:30:36 +0100 Subject: [PATCH 063/122] fix($http): allow sending Blob data using $http Closes #5012 --- src/.jshintrc | 1 + src/Angular.js | 6 ++++++ src/ng/http.js | 2 +- test/ng/httpSpec.js | 10 ++++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/.jshintrc b/src/.jshintrc index f32caa451ed6..35bba32e73ed 100644 --- a/src/.jshintrc +++ b/src/.jshintrc @@ -64,6 +64,7 @@ "isWindow": false, "isScope": false, "isFile": false, + "isBlob": false, "isBoolean": false, "trim": false, "isElement": false, diff --git a/src/Angular.js b/src/Angular.js index 68ae929539ce..96df13f4ff8d 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -45,6 +45,7 @@ -isWindow, -isScope, -isFile, + -isBlob, -isBoolean, -trim, -isElement, @@ -566,6 +567,11 @@ function isFile(obj) { } +function isBlob(obj) { + return toString.call(obj) === '[object Blob]'; +} + + function isBoolean(value) { return typeof value === 'boolean'; } diff --git a/src/ng/http.js b/src/ng/http.js index 0c54f5bb636e..c7dc64e2c4fd 100644 --- a/src/ng/http.js +++ b/src/ng/http.js @@ -103,7 +103,7 @@ function $HttpProvider() { // transform outgoing request data transformRequest: [function(d) { - return isObject(d) && !isFile(d) ? toJson(d) : d; + return isObject(d) && !isFile(d) && !isBlob(d) ? toJson(d) : d; }], // default headers diff --git a/test/ng/httpSpec.js b/test/ng/httpSpec.js index a7b244831f6f..86ab72ea8bd8 100644 --- a/test/ng/httpSpec.js +++ b/test/ng/httpSpec.js @@ -989,6 +989,16 @@ describe('$http', function() { }); + it('should ignore Blob objects', function () { + if (!window.Blob) return; + + var blob = new Blob(['blob!'], { type: 'text/plain' }); + + $httpBackend.expect('POST', '/url', '[object Blob]').respond(''); + $http({ method: 'POST', url: '/url', data: blob }); + }); + + it('should have access to request headers', function() { $httpBackend.expect('POST', '/url', 'header1').respond(200); $http.post('/url', 'req', { From 8d28d65b3688a406d03de2c1be60568e53a7862c Mon Sep 17 00:00:00 2001 From: Emile Silvis Date: Fri, 14 Mar 2014 11:57:21 +0200 Subject: [PATCH 064/122] docs(guide/tutorial): make capitalization of "Angular" consistent - step_05.ngdoc - step_06.ngdoc - step_07.ngdoc - step_08.ngdoc Closes #6686 Closes #6687 Closes #6688 Closes #6689 --- docs/content/tutorial/step_05.ngdoc | 14 +++++++------- docs/content/tutorial/step_06.ngdoc | 2 +- docs/content/tutorial/step_07.ngdoc | 2 +- docs/content/tutorial/step_08.ngdoc | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/content/tutorial/step_05.ngdoc b/docs/content/tutorial/step_05.ngdoc index 8291eeb85992..e37de7a7f089 100644 --- a/docs/content/tutorial/step_05.ngdoc +++ b/docs/content/tutorial/step_05.ngdoc @@ -20,7 +20,7 @@ You should now see a list of 20 phones. The most important changes are listed below. You can see the full diff on [GitHub](https://github.com/angular/angular-phonecat/compare/step-4...step-5): ## Data - +a The `app/phones/phones.json` file in your project is a dataset that contains a larger list of phones stored in the JSON format. @@ -44,7 +44,7 @@ Following is a sample of the file: We'll use Angular's {@link ng.$http $http} service in our controller to make an HTTP request to your web server to fetch the data in the `app/phones/phones.json` file. `$http` is just -one of several built-in {@link guide/dev_guide.services angular services} that handle common operations +one of several built-in {@link guide/dev_guide.services Angular services} that handle common operations in web apps. Angular injects these services for you where you need them. Services are managed by Angular's {@link guide/di DI subsystem}. Dependency injection @@ -74,10 +74,10 @@ tutorial.) The `$http` service returns a {@link ng.$q promise object} with a `success` method. We call this method to handle the asynchronous response and assign the phone data to the -scope controlled by this controller, as a model called `phones`. Notice that angular detected the +scope controlled by this controller, as a model called `phones`. Notice that Angular detected the json response and parsed it for us! -To use a service in angular, you simply declare the names of the dependencies you need as arguments +To use a service in Angular, you simply declare the names of the dependencies you need as arguments to the controller's constructor function, as follows: phonecatApp.controller('PhoneListCtrl', function ($scope, $http) {...} @@ -96,7 +96,7 @@ dependencies. ### `$` Prefix Naming Convention You can create your own services, and in fact we will do exactly that in step 11. As a naming -convention, angular's built-in services, Scope methods and a few other Angular APIs have a `$` +convention, Angular's built-in services, Scope methods and a few other Angular APIs have a `$` prefix in front of the name. The `$` prefix is there to namespace Angular-provided services. @@ -167,7 +167,7 @@ __`test/unit/controllersSpec.js`:__ Because we started using dependency injection and our controller has dependencies, constructing the controller in our tests is a bit more complicated. We could use the `new` operator and provide the constructor with some kind of fake `$http` implementation. However, the recommended (and easier) way -is to create a controller in the test environment in the same way that angular does it in the +is to create a controller in the test environment in the same way that Angular does it in the production code behind the scenes, as follows: ```js @@ -269,7 +269,7 @@ to the first 5 in the list. Use the following code in the `$http` callback: # Summary -Now that you have learned how easy it is to use angular services (thanks to Angular's dependency +Now that you have learned how easy it is to use Angular services (thanks to Angular's dependency injection), go to {@link step_06 step 6}, where you will add some thumbnail images of phones and some links. diff --git a/docs/content/tutorial/step_06.ngdoc b/docs/content/tutorial/step_06.ngdoc index 04c19f663fc6..61586c79e4ca 100644 --- a/docs/content/tutorial/step_06.ngdoc +++ b/docs/content/tutorial/step_06.ngdoc @@ -63,7 +63,7 @@ the element attribute. We also added phone images next to each record using an image tag with the {@link ng.directive:ngSrc ngSrc} directive. That directive prevents the -browser from treating the angular `{{ expression }}` markup literally, and initiating a request to +browser from treating the Angular `{{ expression }}` markup literally, and initiating a request to invalid url `http://localhost:8000/app/{{phone.imageUrl}}`, which it would have done if we had only specified an attribute binding in a regular `src` attribute (``). Using the `ngSrc` directive prevents the browser from making an http request to an invalid location. diff --git a/docs/content/tutorial/step_07.ngdoc b/docs/content/tutorial/step_07.ngdoc index 4c45f2d4b273..f6fdac5c0a51 100644 --- a/docs/content/tutorial/step_07.ngdoc +++ b/docs/content/tutorial/step_07.ngdoc @@ -114,7 +114,7 @@ Our application routes are defined as follows: view, Angular will use the `phone-list.html` template and the `PhoneListCtrl` controller. * The phone details view will be shown when the URL hash fragment matches '/phone/:phoneId', where -`:phoneId` is a variable part of the URL. To construct the phone details view, angular will use the +`:phoneId` is a variable part of the URL. To construct the phone details view, Angular will use the `phone-detail.html` template and the `PhoneDetailCtrl` controller. We reused the `PhoneListCtrl` controller that we constructed in previous steps and we added a new, diff --git a/docs/content/tutorial/step_08.ngdoc b/docs/content/tutorial/step_08.ngdoc index ed085731d909..f432df74c512 100644 --- a/docs/content/tutorial/step_08.ngdoc +++ b/docs/content/tutorial/step_08.ngdoc @@ -79,7 +79,7 @@ route by the `$route` service. ## Template The TBD placeholder line has been replaced with lists and bindings that comprise the phone details. -Note where we use the angular `{{expression}}` markup and `ngRepeat` to project phone data from +Note where we use the Angular `{{expression}}` markup and `ngRepeat` to project phone data from our model into the view. From 1b46a7dcdf00efd9e1b83eec7a6d873ad5d6d30e Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 18 Mar 2014 07:11:59 +0000 Subject: [PATCH 065/122] chore(version-info): previousVersions should not return `undefined` Closes #6702 --- lib/versions/version-info.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 5bf0658575ae..4f7097ba57f8 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -123,6 +123,8 @@ var getPreviousVersions = function() { }) .sort(semver.compare) .value(); + } else { + return []; } }; From c24e4e4ed5fb066e55209c2225254be62abc190c Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 18 Mar 2014 07:07:02 +0000 Subject: [PATCH 066/122] chore(package.json): update dgeni-packages dependency --- npm-shrinkwrap.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a83767c438fd..2742b1786b69 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -524,7 +524,7 @@ } }, "dgeni-packages": { - "version": "0.7.1", + "version": "0.8.1", "dependencies": { "lodash": { "version": "2.4.1" diff --git a/package.json b/package.json index 7d430529061d..ac7fab66c471 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "canonical-path": "0.0.2", "winston": "~0.7.2", "dgeni": "^0.2.2", - "dgeni-packages": "^0.7.0", + "dgeni-packages": "^0.8.1", "gulp-jshint": "~1.4.2", "jshint-stylish": "~0.1.5", "node-html-encoder": "0.0.2", From 103cb513d93109e3af37268ea176e89d4883431b Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 18 Mar 2014 07:07:36 +0000 Subject: [PATCH 067/122] docs(guide/concepts): move ng-app into example text Closes #6639 --- docs/content/guide/concepts.ngdoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/content/guide/concepts.ngdoc b/docs/content/guide/concepts.ngdoc index 63ec1bcfde4f..8d178aa7395c 100644 --- a/docs/content/guide/concepts.ngdoc +++ b/docs/content/guide/concepts.ngdoc @@ -32,9 +32,9 @@ In the following example we will build a form to calculate the costs of an invoi Let's start with input fields for quantity and cost whose values are multiplied to produce the total of the invoice: - + -
    +
    Invoice:
    Quantity: @@ -102,7 +102,7 @@ The concept behind this is "{@link databinding two-way dat Let's add some more logic to the example that allows us to enter and calculate the costs in different currencies and also pay the invoice. - + angular.module('invoice1', []) .controller('InvoiceController', function() { @@ -128,7 +128,7 @@ different currencies and also pay the invoice. }); -
    +
    Invoice:
    Quantity: @@ -191,7 +191,7 @@ from the web, e.g. by calling the Yahoo Finance API, without changing the contro Let's refactor our example and move the currency conversion into a service in another file: - + angular.module('finance2', []) .factory('currencyConverter', function() { @@ -228,7 +228,7 @@ Let's refactor our example and move the currency conversion into a service in an }]); -
    +
    Invoice:
    Quantity: @@ -302,7 +302,7 @@ to something shorter like `a`. Let's finish our example by fetching the exchange rates from the Yahoo Finance API. The following example shows how this is done with Angular: - + angular.module('invoice3', ['finance3']) .controller('InvoiceController', ['currencyConverter', function(currencyConverter) { @@ -356,7 +356,7 @@ The following example shows how this is done with Angular: }]); -
    +
    Invoice:
    Quantity: From 922cb7e42f1ff6c3f39342b96be472048ad9cb25 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 17 Mar 2014 15:50:24 -0700 Subject: [PATCH 068/122] chore(log): add `log.empty()` method to the testing logger `log.empty()` is the same as `log.reset()`, except thati `empty()` also returns the current array with messages instead of: ``` // do work expect(log).toEqual(['bar']); log.reset(); ``` do: ``` // do work expect(log.empty()).toEqual(['bar']); ``` --- test/helpers/testabilityPatch.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/test/helpers/testabilityPatch.js b/test/helpers/testabilityPatch.js index f61be4eeb13f..34b6b78a0141 100644 --- a/test/helpers/testabilityPatch.js +++ b/test/helpers/testabilityPatch.js @@ -269,21 +269,27 @@ function provideLog($provide) { log.toString = function() { return messages.join('; '); - } + }; log.toArray = function() { return messages; - } + }; log.reset = function() { messages = []; + }; + + log.empty = function() { + var currentMessages = messages; + messages = []; + return currentMessages; } log.fn = function(msg) { return function() { log(msg); - } - } + }; + }; log.$$log = true; From 3dd9572754c7bafec30dd625f5c611346959c969 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 17 Mar 2014 15:48:09 -0700 Subject: [PATCH 069/122] fix(Scope): $watchCollection should call listener with oldValue Originally we destroyed the oldValue by incrementaly copying over portions of the newValue into the oldValue during dirty-checking, this resulted in oldValue to be equal to newValue by the time we called the watchCollection listener. The fix creates a copy of the newValue each time a change is detected and then uses that copy *the next time* a change is detected. To make `$watchCollection` behave the same way as `$watch`, during the first iteration the listener is called with newValue and oldValue being identical. Since many of the corner-cases are already covered by existing tests, I refactored the test logging to include oldValue and made the tests more readable. Closes #2621 Closes #5661 Closes #5688 Closes #6736 --- src/ng/rootScope.js | 51 +++++++++++++++--- test/ng/rootScopeSpec.js | 114 ++++++++++++++++++++++++++------------- 2 files changed, 119 insertions(+), 46 deletions(-) diff --git a/src/ng/rootScope.js b/src/ng/rootScope.js index 2bb965bb7b6f..ce0f8ad54cb3 100644 --- a/src/ng/rootScope.js +++ b/src/ng/rootScope.js @@ -398,30 +398,40 @@ function $RootScopeProvider(){ * {@link ng.$rootScope.Scope#$digest $digest} cycle. Any shallow change within the * collection will trigger a call to the `listener`. * - * @param {function(newCollection, oldCollection, scope)} listener a callback function that is - * fired with both the `newCollection` and `oldCollection` as parameters. - * The `newCollection` object is the newly modified data obtained from the `obj` expression - * and the `oldCollection` object is a copy of the former collection data. - * The `scope` refers to the current scope. + * @param {function(newCollection, oldCollection, scope)} listener a callback function called + * when a change is detected. + * - The `newCollection` object is the newly modified data obtained from the `obj` expression + * - The `oldCollection` object is a copy of the former collection data. + * Due to performance considerations, the`oldCollection` value is computed only if the + * `listener` function declares two or more arguments. + * - The `scope` argument refers to the current scope. * * @returns {function()} Returns a de-registration function for this listener. When the * de-registration function is executed, the internal watch operation is terminated. */ $watchCollection: function(obj, listener) { var self = this; - var oldValue; + // the current value, updated on each dirty-check run var newValue; + // a shallow copy of the newValue from the last dirty-check run, + // updated to match newValue during dirty-check run + var oldValue; + // a shallow copy of the newValue from when the last change happened + var veryOldValue; + // only track veryOldValue if the listener is asking for it + var trackVeryOldValue = (listener.length > 1); var changeDetected = 0; var objGetter = $parse(obj); var internalArray = []; var internalObject = {}; + var initRun = true; var oldLength = 0; function $watchCollectionWatch() { newValue = objGetter(self); var newLength, key; - if (!isObject(newValue)) { + if (!isObject(newValue)) { // if primitive if (oldValue !== newValue) { oldValue = newValue; changeDetected++; @@ -487,7 +497,32 @@ function $RootScopeProvider(){ } function $watchCollectionAction() { - listener(newValue, oldValue, self); + if (initRun) { + initRun = false; + listener(newValue, newValue, self); + } else { + listener(newValue, veryOldValue, self); + } + + // make a copy for the next time a collection is changed + if (trackVeryOldValue) { + if (!isObject(newValue)) { + //primitive + veryOldValue = newValue; + } else if (isArrayLike(newValue)) { + veryOldValue = new Array(newValue.length); + for (var i = 0; i < newValue.length; i++) { + veryOldValue[i] = newValue[i]; + } + } else { // if object + veryOldValue = {}; + for (var key in newValue) { + if (hasOwnProperty.call(newValue, key)) { + veryOldValue[key] = newValue[key]; + } + } + } + } } return this.$watch($watchCollectionWatch, $watchCollectionAction); diff --git a/test/ng/rootScopeSpec.js b/test/ng/rootScopeSpec.js index f9cf9412c605..251a8ce882c4 100644 --- a/test/ng/rootScopeSpec.js +++ b/test/ng/rootScopeSpec.js @@ -483,104 +483,127 @@ describe('Scope', function() { describe('$watchCollection', function() { var log, $rootScope, deregister; - beforeEach(inject(function(_$rootScope_) { - log = []; + beforeEach(inject(function(_$rootScope_, _log_) { $rootScope = _$rootScope_; - deregister = $rootScope.$watchCollection('obj', function logger(obj) { - log.push(toJson(obj)); + log = _log_; + deregister = $rootScope.$watchCollection('obj', function logger(newVal, oldVal) { + var msg = {newVal: newVal, oldVal: oldVal}; + + if (newVal === oldVal) { + msg.identical = true; + } + + log(msg); }); })); it('should not trigger if nothing change', inject(function($rootScope) { $rootScope.$digest(); - expect(log).toEqual([undefined]); + expect(log).toEqual([{ newVal : undefined, oldVal : undefined, identical : true }]); + log.reset(); $rootScope.$digest(); - expect(log).toEqual([undefined]); + expect(log).toEqual([]); })); - it('should allow deregistration', inject(function($rootScope) { + it('should allow deregistration', function() { $rootScope.obj = []; $rootScope.$digest(); - - expect(log).toEqual(['[]']); + expect(log.toArray().length).toBe(1); + log.reset(); $rootScope.obj.push('a'); deregister(); $rootScope.$digest(); - expect(log).toEqual(['[]']); - })); + expect(log).toEqual([]); + }); describe('array', function() { + + it('should return oldCollection === newCollection only on the first listener call', + inject(function($rootScope, log) { + + // first time should be identical + $rootScope.obj = ['a', 'b']; + $rootScope.$digest(); + expect(log).toEqual([{newVal: ['a', 'b'], oldVal: ['a', 'b'], identical: true}]); + log.reset(); + + // second time should be different + $rootScope.obj[1] = 'c'; + $rootScope.$digest(); + expect(log).toEqual([{newVal: ['a', 'c'], oldVal: ['a', 'b']}]); + })); + + it('should trigger when property changes into array', function() { $rootScope.obj = 'test'; $rootScope.$digest(); - expect(log).toEqual(['"test"']); + expect(log.empty()).toEqual([{newVal: "test", oldVal: "test", identical: true}]); $rootScope.obj = []; $rootScope.$digest(); - expect(log).toEqual(['"test"', '[]']); + expect(log.empty()).toEqual([{newVal: [], oldVal: "test"}]); $rootScope.obj = {}; $rootScope.$digest(); - expect(log).toEqual(['"test"', '[]', '{}']); + expect(log.empty()).toEqual([{newVal: {}, oldVal: []}]); $rootScope.obj = []; $rootScope.$digest(); - expect(log).toEqual(['"test"', '[]', '{}', '[]']); + expect(log.empty()).toEqual([{newVal: [], oldVal: {}}]); $rootScope.obj = undefined; $rootScope.$digest(); - expect(log).toEqual(['"test"', '[]', '{}', '[]', undefined]); + expect(log.empty()).toEqual([{newVal: undefined, oldVal: []}]); }); it('should not trigger change when object in collection changes', function() { $rootScope.obj = [{}]; $rootScope.$digest(); - expect(log).toEqual(['[{}]']); + expect(log.empty()).toEqual([{newVal: [{}], oldVal: [{}], identical: true}]); $rootScope.obj[0].name = 'foo'; $rootScope.$digest(); - expect(log).toEqual(['[{}]']); + expect(log).toEqual([]); }); it('should watch array properties', function() { $rootScope.obj = []; $rootScope.$digest(); - expect(log).toEqual(['[]']); + expect(log.empty()).toEqual([{newVal: [], oldVal: [], identical: true}]); $rootScope.obj.push('a'); $rootScope.$digest(); - expect(log).toEqual(['[]', '["a"]']); + expect(log.empty()).toEqual([{newVal: ['a'], oldVal: []}]); $rootScope.obj[0] = 'b'; $rootScope.$digest(); - expect(log).toEqual(['[]', '["a"]', '["b"]']); + expect(log.empty()).toEqual([{newVal: ['b'], oldVal: ['a']}]); $rootScope.obj.push([]); $rootScope.obj.push({}); - log = []; $rootScope.$digest(); - expect(log).toEqual(['["b",[],{}]']); + expect(log.empty()).toEqual([{newVal: ['b', [], {}], oldVal: ['b']}]); var temp = $rootScope.obj[1]; $rootScope.obj[1] = $rootScope.obj[2]; $rootScope.obj[2] = temp; $rootScope.$digest(); - expect(log).toEqual([ '["b",[],{}]', '["b",{},[]]' ]); + expect(log.empty()).toEqual([{newVal: ['b', {}, []], oldVal: ['b', [], {}]}]); $rootScope.obj.shift(); - log = []; $rootScope.$digest(); - expect(log).toEqual([ '[{},[]]' ]); + expect(log.empty()).toEqual([{newVal: [{}, []], oldVal: ['b', {}, []]}]); }); + it('should watch array-like objects like arrays', function () { var arrayLikelog = []; $rootScope.$watchCollection('arrayLikeObject', function logger(obj) { @@ -601,57 +624,72 @@ describe('Scope', function() { describe('object', function() { + + it('should return oldCollection === newCollection only on the first listener call', + inject(function($rootScope, log) { + + $rootScope.obj = {'a': 'b'}; + // first time should be identical + $rootScope.$digest(); + expect(log.empty()).toEqual([{newVal: {'a': 'b'}, oldVal: {'a': 'b'}, identical: true}]); + + // second time not identical + $rootScope.obj.a = 'c'; + $rootScope.$digest(); + expect(log).toEqual([{newVal: {'a': 'c'}, oldVal: {'a': 'b'}}]); + })); + + it('should trigger when property changes into object', function() { $rootScope.obj = 'test'; $rootScope.$digest(); - expect(log).toEqual(['"test"']); + expect(log.empty()).toEqual([{newVal: 'test', oldVal: 'test', identical: true}]); $rootScope.obj = {}; $rootScope.$digest(); - expect(log).toEqual(['"test"', '{}']); + expect(log.empty()).toEqual([{newVal: {}, oldVal: 'test'}]); }); it('should not trigger change when object in collection changes', function() { $rootScope.obj = {name: {}}; $rootScope.$digest(); - expect(log).toEqual(['{"name":{}}']); + expect(log.empty()).toEqual([{newVal: {name: {}}, oldVal: {name: {}}, identical: true}]); $rootScope.obj.name.bar = 'foo'; $rootScope.$digest(); - expect(log).toEqual(['{"name":{}}']); + expect(log.empty()).toEqual([]); }); it('should watch object properties', function() { $rootScope.obj = {}; $rootScope.$digest(); - expect(log).toEqual(['{}']); + expect(log.empty()).toEqual([{newVal: {}, oldVal: {}, identical: true}]); $rootScope.obj.a= 'A'; $rootScope.$digest(); - expect(log).toEqual(['{}', '{"a":"A"}']); + expect(log.empty()).toEqual([{newVal: {a: 'A'}, oldVal: {}}]); $rootScope.obj.a = 'B'; $rootScope.$digest(); - expect(log).toEqual(['{}', '{"a":"A"}', '{"a":"B"}']); + expect(log.empty()).toEqual([{newVal: {a: 'B'}, oldVal: {a: 'A'}}]); $rootScope.obj.b = []; $rootScope.obj.c = {}; - log = []; $rootScope.$digest(); - expect(log).toEqual(['{"a":"B","b":[],"c":{}}']); + expect(log.empty()).toEqual([{newVal: {a: 'B', b: [], c: {}}, oldVal: {a: 'B'}}]); var temp = $rootScope.obj.a; $rootScope.obj.a = $rootScope.obj.b; $rootScope.obj.c = temp; $rootScope.$digest(); - expect(log).toEqual([ '{"a":"B","b":[],"c":{}}', '{"a":[],"b":[],"c":"B"}' ]); + expect(log.empty()). + toEqual([{newVal: {a: [], b: {}, c: 'B'}, oldVal: {a: 'B', b: [], c: {}}}]); delete $rootScope.obj.a; - log = []; $rootScope.$digest(); - expect(log).toEqual([ '{"b":[],"c":"B"}' ]); + expect(log.empty()).toEqual([{newVal: {b: {}, c: 'B'}, oldVal: {a: [], b: {}, c: 'B'}}]); }); }); }); From e84da2283c4e195be557f7b06c8783fe502acbbb Mon Sep 17 00:00:00 2001 From: Traxmaxx Date: Tue, 4 Mar 2014 18:54:08 +0100 Subject: [PATCH 070/122] fix($$RAFProvider): check for webkitCancelRequestAnimationFrame Android 4.3 only supports webkitCancelRequestAnimationFrame. Closes #6526 --- src/ng/raf.js | 3 ++- test/ng/rafSpec.js | 32 +++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/ng/raf.js b/src/ng/raf.js index e07adbfed5ce..bb1f47ed5e65 100644 --- a/src/ng/raf.js +++ b/src/ng/raf.js @@ -8,7 +8,8 @@ function $$RAFProvider(){ //rAF var cancelAnimationFrame = $window.cancelAnimationFrame || $window.webkitCancelAnimationFrame || - $window.mozCancelAnimationFrame; + $window.mozCancelAnimationFrame || + $window.webkitCancelRequestAnimationFrame; var rafSupported = !!requestAnimationFrame; var raf = rafSupported diff --git a/test/ng/rafSpec.js b/test/ng/rafSpec.js index 8bf76efd03b0..7c67b8c9409f 100644 --- a/test/ng/rafSpec.js +++ b/test/ng/rafSpec.js @@ -38,11 +38,8 @@ describe('$$rAF', function() { //we need to create our own injector to work around the ngMock overrides var injector = createInjector(['ng', function($provide) { $provide.value('$timeout', timeoutSpy); - $provide.decorator('$window', function($delegate) { - $delegate.requestAnimationFrame = false; - $delegate.webkitRequestAnimationFrame = false; - $delegate.mozRequestAnimationFrame = false; - return $delegate; + $provide.value('$window', { + location : window.location, }); }]); @@ -76,4 +73,29 @@ describe('$$rAF', function() { } })); }); + + describe('mobile', function() { + it('should provide a cancellation method for an older version of Android', function() { + //we need to create our own injector to work around the ngMock overrides + var injector = createInjector(['ng', function($provide) { + $provide.value('$window', { + location : window.location, + webkitRequestAnimationFrame: jasmine.createSpy('$window.webkitRequestAnimationFrame'), + webkitCancelRequestAnimationFrame: jasmine.createSpy('$window.webkitCancelRequestAnimationFrame') + }); + }]); + + var $$rAF = injector.get('$$rAF'); + var $window = injector.get('$window'); + var cancel = $$rAF(function() {}); + + expect($$rAF.supported).toBe(true); + + try { + cancel(); + } catch(e) {} + + expect($window.webkitCancelRequestAnimationFrame).toHaveBeenCalled(); + }); + }); }); From d4ac25496aaace2b85aa9f5e5232e5eabeb40c63 Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Tue, 18 Mar 2014 15:36:00 +1100 Subject: [PATCH 071/122] test(ngMock): workaround issue with negative timestamps In some specific timezones and operating systems, it seems that getTimezoneOffset() can return an incorrect value for negative timestamps, as described in #5017. While this isn't something easily fixed in the mock code, the tests can avoid that particular timeframe by using a positive timestamp. Closes #5017 Closes #6730 --- test/ngMock/angular-mocksSpec.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/ngMock/angular-mocksSpec.js b/test/ngMock/angular-mocksSpec.js index c2b6108dfb33..b78e9bbf207a 100644 --- a/test/ngMock/angular-mocksSpec.js +++ b/test/ngMock/angular-mocksSpec.js @@ -52,16 +52,19 @@ describe('ngMock', function() { it('should fake getHours method', function() { - //0 in -3h - var t0 = new angular.mock.TzDate(-3, 0); + // avoid going negative due to #5017, so use Jan 2, 1970 00:00 UTC + var jan2 = 24 * 60 * 60 * 1000; + + //0:00 in -3h + var t0 = new angular.mock.TzDate(-3, jan2); expect(t0.getHours()).toBe(3); - //0 in +0h - var t1 = new angular.mock.TzDate(0, 0); + //0:00 in +0h + var t1 = new angular.mock.TzDate(0, jan2); expect(t1.getHours()).toBe(0); - //0 in +3h - var t2 = new angular.mock.TzDate(3, 0); + //0:00 in +3h + var t2 = new angular.mock.TzDate(3, jan2); expect(t2.getHours()).toMatch(21); }); From 83f37d78ba2c948b717dac5635bb2eec43574bd0 Mon Sep 17 00:00:00 2001 From: Chirayu Krishnappa Date: Thu, 13 Mar 2014 17:42:43 -0700 Subject: [PATCH 072/122] fix(version-info): explicitly specify the remote `git ls-remote --tags` assumes that you have a remote set up for your current branch. That isn't the case, at least for me, when I'm working on local branches. `grunt write` doesn't do the right thing in that case (`git ls-remote --tags` bails out and the silent: true param makes this a pain to debug.) Prefer explicit to implicit. Closes #6678. --- lib/versions/version-info.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 4f7097ba57f8..70901fb7084d 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -103,7 +103,9 @@ var getPreviousVersions = function() { // always use the remote tags as the local clone might // not contain all commits when cloned with git clone --depth=... // Needed e.g. for Travis - var tagResults = shell.exec('git ls-remote --tags | grep -o -e "v[0-9].*[0-9]$"', {silent: true}); + var repo_url = currentPackage.repository.url; + var tagResults = shell.exec('git ls-remote --tags ' + repo_url + ' | grep -o -e "v[0-9].*[0-9]$"', + {silent: true}); if ( tagResults.code === 0 ) { return _(tagResults.output.trim().split('\n')) .map(function(tag) { @@ -174,6 +176,6 @@ var getSnapshotVersion = function() { exports.currentPackage = currentPackage = getPackage(); +exports.gitRepoInfo = gitRepoInfo = getGitRepoInfo(); exports.previousVersions = previousVersions = getPreviousVersions(); exports.currentVersion = getTaggedVersion() || getSnapshotVersion(); -exports.gitRepoInfo = getGitRepoInfo(); From 1da4e8938598b22373c8a252c7dc1f7e2334ed3f Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 14 Mar 2014 14:24:21 -0700 Subject: [PATCH 073/122] chore(scripts): make the release script more flexible Now the SHA can be short/long, whateva. --- scripts/jenkins/release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh index 8c1e46bc09b0..bb512f7030bb 100755 --- a/scripts/jenkins/release.sh +++ b/scripts/jenkins/release.sh @@ -23,7 +23,7 @@ ARG_DEFS=( ) function init { - if [[ $(git rev-parse --short HEAD) != $COMMIT_SHA ]]; then + if [[ $(git rev-parse HEAD) != $(git rev-parse $COMMIT_SHA) ]]; then echo "HEAD is not at $COMMIT_SHA" usage fi From 505ead7e587c94e425634ff6bb97530ad25e7da3 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 14 Mar 2014 14:24:43 -0700 Subject: [PATCH 074/122] chore(scripts): test seed and phonecat during a release --- scripts/jenkins/release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh index bb512f7030bb..c02f253faaea 100755 --- a/scripts/jenkins/release.sh +++ b/scripts/jenkins/release.sh @@ -56,8 +56,8 @@ function phase { ../code.angularjs.org/publish.sh $ACTION_ARG $VERBOSE_ARG ../bower/publish.sh $ACTION_ARG $VERBOSE_ARG - ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true - ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true + ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG + ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG } function run { From 6bb17af2e383bab3cadad011fd0240c7e2800bdf Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 14 Mar 2014 14:48:56 -0700 Subject: [PATCH 075/122] chore(scripts): disable testing seed and phonecat during a release This reverts commit d5294ebfa0e762d4a891a17869b7a14f99113d5a. It turned out to be more work and I don't wanna deal with it right now. --- scripts/jenkins/release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/jenkins/release.sh b/scripts/jenkins/release.sh index c02f253faaea..bb512f7030bb 100755 --- a/scripts/jenkins/release.sh +++ b/scripts/jenkins/release.sh @@ -56,8 +56,8 @@ function phase { ../code.angularjs.org/publish.sh $ACTION_ARG $VERBOSE_ARG ../bower/publish.sh $ACTION_ARG $VERBOSE_ARG - ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG - ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG + ../angular-seed/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true + ../angular-phonecat/publish.sh $ACTION_ARG $VERBOSE_ARG --no-test=true } function run { From 1517d6d2f26225fdb3f468b42ad7dc7cabf1d962 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 14 Mar 2014 15:59:23 -0700 Subject: [PATCH 076/122] chore(scripts): fix the versions script --- lib/versions/version-info.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 70901fb7084d..9ef130f05a50 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -74,16 +74,17 @@ var getTaggedVersion = function() { var gitTagResult = shell.exec('git describe --exact-match', {silent:true}); if ( gitTagResult.code === 0 ) { - var tag = gitTagResult.output; + var tag = gitTagResult.output.trim(); var version = semver.parse(tag); - if ( version ) { - if ( version.satisfies(currentPackage.branchVersion) ) { - version.codeName = getCodeName(tag); - } + + if ( version && semver.satisfies(version, currentPackage.branchVersion)) { + version.codeName = getCodeName(tag); version.full = version.version + '+' + version.build; return version; } } + + return null; }; /** From 320f6d1214a67fa337743af1c881c837a01629f4 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 14 Mar 2014 16:26:40 -0700 Subject: [PATCH 077/122] chore(scripts): fix the versions script again --- lib/versions/version-info.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 9ef130f05a50..3ee5e261549e 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -79,7 +79,7 @@ var getTaggedVersion = function() { if ( version && semver.satisfies(version, currentPackage.branchVersion)) { version.codeName = getCodeName(tag); - version.full = version.version + '+' + version.build; + version.full = version.version; return version; } } From dc149de9364c66b988f169f67cad39577ba43434 Mon Sep 17 00:00:00 2001 From: Jeff Balboni Date: Sun, 26 Jan 2014 16:17:36 -0500 Subject: [PATCH 078/122] fix(select): avoid checking option element selected properties in render In Firefox, hovering over an option in an open select menu updates the selected property of option elements. This means that when a render is triggered by the digest cycle, and the list of options is being rendered, the selected properties are reset to the values from the model and the option hovered over changes. This fix changes the code to only use DOM elements' selected properties in a comparison when a change event has been fired. Otherwise, the internal new and existing option arrays are used. Closes #2448 Closes #5994 Closes #6769 --- src/ng/directive/select.js | 8 +++++++- test/ng/directive/selectSpec.js | 21 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/ng/directive/select.js b/src/ng/directive/select.js index 0b562cca686c..628d21776b85 100644 --- a/src/ng/directive/select.js +++ b/src/ng/directive/select.js @@ -394,6 +394,12 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) { value = valueFn(scope, locals); } } + // Update the null option's selected property here so $render cleans it up correctly + if (optionGroupsCache[0].length > 1) { + if (optionGroupsCache[0][1].id !== key) { + optionGroupsCache[0][1].selected = false; + } + } } ctrl.$setViewValue(value); }); @@ -531,7 +537,7 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) { lastElement.val(existingOption.id = option.id); } // lastElement.prop('selected') provided by jQuery has side-effects - if (lastElement[0].selected !== option.selected) { + if (existingOption.selected !== option.selected) { lastElement.prop('selected', (existingOption.selected = option.selected)); } } else { diff --git a/test/ng/directive/selectSpec.js b/test/ng/directive/selectSpec.js index 6fcd1fe05f82..d270f438704f 100644 --- a/test/ng/directive/selectSpec.js +++ b/test/ng/directive/selectSpec.js @@ -733,6 +733,27 @@ describe('select', function() { expect(sortedHtml(options[2])).toEqual(''); }); + it('should not update selected property of an option element on digest with no change event', + function() { + createSingleSelect(); + + scope.$apply(function() { + scope.values = [{name: 'A'}, {name: 'B'}, {name: 'C'}]; + scope.selected = scope.values[0]; + }); + + var options = element.find('option'); + var optionToSelect = options.eq(1); + + expect(optionToSelect.text()).toBe('B'); + + optionToSelect.prop('selected', true); + scope.$digest(); + + expect(optionToSelect.prop('selected')).toBe(true); + expect(scope.selected).toBe(scope.values[0]); + }); + describe('binding', function() { it('should bind to scope value', function() { From de07ddeac6b7cd39ffbfb8da310a7fea71861623 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Fri, 14 Mar 2014 14:35:58 +0000 Subject: [PATCH 079/122] chore(angularjs.org/publish.sh): align release script with new website Closes #6690 --- scripts/angularjs.org/publish.sh | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/scripts/angularjs.org/publish.sh b/scripts/angularjs.org/publish.sh index 1efb621b9012..3d78dc01c1ca 100755 --- a/scripts/angularjs.org/publish.sh +++ b/scripts/angularjs.org/publish.sh @@ -11,8 +11,12 @@ ARG_DEFS=( ) function init { - TMP_DIR=$(resolveDir ../../tmp) + BASE_DIR=$(resolveDir ../..) + TMP_DIR=$BASE_DIR/tmp REPO_DIR=$TMP_DIR/angularjs.org + BRANCH_PATTERN=$(readJsonProp "$BASE_DIR/package.json" "branchVersion") + BUILD_DIR=$BASE_DIR/build + NEW_VERSION=$(cat $BUILD_DIR/version.txt) } function prepare { @@ -24,18 +28,24 @@ function prepare { # echo "-- Updating angularjs.org" cd $REPO_DIR - VERSION_REGEX="[a-z0-9\-\.\+]+" + VERSION_REGEX="[-a-z0-9\.\+]+" - replaceInFile "index.html" "(ajax\/libs\/angularjs\/)$VERSION_REGEX" "\1$CDN_VERSION" - replaceInFile "index.html" "([^<]*)$VERSION_REGEX" "\1$CDN_VERSION" - replaceInFile "index.html" "(code.angularjs.org\/)$VERSION_REGEX" "\1$CDN_VERSION" + # Replace the version in the script links that reference the Google CDN + # e.g. + replaceInFile "index.html" "(http:\/\/ajax.googleapis.com\/ajax\/libs\/angularjs\/)$VERSION_REGEX" "\1$CDN_VERSION" - replaceInFile "js/homepage.js" "($scope.CURRENT_STABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION" - replaceInFile "js/homepage.js" "($scope.CURRENT_UNSTABLE_VERSION[ ]*=[ ]*')$VERSION_REGEX" "\1$CDN_VERSION" + # Replace the version in the script links that reference code.angularjs.org + # e.g. + replaceInFile "index.html" "(code\.angularjs\.org\/)$VERSION_REGEX" "\1$CDN_VERSION" + # Replace the version of the branch that we are updating + echo $BRANCH_PATTERN + echo $NEW_VERSION + replaceInFile "js/download-data.js" "branch:[ ]+'($BRANCH_PATTERN)',[ ]+version:[ ]+'$VERSION_REGEX'" "branch: '\1', version: '$NEW_VERSION'" + git add index.html - git add js/homepage.js - git commit -m "update(version): update angular version to $CDN_VERSION" + git add js/download-data.js + git commit -m "update(version): update angular version to $NEW_VERSION for branch $BRANCH_PATTERN" } function publish { From 86ab885fd960c5f48a5355c82dcf8e3bd7d1ab46 Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Thu, 20 Mar 2014 14:28:01 -0700 Subject: [PATCH 080/122] chore(release): fix angularjs.org cdn script --- scripts/angularjs.org/publish.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/angularjs.org/publish.sh b/scripts/angularjs.org/publish.sh index 3d78dc01c1ca..1e59335d57d5 100755 --- a/scripts/angularjs.org/publish.sh +++ b/scripts/angularjs.org/publish.sh @@ -16,7 +16,6 @@ function init { REPO_DIR=$TMP_DIR/angularjs.org BRANCH_PATTERN=$(readJsonProp "$BASE_DIR/package.json" "branchVersion") BUILD_DIR=$BASE_DIR/build - NEW_VERSION=$(cat $BUILD_DIR/version.txt) } function prepare { @@ -40,12 +39,12 @@ function prepare { # Replace the version of the branch that we are updating echo $BRANCH_PATTERN - echo $NEW_VERSION - replaceInFile "js/download-data.js" "branch:[ ]+'($BRANCH_PATTERN)',[ ]+version:[ ]+'$VERSION_REGEX'" "branch: '\1', version: '$NEW_VERSION'" - + echo $CDN_VERSION + replaceInFile "js/download-data.js" "branch:[ ]+'($BRANCH_PATTERN)',[ ]+version:[ ]+'$VERSION_REGEX'" "branch: '\1', version: '$CDN_VERSION'" + git add index.html git add js/download-data.js - git commit -m "update(version): update angular version to $NEW_VERSION for branch $BRANCH_PATTERN" + git commit -m "update(version): update angular version to $CDN_VERSION for branch $BRANCH_PATTERN" } function publish { From ef88a8a020864c46651add2d945c8480553ecaea Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Thu, 13 Mar 2014 16:02:02 -0700 Subject: [PATCH 081/122] chore(CHANGELOG.md): add input type date PR as breaking change Related to #6630 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4265c9bd6313..3e71d2a9df3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,9 @@ - **build:** due to [eaa1d00b](https://github.com/angular/angular.js/commit/eaa1d00b24008f590b95ad099241b4003688cdda), As communicated before, IE8 is no longer supported. +- **input:** types date, time, datetime-local, month, week now always + require a `Date` object as model ([46bd6dc8](https://github.com/angular/angular.js/commit/46bd6dc88de252886d75426efc2ce8107a5134e9), + [#5864](https://github.com/angular/angular.js/issues/5864)) For more info: http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html From eeb261bcd59d00d6f8b6b2c85abaf4452bd70fc7 Mon Sep 17 00:00:00 2001 From: Jeff Cross Date: Fri, 14 Mar 2014 14:02:35 -0700 Subject: [PATCH 082/122] chore: update changelog for 1.3.0-beta.2 --- CHANGELOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e71d2a9df3c..6f3150b0b482 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ + +# 1.3.0-beta.2 silent-ventriloquism (2014-03-14) + + +## Bug Fixes + +- **$$rAF:** always fallback to a $timeout in case native rAF isn't supported + ([7b5e0199](https://github.com/angular/angular.js/commit/7b5e019981f352add88be2984de68e553d1bfa93), + [#6654](https://github.com/angular/angular.js/issues/6654)) +- **$http:** don't convert 0 status codes to 404 for non-file protocols + ([56e73ea3](https://github.com/angular/angular.js/commit/56e73ea355c851fdfd574d6d2a9e2fcb75677945), + [#6074](https://github.com/angular/angular.js/issues/6074), [#6155](https://github.com/angular/angular.js/issues/6155)) +- **ngAnimate:** setting classNameFilter disables animation inside ng-if + ([129e2e02](https://github.com/angular/angular.js/commit/129e2e021ab1d773874428cd1fb329eae72797c4), + [#6539](https://github.com/angular/angular.js/issues/6539)) + + +## Features + +- whitelist blob urls for sanitization of data-bound image urls + ([47ab8df4](https://github.com/angular/angular.js/commit/47ab8df455df1f1391b760e1fbcc5c21645512b8), + [#4623](https://github.com/angular/angular.js/issues/4623)) + + + # 1.3.0-beta.1 retractable-eyebrow (2014-03-07) From 7b5be9ee29b1d22c6847678320d829e6f9b1518c Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Fri, 21 Mar 2014 11:16:35 -0700 Subject: [PATCH 083/122] chore(CHANGELOG.md): add changelog for 1.3.0-beta.3 --- CHANGELOG.md | 119 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 104 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f3150b0b482..cf0ff76ec4fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,92 @@ + +# 1.3.0-beta.3 emotional-waffles (2014-03-21) + + +## Bug Fixes + +- **ngAnimate:** support `webkitCancelRequestAnimationFrame` in addition to `webkitCancelAnimationFrame` + ([c839f78b](https://github.com/angular/angular.js/commit/c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1), + [#6526](https://github.com/angular/angular.js/issues/6526)) +- **$http:** allow sending Blob data using `$http` + ([b8cc71d4](https://github.com/angular/angular.js/commit/b8cc71d476f76ff51e719fb76fb2348027c858ce), + [#5012](https://github.com/angular/angular.js/issues/5012)) +- **$httpBackend:** don't error when JSONP callback is called with no parameter + ([6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), + [#4987](https://github.com/angular/angular.js/issues/4987), [#6735](https://github.com/angular/angular.js/issues/6735)) +- **$rootScope:** ng-repeat can't handle `NaN` values. #4605 + ([fb6062fb](https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c), + [#4605](https://github.com/angular/angular.js/issues/4605)) +- **$rootScope:** `$watchCollection` should call listener with old value + ([78057a94](https://github.com/angular/angular.js/commit/78057a945ef84cbb05f9417fe884cb8c28e67b44), + [#2621](https://github.com/angular/angular.js/issues/2621), [#5661](https://github.com/angular/angular.js/issues/5661), [#5688](https://github.com/angular/angular.js/issues/5688), [#6736](https://github.com/angular/angular.js/issues/6736)) +- **angular.bootstrap:** allow angular to load only once + ([748a6c8d](https://github.com/angular/angular.js/commit/748a6c8d9d8d61c3ee18eec462abe8ff245d6a98), + [#5863](https://github.com/angular/angular.js/issues/5863), [#5587](https://github.com/angular/angular.js/issues/5587)) +- **jqLite:** `inheritedData()` now traverses Shadow DOM boundaries via the `host` property of `DocumentFragment` + ([8a96f317](https://github.com/angular/angular.js/commit/8a96f317e594a5096d4fa56ceae4c685eec8ac8b), + [#6637](https://github.com/angular/angular.js/issues/6637)) +- **ngCookie:** convert non-string values to string + ([36528310](https://github.com/angular/angular.js/commit/3652831084c3788f786046b907a7361d2e89c520), + [#6151](https://github.com/angular/angular.js/issues/6151), [#6220](https://github.com/angular/angular.js/issues/6220)) +- **ngTouch:** update workaround for Webkit quirk + ([bc42950b](https://github.com/angular/angular.js/commit/bc42950b514b60f319812eeb87aae2915e394237), + [#6302](https://github.com/angular/angular.js/issues/6302)) +- **orderBy:** support string predicates containing non-ident characters + ([37bc5ef4](https://github.com/angular/angular.js/commit/37bc5ef4d87f19da47d3ab454c43d1e532c4f924), + [#6143](https://github.com/angular/angular.js/issues/6143), [#6144](https://github.com/angular/angular.js/issues/6144)) +- **select:** avoid checking option element's `selected` property in render + ([f40f54c6](https://github.com/angular/angular.js/commit/f40f54c6da4a5399fe18a89d068634bb491e9f1a), + [#2448](https://github.com/angular/angular.js/issues/2448), [#5994](https://github.com/angular/angular.js/issues/5994)) + + +## Features + +- **$compile:** add support for `$observer` deregistration + ([299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), + [#5609](https://github.com/angular/angular.js/issues/5609)) +- **ngMock.$httpBackend:** added support for function as URL matcher + ([d6cfcace](https://github.com/angular/angular.js/commit/d6cfcacee101f2738e0a224a3377232ff85f78a4), + [#4580](https://github.com/angular/angular.js/issues/4580)) + + +## Breaking Changes + +- **$compile:** due to [299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), + calling `attr.$observe` no longer returns the observer function, but a + deregistration function instead. To migrate the code follow the example below: + +Before: + + directive('directiveName', function() { + return { + link: function(scope, elm, attr) { + var observer = attr.$observe('someAttr', function(value) { + console.log(value); + }); + } + }; + }); + +After: + + directive('directiveName', function() { + return { + link: function(scope, elm, attr) { + var observer = function(value) { + console.log(value); + }; + + attr.$observe('someAttr', observer); + } + }; + }); + +- **$httpBackend:** due to [6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), the JSONP behavior for erroneous and empty responses changed: + Previously, a JSONP response was regarded as erroneous if it was empty. Now Angular is listening to the + correct events to detect errors, i.e. even empty responses can be successful. + + + # 1.3.0-beta.2 silent-ventriloquism (2014-03-14) @@ -333,26 +422,26 @@ The animation mock module has been renamed from `mock.animate` to `ngAnimateMock ## Breaking Changes - **$http:** due to [e1cfb195](https://github.com/angular/angular.js/commit/e1cfb1957feaf89408bccf48fae6f529e57a82fe), - it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object. + it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object. - To migrate your code, follow the example below: + To migrate your code, follow the example below: - Before: + Before: - // Will apply to POST, PUT and PATCH methods - $httpProvider.defaults.headers.post = { - "X-MY-CSRF-HEADER": "..." - }; + // Will apply to POST, PUT and PATCH methods + $httpProvider.defaults.headers.post = { + "X-MY-CSRF-HEADER": "..." + }; - After: + After: - // POST, PUT and PATCH default headers must be specified separately, - // as they do not share data. - $httpProvider.defaults.headers.post = - $httpProvider.defaults.headers.put = - $httpProviders.defaults.headers.patch = { - "X-MY-CSRF-HEADER": "..." - }; + // POST, PUT and PATCH default headers must be specified separately, + // as they do not share data. + $httpProvider.defaults.headers.post = + $httpProvider.defaults.headers.put = + $httpProviders.defaults.headers.patch = { + "X-MY-CSRF-HEADER": "..." + }; # 1.2.8 interdimensional-cartography (2014-01-10) From 4b291866965ec7768ed8985283d3003ea9cb9843 Mon Sep 17 00:00:00 2001 From: Brian Andersen Date: Mon, 17 Mar 2014 17:14:55 +0100 Subject: [PATCH 084/122] docs(tutorial): fix broken link On page http://docs.angularjs.org/tutorial/step_05 link is broken. Should point to http://docs.angularjs.org/guide/services NOT http://docs.angularjs.org/guide/dev_guide.services Closes #6714 --- docs/content/tutorial/step_05.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/tutorial/step_05.ngdoc b/docs/content/tutorial/step_05.ngdoc index e37de7a7f089..17941cd14e14 100644 --- a/docs/content/tutorial/step_05.ngdoc +++ b/docs/content/tutorial/step_05.ngdoc @@ -44,7 +44,7 @@ Following is a sample of the file: We'll use Angular's {@link ng.$http $http} service in our controller to make an HTTP request to your web server to fetch the data in the `app/phones/phones.json` file. `$http` is just -one of several built-in {@link guide/dev_guide.services Angular services} that handle common operations +one of several built-in {@link guide/services Angular services} that handle common operations in web apps. Angular injects these services for you where you need them. Services are managed by Angular's {@link guide/di DI subsystem}. Dependency injection From 770fd5a91796a904ebce10b69d9518b320883170 Mon Sep 17 00:00:00 2001 From: Caitlin Potter Date: Mon, 17 Mar 2014 00:03:20 -0400 Subject: [PATCH 085/122] docs(misc/contribute): make anchor links work properly Closes #6706 --- docs/content/misc/contribute.ngdoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/content/misc/contribute.ngdoc b/docs/content/misc/contribute.ngdoc index 9adeeee45a43..dd0a75f38983 100644 --- a/docs/content/misc/contribute.ngdoc +++ b/docs/content/misc/contribute.ngdoc @@ -11,12 +11,12 @@ See the [contributing guidelines](https://github.com/angular/angular.js/blob/mas for how to contribute your own code to AngularJS. -1. {@link #building-and-testing-angularjs_installing-dependencies Installing Dependencies} -2. {@link #building-and-testing-angularjs_forking-angular-on-github Forking Angular on Github} -3. {@link #building-and-testing-angularjs_building-angularjs Building AngularJS} -4. {@link #building-and-testing-angularjs_running-a-local-development-web-server Running a Local Development Web Server} -5. {@link #building-and-testing-angularjs_running-the-unit-test-suite Running the Unit Test Suite} -6. {@link #building-and-testing-angularjs_running-the-end-to-end-test-suite Running the End-to-end Test Suite} +1. {@link misc/contribute#installing-dependencies Installing Dependencies} +2. {@link misc/contribute#forking-angular-on-github Forking Angular on Github} +3. {@link misc/contribute#building-angularjs Building AngularJS} +4. {@link misc/contribute#running-a-local-development-web-server Running a Local Development Web Server} +5. {@link misc/contribute#running-the-unit-test-suite Running the Unit Test Suite} +6. {@link misc/contribute#running-the-end-to-end-test-suite Running the End-to-end Test Suite} ## Installing Dependencies From 5b93e5fcfc605add03fa4d49ffef0743c1ad3405 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Mon, 17 Mar 2014 10:00:36 +0000 Subject: [PATCH 086/122] chore(shrinkwrap): grunt-jasmine-node is retrieved from github --- npm-shrinkwrap.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 2742b1786b69..726784e87224 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -864,7 +864,9 @@ "version": "0.0.4" }, "grunt-jasmine-node": { - "version": "0.1.0" + "version": "0.1.0", + "from": "git://github.com/vojtajina/grunt-jasmine-node.git#fix-grunt-exit-code", + "resolved": "git://github.com/vojtajina/grunt-jasmine-node.git#ced17cbe52c1412b2ada53160432a5b681f37cd7" }, "grunt-jscs-checker": { "version": "0.4.0", From 1f2750136e4a6356819a12a444536120d04865e2 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Mon, 17 Mar 2014 12:43:10 +0000 Subject: [PATCH 087/122] docs(runnableExamples): add "edit in Plunker" button The "runnableExample.template.html" template overrides the one in the dgeni-packages "examples" package with a similar template that also has a link to a special Plunker URL that can pull in the example from our code.angularjs.org website. --- docs/app/src/docs.js | 2 ++ .../templates/runnableExample.template.html | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 docs/config/templates/runnableExample.template.html diff --git a/docs/app/src/docs.js b/docs/app/src/docs.js index 74d78136fc15..5c6a76d4e29c 100644 --- a/docs/app/src/docs.js +++ b/docs/app/src/docs.js @@ -2,6 +2,8 @@ angular.module('DocsController', []) .controller('DocsController', function($scope, $rootScope, $location, $window, $cookies, NG_PAGES, NG_NAVIGATION, NG_VERSION) { + $scope.docsVersion = NG_VERSION.isSnapshot ? 'snapshot' : NG_VERSION.version; + $scope.fold = function(url) { if(url) { $scope.docs_fold = '/notes/' + url; diff --git a/docs/config/templates/runnableExample.template.html b/docs/config/templates/runnableExample.template.html new file mode 100644 index 000000000000..4fe2a38f9f64 --- /dev/null +++ b/docs/config/templates/runnableExample.template.html @@ -0,0 +1,27 @@ +{# Be aware that we need these extra new lines here or marked will not realise that the
    + is HTML and wrap each line in a

    - thus breaking the HTML #} + +

    + +   + Edit in Plunker +
    + + {% for fileName, file in doc.example.files %} +
    + {% code -%} + {$ file.fileContents $} + {%- endcode %} +
    + {% endfor %} + + +
    +
    + +{# Be aware that we need these extra new lines here or marked will not realise that the
    + above is HTML and wrap each line in a

    - thus breaking the HTML #} \ No newline at end of file From 78bc84c497225ae38d615cdf587a12fbd04c71b4 Mon Sep 17 00:00:00 2001 From: Denis Parchenko Date: Mon, 17 Mar 2014 12:37:57 +0200 Subject: [PATCH 088/122] docs(guide/module): remove duplicate word Closes #6709 --- docs/content/guide/module.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/guide/module.ngdoc b/docs/content/guide/module.ngdoc index e2925584eacf..2d0a795deb79 100644 --- a/docs/content/guide/module.ngdoc +++ b/docs/content/guide/module.ngdoc @@ -172,7 +172,7 @@ angular.module('myModule', []).

    When bootstrapping, first Angular applies all constant definitions. -Then Angular applies configuration blocks in the order same order they were registered. +Then Angular applies configuration blocks in the same order they were registered.
    ## Run Blocks From cad307fa1f64bbbaaec752992bca84e85955fbc4 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Mon, 17 Mar 2014 10:35:21 -0700 Subject: [PATCH 089/122] docs(triaging): correct information about milestones --- TRIAGING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/TRIAGING.md b/TRIAGING.md index 08641f845252..1f1060f65bac 100644 --- a/TRIAGING.md +++ b/TRIAGING.md @@ -61,9 +61,9 @@ This process based on the idea of minimizing user pain 1. Label `origin: google` for issues from Google 1. Assign a milestone: - * Current 1.x.y milestone - regressions and urgent bugs only - * Backlog - fixes; changes that should go into a patch release - * Ice Box - new features; changes that belong inß a major/minor release + * Backlog - triaged fixes and features, should be the default choice + * Current 1.x.y milestone (e.g. 1.3.0-beta-2) - regressions and urgent bugs only + 1. Unassign yourself from the issue From 39635fd0d7c21753fe754aa92b3c4352270064da Mon Sep 17 00:00:00 2001 From: bradwheel Date: Sat, 8 Mar 2014 20:23:31 -0500 Subject: [PATCH 090/122] docs(ngRoute): remove global controller syntax in the example --- src/ngRoute/route.js | 49 +++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/src/ngRoute/route.js b/src/ngRoute/route.js index 1319dd02cf7a..0f302e37b080 100644 --- a/src/ngRoute/route.js +++ b/src/ngRoute/route.js @@ -271,7 +271,7 @@ function $RouteProvider(){ * * - *
    + *
    * Choose: * Moby | * Moby: Ch1 | @@ -280,6 +280,7 @@ function $RouteProvider(){ * Scarlet Letter
    * *
    + * *
    * *
    $location.path() = {{$location.path()}}
    @@ -304,10 +305,27 @@ function $RouteProvider(){ * * angular.module('ngRouteExample', ['ngRoute']) * + * .controller('MainController', function($scope, $route, $routeParams, $location) { + * $scope.$route = $route; + * $scope.$location = $location; + * $scope.$routeParams = $routeParams; + * }) + * + * .controller('BookController', function($scope, $routeParams) { + * $scope.name = "BookController"; + * $scope.params = $routeParams; + * }) + * + * .controller('ChapterController', function($scope, $routeParams) { + * $scope.name = "ChapterController"; + * $scope.params = $routeParams; + * }) + * * .config(function($routeProvider, $locationProvider) { - * $routeProvider.when('/Book/:bookId', { + * $routeProvider + * .when('/Book/:bookId', { * templateUrl: 'book.html', - * controller: BookCntl, + * controller: 'BookController', * resolve: { * // I will cause a 1 second delay * delay: function($q, $timeout) { @@ -316,45 +334,30 @@ function $RouteProvider(){ * return delay.promise; * } * } - * }); - * $routeProvider.when('/Book/:bookId/ch/:chapterId', { + * }) + * .when('/Book/:bookId/ch/:chapterId', { * templateUrl: 'chapter.html', - * controller: ChapterCntl + * controller: 'ChapterController' * }); * * // configure html5 to get links working on jsfiddle * $locationProvider.html5Mode(true); * }); * - * function MainCntl($scope, $route, $routeParams, $location) { - * $scope.$route = $route; - * $scope.$location = $location; - * $scope.$routeParams = $routeParams; - * } - * - * function BookCntl($scope, $routeParams) { - * $scope.name = "BookCntl"; - * $scope.params = $routeParams; - * } - * - * function ChapterCntl($scope, $routeParams) { - * $scope.name = "ChapterCntl"; - * $scope.params = $routeParams; - * } * * * * it('should load and compile correct template', function() { * element(by.linkText('Moby: Ch1')).click(); * var content = element(by.css('[ng-view]')).getText(); - * expect(content).toMatch(/controller\: ChapterCntl/); + * expect(content).toMatch(/controller\: ChapterController/); * expect(content).toMatch(/Book Id\: Moby/); * expect(content).toMatch(/Chapter Id\: 1/); * * element(by.partialLinkText('Scarlet')).click(); * * content = element(by.css('[ng-view]')).getText(); - * expect(content).toMatch(/controller\: BookCntl/); + * expect(content).toMatch(/controller\: BookController/); * expect(content).toMatch(/Book Id\: Scarlet/); * }); * From 9226b3657203ea44d25507370c98d9aee5a3e018 Mon Sep 17 00:00:00 2001 From: linclark Date: Thu, 13 Mar 2014 18:50:42 -0700 Subject: [PATCH 091/122] docs($http): update shortcut method description Update docs to reflect that $http no longer requires passing in an HTTP method, as changed in #6401. --- src/ng/http.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ng/http.js b/src/ng/http.js index c7dc64e2c4fd..9fcb45782f87 100644 --- a/src/ng/http.js +++ b/src/ng/http.js @@ -236,9 +236,8 @@ function $HttpProvider() { * * # Shortcut methods * - * Since all invocations of the $http service require passing in an HTTP method and URL, and - * POST/PUT requests require request data to be provided as well, shortcut methods - * were created: + * Shortcut methods are also available. All shortcut methods require passing in the URL, and + * request data must be passed in for POST/PUT requests. * * ```js * $http.get('/someUrl').success(successCallback); From 57b0d91fd88982ddcc002f038426685e85ce04b2 Mon Sep 17 00:00:00 2001 From: Mark Jones Date: Sat, 8 Mar 2014 13:15:37 -0600 Subject: [PATCH 092/122] docs(ngInclude): make the quote type explicit --- src/ng/directive/ngInclude.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ng/directive/ngInclude.js b/src/ng/directive/ngInclude.js index a41b78b20c4c..38a9e00568b4 100644 --- a/src/ng/directive/ngInclude.js +++ b/src/ng/directive/ngInclude.js @@ -32,7 +32,7 @@ * @priority 400 * * @param {string} ngInclude|src angular expression evaluating to URL. If the source is a string constant, - * make sure you wrap it in quotes, e.g. `src="'myPartialTemplate.html'"`. + * make sure you wrap it in **single** quotes, e.g. `src="'myPartialTemplate.html'"`. * @param {string=} onload Expression to evaluate when a new partial is loaded. * * @param {string=} autoscroll Whether `ngInclude` should call {@link ng.$anchorScroll From 98d825e10d3bf76f47e69abba857a8933c8cb7d9 Mon Sep 17 00:00:00 2001 From: Caitlin Potter Date: Mon, 10 Mar 2014 19:32:09 -0400 Subject: [PATCH 093/122] fix(jqLite): traverse `host` property for DocumentFragment in inheritedData() If dealing with a document fragment node with a host element, and no parent, use the host element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM to lookup parent controllers. Closes #6637 --- src/jqLite.js | 8 ++++++-- test/jqLiteSpec.js | 13 +++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/jqLite.js b/src/jqLite.js index ba613f218f9e..738f47a9b167 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -364,11 +364,15 @@ function jqLiteInheritedData(element, name, value) { var names = isArray(name) ? name : [name]; while (element.length) { - + var node = element[0]; for (var i = 0, ii = names.length; i < ii; i++) { if ((value = element.data(names[i])) !== undefined) return value; } - element = element.parent(); + + // If dealing with a document fragment node with a host element, and no parent, use the host + // element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM + // to lookup parent controllers. + element = jqLite(node.parentNode || (node.nodeType === 11 && node.host)); } } diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 482c05f4f730..faf1c98cbb8c 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -168,6 +168,19 @@ describe('jqLite', function() { dealoc(ul); }); + + it('should pass through DocumentFragment boundaries via host', function() { + var host = jqLite('
    '), + frag = document.createDocumentFragment(), + $frag = jqLite(frag); + frag.host = host[0]; + host.data("foo", 123); + host.append($frag); + expect($frag.inheritedData("foo")).toBe(123); + + dealoc(host); + dealoc($frag); + }); }); From 8f7f0d26eddc3d609303f9c2836f7dc42a55c3f2 Mon Sep 17 00:00:00 2001 From: David Rogers Date: Mon, 17 Mar 2014 16:44:53 -0400 Subject: [PATCH 094/122] docs(ngForm): remove duplicate @param annotation When the example for `ngAnimate` was added in commit:3344396, the `@param name` annotation was unintentionally duplicated. Remove this duplicate. Closes #6720 --- src/ng/directive/form.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ng/directive/form.js b/src/ng/directive/form.js index 1424157c8751..9983d367f949 100644 --- a/src/ng/directive/form.js +++ b/src/ng/directive/form.js @@ -360,8 +360,6 @@ function FormController(element, attrs, $scope, $animate) { * - * @param {string=} name Name of the form. If specified, the form controller will be published into - * related scope, under this name. */ var formDirectiveFactory = function(isNgForm) { return ['$timeout', function($timeout) { From 8ba452544e44123401e79fd5ab40e0a8ed93ef17 Mon Sep 17 00:00:00 2001 From: Jan Hancic Date: Sun, 26 Jan 2014 15:14:09 +0000 Subject: [PATCH 095/122] docs(tutorial/step_12): link to API docs --- docs/content/tutorial/step_12.ngdoc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/content/tutorial/step_12.ngdoc b/docs/content/tutorial/step_12.ngdoc index fa1547e3ee10..060c7d0d3f2a 100644 --- a/docs/content/tutorial/step_12.ngdoc +++ b/docs/content/tutorial/step_12.ngdoc @@ -20,7 +20,8 @@ a dependency with the application module, will enable animations throughout the Common `ng` directives automatically trigger hooks for animations to tap into. When an animation is found then the animation will run in between the standard DOM operation that is being issued on the element at -the given time (e.g. inserting and removing nodes on ngRepeat or adding and removing classes on ngClass). +the given time (e.g. inserting and removing nodes on {@link api/ng.directive:ngRepeat `ngRepeat`} or adding +and removing classes on {@link api/ng.directive:ngClass `ngClass`}). The most important changes are listed below. You can see the full diff on [GitHub](https://github.com/angular/angular-phonecat/compare/step-11...step-12): @@ -34,9 +35,10 @@ To get an idea of how animations work with AngularJS, please read the ## Template -The changes required within the HTML template code is to link the asset files which define the animations as well -as the `angular-animate.js` file. The animation module, known as `ngAnimate`, is defined within -`angular-animate.js` and contains the code necessary to make your application become animation aware. +The changes required within the HTML template code is to link the asset files which define the animations as +well as the `angular-animate.js` file. The animation module, known as {@link api/ngAnimate `ngAnimate`}, is +defined within `angular-animate.js` and contains the code necessary to make your application become animation +aware. Here's what needs to changed in the index file: @@ -197,7 +199,7 @@ which are described in detail below. ## Animating `ngView` with CSS Keyframe Animations -Next let's add an animation for transitions between route changes in `ngView`. +Next let's add an animation for transitions between route changes in {@link api/ngRoute.directive:ngView `ngView`}. To start, let's add a new CSS class to our HTML like we did in the example above. This time, instead of the `ng-repeat` element, let's add it to the element containing the ng-view directive. From c0416866f597e489c6c332f3f53dd15d515baf31 Mon Sep 17 00:00:00 2001 From: Sekib Omazic Date: Sat, 8 Mar 2014 22:04:58 +0100 Subject: [PATCH 096/122] docs(booleanAttrs): fix typo --- src/ng/directive/booleanAttrs.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ng/directive/booleanAttrs.js b/src/ng/directive/booleanAttrs.js index 50f118d484af..e98a61034063 100644 --- a/src/ng/directive/booleanAttrs.js +++ b/src/ng/directive/booleanAttrs.js @@ -277,7 +277,7 @@ * such as selected. (Their presence means true and their absence means false.) * If we put an Angular interpolation expression into such an attribute then the * binding information would be lost when the browser removes the attribute. - * The `ngSelected` directive solves this problem for the `selected` atttribute. + * The `ngSelected` directive solves this problem for the `selected` attribute. * This complementary directive is not removed by the browser and so provides * a permanent reliable place to store the binding information. * From c7e60153a51ea424397fe06102c06e7c3849da56 Mon Sep 17 00:00:00 2001 From: Neil Johnston Date: Sat, 15 Mar 2014 10:55:02 -0700 Subject: [PATCH 097/122] docs(tutorial/step_02): add experiment to update controller test Add an experiment to update the controller unit test after modifying it with the new model property. --- docs/content/tutorial/step_02.ngdoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/content/tutorial/step_02.ngdoc b/docs/content/tutorial/step_02.ngdoc index 83512e9ff882..56ec2dd2ad8a 100644 --- a/docs/content/tutorial/step_02.ngdoc +++ b/docs/content/tutorial/step_02.ngdoc @@ -226,6 +226,10 @@ To run the test, do the following: Refresh your browser and verify that it says "Hello, World!". +* Update the unit test for the controler in ./tests/unit/controlersSpec.js to refelct the previous change. For example by adding: + + expect(scope.name).toBe('World'); + * Create a repeater that constructs a simple table: From a86cb7d794523e11079c5ef47a72192bb885fe37 Mon Sep 17 00:00:00 2001 From: unicodesnowman Date: Sat, 8 Mar 2014 13:04:06 -0500 Subject: [PATCH 098/122] docs(ngView): remove global controller definitions instead use angular modules also fix formatting --- src/ngRoute/directive/ngView.js | 63 +++++++++++++++++---------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/src/ngRoute/directive/ngView.js b/src/ngRoute/directive/ngView.js index a25563ae38bc..85049d4a3163 100644 --- a/src/ngRoute/directive/ngView.js +++ b/src/ngRoute/directive/ngView.js @@ -119,38 +119,39 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory); - angular.module('ngViewExample', ['ngRoute', 'ngAnimate'], - function($routeProvider, $locationProvider) { - $routeProvider.when('/Book/:bookId', { - templateUrl: 'book.html', - controller: BookCtrl, - controllerAs: 'book' - }); - $routeProvider.when('/Book/:bookId/ch/:chapterId', { - templateUrl: 'chapter.html', - controller: ChapterCtrl, - controllerAs: 'chapter' - }); + angular.module('ngViewExample', ['ngRoute', 'ngAnimate']) + .config(['$routeProvider', '$locationProvider', + function($routeProvider, $locationProvider) { + $routeProvider + .when('/Book/:bookId', { + templateUrl: 'book.html', + controller: 'BookCtrl', + controllerAs: 'book' + }) + .when('/Book/:bookId/ch/:chapterId', { + templateUrl: 'chapter.html', + controller: 'ChapterCtrl', + controllerAs: 'chapter' + }); + + // configure html5 to get links working on jsfiddle + $locationProvider.html5Mode(true); + }]) + .controller('MainCtrl', ['$route', '$routeParams', '$location', + function($route, $routeParams, $location) { + this.$route = $route; + this.$location = $location; + this.$routeParams = $routeParams; + }]) + .controller('BookCtrl', ['$routeParams', function($routeParams) { + this.name = "BookCtrl"; + this.params = $routeParams; + }]) + .controller('ChapterCtrl', ['$routeParams', function($routeParams) { + this.name = "ChapterCtrl"; + this.params = $routeParams; + }]); - // configure html5 to get links working on jsfiddle - $locationProvider.html5Mode(true); - }); - - function MainCtrl($route, $routeParams, $location) { - this.$route = $route; - this.$location = $location; - this.$routeParams = $routeParams; - } - - function BookCtrl($routeParams) { - this.name = "BookCtrl"; - this.params = $routeParams; - } - - function ChapterCtrl($routeParams) { - this.name = "ChapterCtrl"; - this.params = $routeParams; - } From 483325a7b5836342949e55b550e5d138a8da59b7 Mon Sep 17 00:00:00 2001 From: Takashi Nakagawa Date: Sat, 8 Mar 2014 02:01:06 +0900 Subject: [PATCH 099/122] chore(formatting): removed unnecessary white spaces --- docs/config/processors/pages-data.js | 10 +++++----- docs/content/error/ng/btstrpd.ngdoc | 4 ++-- docs/content/guide/ie.ngdoc | 12 ++++++------ docs/content/tutorial/step_04.ngdoc | 4 ++-- docs/content/tutorial/step_11.ngdoc | 4 ++-- i18n/spec/converterSpec.js | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js index 1b93b021a2b7..95036a518db1 100644 --- a/docs/config/processors/pages-data.js +++ b/docs/config/processors/pages-data.js @@ -11,17 +11,17 @@ var AREA_NAMES = { }; function getNavGroup(pages, area, pageSorter, pageMapper) { - + var navItems = _(pages) // We don't want the child to include the index page as this is already catered for .omit(function(page) { return page.id === 'index'; }) - + // Apply the supplied sorting function .sortBy(pageSorter) - + // Apply the supplied mapping function .map(pageMapper) - + .value(); return { @@ -176,7 +176,7 @@ module.exports = { // - ngView // - section "service" // - $route - // + // var areas = {}; _(navPages) .groupBy('area') diff --git a/docs/content/error/ng/btstrpd.ngdoc b/docs/content/error/ng/btstrpd.ngdoc index 7eb66a1eb3f7..4efbaba533cb 100644 --- a/docs/content/error/ng/btstrpd.ngdoc +++ b/docs/content/error/ng/btstrpd.ngdoc @@ -38,12 +38,12 @@ You can also get this error if you accidentally load AngularJS itself more than - + ... - + ... diff --git a/docs/content/guide/ie.ngdoc b/docs/content/guide/ie.ngdoc index 414c058e1b32..2842a83e2979 100644 --- a/docs/content/guide/ie.ngdoc +++ b/docs/content/guide/ie.ngdoc @@ -26,7 +26,7 @@ To make your Angular application work on IE please make sure that: 1. You polyfill JSON.stringify for IE7 and below. You can use [JSON2](https://github.com/douglascrockford/JSON-js) or [JSON3](http://bestiejs.github.com/json3/) polyfills for this. - + ```html @@ -42,7 +42,7 @@ To make your Angular application work on IE please make sure that: ``` 2. add `id="ng-app"` to the root element in conjunction with `ng-app` attribute - + ```html @@ -54,7 +54,7 @@ To make your Angular application work on IE please make sure that: `
    ` instead), or 4. if you **do use** custom element tags, then you must take these steps to make IE 8 and below happy: - + ```html @@ -64,7 +64,7 @@ To make your Angular application work on IE please make sure that: document.createElement('ng-include'); document.createElement('ng-pluralize'); document.createElement('ng-view'); - + // Optionally these for CSS document.createElement('ng:include'); document.createElement('ng:pluralize'); @@ -79,7 +79,7 @@ To make your Angular application work on IE please make sure that: ``` 5. Use `ng-style` tags instead of `style="{{ someCss }}"`. The later works in Chrome and Firefox but does not work in Internet Explorer <= 11 (the most recent version at time of writing). - + The **important** parts are: @@ -165,7 +165,7 @@ In IE, the behavior is that the `BODY` element has three children: ## CSS Styling of Custom Tag Names -To make CSS selectors work with custom elements, the custom element name must be pre-created with +To make CSS selectors work with custom elements, the custom element name must be pre-created with `document.createElement('my-tag')` regardless of XML namespace. ```html diff --git a/docs/content/tutorial/step_04.ngdoc b/docs/content/tutorial/step_04.ngdoc index cffc6319ad4a..48b19f7a1dd0 100644 --- a/docs/content/tutorial/step_04.ngdoc +++ b/docs/content/tutorial/step_04.ngdoc @@ -91,7 +91,7 @@ phonecatApp.controller('PhoneListCtrl', function ($scope) { record. This property is used to order phones by age. * We added a line to the controller that sets the default value of `orderProp` to `age`. If we had -not set a default value here, the `orderBy` filter would remain uninitialized until our +not set a default value here, the `orderBy` filter would remain uninitialized until our user picked an option from the drop down menu. This is a good time to talk about two-way data-binding. Notice that when the app is loaded in the @@ -117,7 +117,7 @@ describe('PhoneCat controllers', function() { var scope, ctrl; beforeEach(module('phonecatApp')); - + beforeEach(inject(function($controller) { scope = {}; ctrl = $controller('PhoneListCtrl', {$scope:scope}); diff --git a/docs/content/tutorial/step_11.ngdoc b/docs/content/tutorial/step_11.ngdoc index 252795c11004..e85092c2580c 100644 --- a/docs/content/tutorial/step_11.ngdoc +++ b/docs/content/tutorial/step_11.ngdoc @@ -22,8 +22,8 @@ The most important changes are listed below. You can see the full diff on [GitHu ## Template The custom service is defined in `app/js/services.js` so we need to include this file in our layout -template. Additionally, we also need to load the `angular-resource.js` file, which contains the -{@link api/ngResource ngResource} module and in it the {@link api/ngResource.$resource $resource} +template. Additionally, we also need to load the `angular-resource.js` file, which contains the +{@link api/ngResource ngResource} module and in it the {@link api/ngResource.$resource $resource} service, that we'll soon use: __`app/index.html`.__ diff --git a/i18n/spec/converterSpec.js b/i18n/spec/converterSpec.js index a7879e6beacf..e02bde9f4155 100644 --- a/i18n/spec/converterSpec.js +++ b/i18n/spec/converterSpec.js @@ -33,7 +33,7 @@ describe("convertDatetimeData", function() { AMPMS: ['AM', 'PM'], DATEFORMATS: ['a', 'b', 'c', 'd'], TIMEFORMATS: ['e', 'f', 'g', 'h'] }; - + it('should convert empty datetime obj', function() { var processedData = convert(dataObj); expect(processedData.MONTH).toEqual(['Enero', 'Pebrero']); From 5fb298b90f8edc5d8975cae01e75329926773a19 Mon Sep 17 00:00:00 2001 From: wbyoko Date: Fri, 28 Feb 2014 20:04:44 -0600 Subject: [PATCH 100/122] docs(migration): note that services can now return functions This change mostly effects preprocessed javascript. --- docs/content/guide/migration.ngdoc | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/content/guide/migration.ngdoc b/docs/content/guide/migration.ngdoc index 498b534579db..df042582b721 100644 --- a/docs/content/guide/migration.ngdoc +++ b/docs/content/guide/migration.ngdoc @@ -48,6 +48,7 @@ below should still apply, but you may want to consult the
  • {@link guide/migration#underscore-prefixed/suffixed-properties-are-non-bindable Underscore-prefixed/suffixed properties are non-bindable}
  • {@link guide/migration#you-cannot-bind-to-select[multiple] You cannot bind to select[multiple]}
  • {@link guide/migration#uncommon-region-specific-local-files-were-removed-from-i18n Uncommon region-specific local files were removed from i18n}
  • +
  • {@link guide/migration#services-can-now-return-functions Services can now return functions}
  • @@ -653,3 +654,39 @@ load and use your copy of the locale file provided that you maintain it yourself See [6382e21f](https://github.com/angular/angular.js/commit/6382e21fb28541a2484ac1a241d41cf9fbbe9d2c). +## Services can now return functions + +Previously, the service constructor only returned objects regardless of whether a function was returned. + +Now, `$injector.instantiate` (and thus `$provide.service`) behaves the same as the native +`new` operator and allows functions to be returned as a service. + +If using a JavaScript preprocessor it's quite possible when upgrading that services could start behaving incorrectly. +Make sure your services return the correct type wanted. + +**Coffeescript example** + +``` +myApp.service 'applicationSrvc', -> + @something = "value" + @someFunct = -> + "something else" +``` + +pre 1.2 this service would return the whole object as the service. + +post 1.2 this service returns `someFunct` as the value of the service + +you would need to change this services to + +``` +myApp.service 'applicationSrvc', -> + @something = "value" + @someFunct = -> + "something else" + return +``` + +to continue to return the complete instance. + +See [c22adbf1](https://github.com/angular/angular.js/commit/c22adbf160f32c1839fbb35382b7a8c6bcec2927). From 1c27e5fc37481237bfd4722cf67c43066a157ba3 Mon Sep 17 00:00:00 2001 From: Gias Kay Lee Date: Fri, 7 Mar 2014 08:57:29 +0800 Subject: [PATCH 101/122] docs(css): Fix word breaks issue in
    
    Closes #6586
    ---
     docs/app/assets/css/docs.css | 10 ++++++----
     1 file changed, 6 insertions(+), 4 deletions(-)
    
    diff --git a/docs/app/assets/css/docs.css b/docs/app/assets/css/docs.css
    index 98c0bec677f3..f9f0253ca4ad 100644
    --- a/docs/app/assets/css/docs.css
    +++ b/docs/app/assets/css/docs.css
    @@ -184,10 +184,12 @@ h1,h2,h3,h4,h5,h6 {
     }
     
     pre {
    -  padding:15px;
    -  border:1px solid #ddd;
    -  display:block;
    -  border-radius:5px;
    +  padding: 15px;
    +  border: 1px solid #ddd;
    +  border-radius: 5px;
    +  display: block;
    +  white-space: pre-wrap;
    +  word-break: normal;
     }
     
     .aside-nav a,
    
    From f0347d5efa193b6f59ac854798e90feaee727c77 Mon Sep 17 00:00:00 2001
    From: Gias Kay Lee 
    Date: Mon, 10 Mar 2014 14:50:21 +0800
    Subject: [PATCH 102/122] docs(module): add link to mentioned resource
    
    Closes #6628
    ---
     docs/content/guide/module.ngdoc | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/docs/content/guide/module.ngdoc b/docs/content/guide/module.ngdoc
    index 2d0a795deb79..bfd9ca5f5816 100644
    --- a/docs/content/guide/module.ngdoc
    +++ b/docs/content/guide/module.ngdoc
    @@ -66,8 +66,9 @@ that you break your application to multiple modules like this:
       * And an application level module which depends on the above modules and contains any
         initialization code.
     
    -We've also written a document on how we organize large apps at Google and on how to write
    -reusable components.
    +We've also
    +[written a document](http://blog.angularjs.org/2014/02/an-angularjs-style-guide-and-best.html)
    +on how we organize large apps at Google.
     
     The above is a suggestion. Tailor it to your needs.
     
    
    From 344cdce1365f99807453d9cad125a5d5a6564294 Mon Sep 17 00:00:00 2001
    From: Sekib Omazic 
    Date: Fri, 7 Mar 2014 19:08:20 +0100
    Subject: [PATCH 103/122] docs(css): RegExp doesn't have .type-hint-regexp
     class
    
    type-hint-regexp gets a nice color
    
    closes #6596
    ---
     docs/app/assets/css/docs.css | 4 ++++
     1 file changed, 4 insertions(+)
    
    diff --git a/docs/app/assets/css/docs.css b/docs/app/assets/css/docs.css
    index f9f0253ca4ad..2a012c0798d6 100644
    --- a/docs/app/assets/css/docs.css
    +++ b/docs/app/assets/css/docs.css
    @@ -466,6 +466,10 @@ iframe.example {
       background:rgb(189, 63, 66);
     }
     
    +.type-hint-regexp {
    +  background: rgb(90, 84, 189);
    +}
    +
     .runnable-example-frame {
       width:100%;
       height:300px;
    
    From dadce485a7a1d30fb5614188ebd8a361c9990060 Mon Sep 17 00:00:00 2001
    From: poshest 
    Date: Tue, 18 Mar 2014 00:02:15 +0100
    Subject: [PATCH 104/122] docs(errors/$compile/nonassing): update
     nonassign.ngdoc
    
    It might seem obvious that if you don't supply "bind" attribute in this case, you'll get an error,
    but I feel this is worth adding to the doc.
    
    Closes #6725
    ---
     docs/content/error/$compile/nonassign.ngdoc | 3 +++
     1 file changed, 3 insertions(+)
    
    diff --git a/docs/content/error/$compile/nonassign.ngdoc b/docs/content/error/$compile/nonassign.ngdoc
    index 3a7d996b647a..7486ba707985 100644
    --- a/docs/content/error/$compile/nonassign.ngdoc
    +++ b/docs/content/error/$compile/nonassign.ngdoc
    @@ -30,6 +30,9 @@ Following are invalid uses of this directive:
     
     
     
    +
    +
    +
     ```
     
     
    
    From df804406fb97644a4ea8e91847170ecb75aaf1ae Mon Sep 17 00:00:00 2001
    From: Tyler Kellogg 
    Date: Sun, 16 Mar 2014 16:53:00 -0700
    Subject: [PATCH 105/122] docs($cookies): cookies serializer only supports
     strings
    
    Closes #6705
    ---
     src/ngCookies/cookies.js | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/src/ngCookies/cookies.js b/src/ngCookies/cookies.js
    index b78fcd5aaf8b..ccfae23be86e 100644
    --- a/src/ngCookies/cookies.js
    +++ b/src/ngCookies/cookies.js
    @@ -25,8 +25,9 @@ angular.module('ngCookies', ['ng']).
        * @description
        * Provides read/write access to browser's cookies.
        *
    -   * Only a simple Object is exposed and by adding or removing properties to/from
    -   * this object, new cookies are created/deleted at the end of current $eval.
    +   * Only a simple Object is exposed and by adding or removing properties to/from this object, new
    +   * cookies are created/deleted at the end of current $eval.
    +   * The object's properties can only be strings.
        *
        * Requires the {@link ngCookies `ngCookies`} module to be installed.
        *
    
    From 6c82a497c678c2392d9902bad18640418fe1e745 Mon Sep 17 00:00:00 2001
    From: Edward Brey 
    Date: Fri, 14 Feb 2014 20:55:22 -0600
    Subject: [PATCH 106/122] docs(loader): add annotations to example
    
    ---
     src/loader.js | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/loader.js b/src/loader.js
    index 5c72a98222d6..32ce08ee0c28 100644
    --- a/src/loader.js
    +++ b/src/loader.js
    @@ -55,10 +55,10 @@ function setupModuleLoader(window) {
          * myModule.value('appName', 'MyCoolApp');
          *
          * // configure existing services inside initialization blocks.
    -     * myModule.config(function($locationProvider) {
    +     * myModule.config(['$locationProvider', function($locationProvider) {
          *   // Configure existing providers
          *   $locationProvider.hashPrefix('!');
    -     * });
    +     * }]);
          * ```
          *
          * Then you can create an injector and load your modules like this:
    
    From 9ab594a66c6385434132c8ffc1ed9ed17bae8298 Mon Sep 17 00:00:00 2001
    From: Jesse Palmer 
    Date: Thu, 30 Jan 2014 22:21:57 -0500
    Subject: [PATCH 107/122] docs($templateCache): use GFM example format rather
     than 
     tags
    
    Updated example formatting.
    
    Closes #6068
    ---
     src/ng/cacheFactory.js | 14 +++++---------
     1 file changed, 5 insertions(+), 9 deletions(-)
    
    diff --git a/src/ng/cacheFactory.js b/src/ng/cacheFactory.js
    index c16c1e1f0b4e..5d7c8c652d8f 100644
    --- a/src/ng/cacheFactory.js
    +++ b/src/ng/cacheFactory.js
    @@ -208,17 +208,13 @@ function $CacheFactoryProvider() {
      * `$templateCache` service directly.
      *
      * Adding via the `script` tag:
    + * 
      * ```html
    - * 
    - * 
    - * 
    - * 
    - *   ...
    - * 
    + *   
      * ```
    - *
    + * 
      * **Note:** the `script` tag containing the template does not need to be included in the `head` of
      * the document, but it must be below the `ng-app` definition.
      *
    
    From 5b7f1bcc009ac5574da39b25859de3ed3b48abf5 Mon Sep 17 00:00:00 2001
    From: Caitlin Potter 
    Date: Mon, 17 Mar 2014 21:47:25 -0400
    Subject: [PATCH 108/122] style($templateCache): remove trailing whitespace
    
    This was introduced by 2ca6d650e8a13cee28f11c38622cab231787325f, somewhat inexplicably as I had run
    grunt ci-checks locally. But regardless, this should fix this up.
    ---
     src/ng/cacheFactory.js | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/ng/cacheFactory.js b/src/ng/cacheFactory.js
    index 5d7c8c652d8f..69c4ed93a0e0 100644
    --- a/src/ng/cacheFactory.js
    +++ b/src/ng/cacheFactory.js
    @@ -208,13 +208,13 @@ function $CacheFactoryProvider() {
      * `$templateCache` service directly.
      *
      * Adding via the `script` tag:
    - * 
    + *
      * ```html
      *   
      * ```
    - * 
    + *
      * **Note:** the `script` tag containing the template does not need to be included in the `head` of
      * the document, but it must be below the `ng-app` definition.
      *
    
    From ca69dc6f1779221ffe01ac5542afc4433ab41a05 Mon Sep 17 00:00:00 2001
    From: Peter Bacon Darwin 
    Date: Tue, 18 Mar 2014 10:43:17 +0000
    Subject: [PATCH 109/122] chore(utils): fix version number processing
    
    The changes to version-info meant that the version being injected into
    the code at build time was missing the "dot" (patch) version and the
    release code-name.
    ---
     lib/grunt/utils.js | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/lib/grunt/utils.js b/lib/grunt/utils.js
    index b25a455528d7..c00147fe8dac 100644
    --- a/lib/grunt/utils.js
    +++ b/lib/grunt/utils.js
    @@ -149,9 +149,9 @@ module.exports = {
           .replace(/"NG_VERSION_FULL"/g, NG_VERSION.full)
           .replace(/"NG_VERSION_MAJOR"/, NG_VERSION.major)
           .replace(/"NG_VERSION_MINOR"/, NG_VERSION.minor)
    -      .replace(/"NG_VERSION_DOT"/, NG_VERSION.dot)
    +      .replace(/"NG_VERSION_DOT"/, NG_VERSION.patch)
           .replace(/"NG_VERSION_CDN"/, NG_VERSION.cdn)
    -      .replace(/"NG_VERSION_CODENAME"/, NG_VERSION.codename);
    +      .replace(/"NG_VERSION_CODENAME"/, NG_VERSION.codeName);
         if (strict !== false) processed = this.singleStrict(processed, '\n\n', true);
         return processed;
       },
    
    From 0d60f8d367e38224696749b0f7de04bd60649815 Mon Sep 17 00:00:00 2001
    From: Siddique Hameed 
    Date: Fri, 17 Jan 2014 12:17:22 -0600
    Subject: [PATCH 110/122] fix(angular.bootstrap): only allow angular to load
     once
    
    This is hard to test as a unit-test, since it involves the actual loading
    of angular, but it turns out that it is easy to test using a protractor
    e2e test.
    
    Closes #5863
    Closes #5587
    ---
     src/Angular.js     | 35 +++++++++++++++++++++++++++++++++++
     src/angular.suffix |  6 ++++++
     2 files changed, 41 insertions(+)
    
    diff --git a/src/Angular.js b/src/Angular.js
    index 96df13f4ff8d..ec69cc1a59a1 100644
    --- a/src/Angular.js
    +++ b/src/Angular.js
    @@ -1241,6 +1241,41 @@ function angularInit(element, bootstrap) {
      * Note that ngScenario-based end-to-end tests cannot use this function to bootstrap manually.
      * They must use {@link ng.directive:ngApp ngApp}.
      *
    + * Angular will detect if it has been loaded into the browser more than once and only allow the
    + * first loaded script to be bootstrapped and will report a warning to the browser console for
    + * each of the subsequent scripts.   This prevents strange results in applications, where otherwise
    + * multiple instances of Angular try to work on the DOM.
    + *
    + * 
    + * 
    + * 
    + * 
    + *
    + * + * + * + * + * + * + *
    {{heading}}
    {{fill}}
    + *
    + * + * + * var app = angular.module('multi-bootstrap', []) + * + * .controller('BrokenTable', function($scope) { + * $scope.headings = ['One', 'Two', 'Three']; + * $scope.fillings = [[1, 2, 3], ['A', 'B', 'C'], [7, 8, 9]]; + * }); + * + * + * it('should only insert one table cell for each item in $scope.fillings', function() { + * expect(element.all(by.css('td')).count()) + * .toBe(9); + * }); + * + * + * * @param {Element} element DOM element which is the root of angular application. * @param {Array=} modules an array of modules to load into the application. * Each item in the array should be the name of a predefined module or a (DI annotated) diff --git a/src/angular.suffix b/src/angular.suffix index c86200bb31f4..9429d4fcf3d2 100644 --- a/src/angular.suffix +++ b/src/angular.suffix @@ -1,3 +1,9 @@ + if (window.angular.bootstrap) { + //AngularJS is already loaded, so we can return here... + console.log('WARNING: Tried to load angular more than once.'); + return; + } + //try to bind to jquery now so that one can write angular.element().read() //but we will rebind on bootstrap again. bindJQuery(); From b91b3119a44d722aa83a0dbfe8817a5186ba9a99 Mon Sep 17 00:00:00 2001 From: frandroid Date: Tue, 18 Mar 2014 17:19:31 -0400 Subject: [PATCH 111/122] docs(tutorial/step_05): removed stray "a" --- docs/content/tutorial/step_05.ngdoc | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/content/tutorial/step_05.ngdoc b/docs/content/tutorial/step_05.ngdoc index 17941cd14e14..dccd1d18849e 100644 --- a/docs/content/tutorial/step_05.ngdoc +++ b/docs/content/tutorial/step_05.ngdoc @@ -20,7 +20,6 @@ You should now see a list of 20 phones. The most important changes are listed below. You can see the full diff on [GitHub](https://github.com/angular/angular-phonecat/compare/step-4...step-5): ## Data -a The `app/phones/phones.json` file in your project is a dataset that contains a larger list of phones stored in the JSON format. From 916e53ce14ead459da14c935f95fc384cf1fe41c Mon Sep 17 00:00:00 2001 From: frandroid Date: Tue, 18 Mar 2014 17:22:20 -0400 Subject: [PATCH 112/122] docs(tutorial/step_05): fix services link --- docs/content/tutorial/step_05.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/tutorial/step_05.ngdoc b/docs/content/tutorial/step_05.ngdoc index dccd1d18849e..031d97b751d8 100644 --- a/docs/content/tutorial/step_05.ngdoc +++ b/docs/content/tutorial/step_05.ngdoc @@ -7,7 +7,7 @@ Enough of building an app with three phones in a hard-coded dataset! Let's fetch a larger dataset -from our server using one of Angular's built-in {@link guide/dev_guide.services services} called {@link +from our server using one of Angular's built-in {@link guide/services services} called {@link ng.$http $http}. We will use Angular's {@link guide/di dependency injection (DI)} to provide the service to the `PhoneListCtrl` controller. From 01a34f513bb567ed6d4c81d00d7c2a777c0dae01 Mon Sep 17 00:00:00 2001 From: Chris Constantin Date: Mon, 17 Feb 2014 16:10:36 -0800 Subject: [PATCH 113/122] fix(ngTouch): update workaround for desktop Webkit quirk Fix click busting of input click triggered by a label click quickly following a touch event on a different element, in desktop and mobile WebKit To reproduce the issue fixed by this commit set up a page with - an element with ng-click - a radio button (with hg-model) and associated label In a quick sequence tap on the element and then on the label. The radio button will not be checked, unless PREVENT_DURATION has passed Closes #6302 --- src/ngTouch/directive/ngClick.js | 16 +++- test/ngTouch/directive/ngClickSpec.js | 106 ++++++++++++++++++++------ 2 files changed, 98 insertions(+), 24 deletions(-) diff --git a/src/ngTouch/directive/ngClick.js b/src/ngTouch/directive/ngClick.js index 6cd0ff763032..7e558defc9f5 100644 --- a/src/ngTouch/directive/ngClick.js +++ b/src/ngTouch/directive/ngClick.js @@ -53,6 +53,7 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', var ACTIVE_CLASS_NAME = 'ng-click-active'; var lastPreventedTime; var touchCoordinates; + var lastLabelClickCoordinates; // TAP EVENTS AND GHOST CLICKS @@ -124,10 +125,23 @@ ngTouch.directive('ngClick', ['$parse', '$timeout', '$rootElement', var y = touches[0].clientY; // Work around desktop Webkit quirk where clicking a label will fire two clicks (on the label // and on the input element). Depending on the exact browser, this second click we don't want - // to bust has either (0,0) or negative coordinates. + // to bust has either (0,0), negative coordinates, or coordinates equal to triggering label + // click event if (x < 1 && y < 1) { return; // offscreen } + if (lastLabelClickCoordinates && + lastLabelClickCoordinates[0] === x && lastLabelClickCoordinates[1] === y) { + return; // input click triggered by label click + } + // reset label click coordinates on first subsequent click + if (lastLabelClickCoordinates) { + lastLabelClickCoordinates = null; + } + // remember label click coordinates to prevent click busting of trigger click event on input + if (event.target.tagName.toLowerCase() === 'label') { + lastLabelClickCoordinates = [x, y]; + } // Look for an allowable region containing this click. // If we find one, that means it was created by touchstart and not removed by diff --git a/test/ngTouch/directive/ngClickSpec.js b/test/ngTouch/directive/ngClickSpec.js index 43735709abea..921c64578b2b 100644 --- a/test/ngTouch/directive/ngClickSpec.js +++ b/test/ngTouch/directive/ngClickSpec.js @@ -370,40 +370,100 @@ describe('ngClick (touch)', function() { })); - it('should not cancel clicks that come long after', inject(function($rootScope, $compile) { - element1 = $compile('
    ')($rootScope); + describe('when clicking on a label immediately following a touch event', function() { + var touch = function(element, x, y) { + time = 10; + browserTrigger(element, 'touchstart',{ + keys: [], + x: x, + y: y + }); - $rootScope.count = 0; + time = 50; + browserTrigger(element, 'touchend',{ + keys: [], + x: x, + y: y + }); + }; - $rootScope.$digest(); + var click = function(element, x, y) { + browserTrigger(element, 'click',{ + keys: [], + x: x, + y: y + }); + }; - expect($rootScope.count).toBe(0); + var $rootScope; + var container, otherElement, input, label; + beforeEach(inject(function(_$rootScope_, $compile, $rootElement) { + $rootScope = _$rootScope_; + var container = $compile('
    ' + + '' + + '
    ')($rootScope); + $rootElement.append(container); + otherElement = container.children()[0]; + input = container.children()[1]; + label = container.children()[2]; - time = 10; - browserTrigger(element1, 'touchstart',{ - keys: [], - x: 10, - y: 10 + $rootScope.selection = 'initial'; + + $rootScope.$digest(); + })); + + + afterEach(function() { + dealoc(label); + dealoc(input); + dealoc(otherElement); + dealoc(container); }); - time = 50; - browserTrigger(element1, 'touchend',{ - keys: [], - x: 10, - y: 10 + + it('should not cancel input clicks with (0,0) coordinates', function() { + touch(otherElement, 100, 100); + + time = 500; + click(label, 10, 10); + click(input, 0, 0); + + expect($rootScope.selection).toBe('radio1'); }); - expect($rootScope.count).toBe(1); - time = 2700; - browserTrigger(element1, 'click',{ - keys: [], - x: 10, - y: 10 + it('should not cancel input clicks with negative coordinates', function() { + touch(otherElement, 100, 100); + + time = 500; + click(label, 10, 10); + click(input, -1, -1); + + expect($rootScope.selection).toBe('radio1'); }); - expect($rootScope.count).toBe(2); - })); + + it('should not cancel input clicks with positive coordinates identical to label click', function() { + touch(otherElement, 100, 100); + + time = 500; + click(label, 10, 10); + click(input, 10, 10); + + expect($rootScope.selection).toBe('radio1'); + }); + + + it('should cancel input clicks with positive coordinates different than label click', function() { + touch(otherElement, 100, 100); + + time = 500; + click(label, 10, 10); + click(input, 11, 11); + + expect($rootScope.selection).toBe('initial'); + }); + }); }); From 93d1c95c61dbfa565333bb64527a103242175af7 Mon Sep 17 00:00:00 2001 From: Caitlin Potter Date: Tue, 18 Mar 2014 13:13:08 -0400 Subject: [PATCH 114/122] fix(ngCookie): convert non-string values to string Previously, non-string values stored in $cookies would be removed, without warning the user, and causing difficulty debugging. Now, the value is converted to string before being stored, and the value is not dropped. Serialization may be customized using the toString() method of an object's prototype. Closes #6151 Closes #6220 --- src/ngCookies/cookies.js | 10 ++++------ test/ngCookies/cookiesSpec.js | 18 ++++++++++++++---- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/ngCookies/cookies.js b/src/ngCookies/cookies.js index ccfae23be86e..4f97c8dd17f3 100644 --- a/src/ngCookies/cookies.js +++ b/src/ngCookies/cookies.js @@ -95,12 +95,10 @@ angular.module('ngCookies', ['ng']). for(name in cookies) { value = cookies[name]; if (!angular.isString(value)) { - if (angular.isDefined(lastCookies[name])) { - cookies[name] = lastCookies[name]; - } else { - delete cookies[name]; - } - } else if (value !== lastCookies[name]) { + value = '' + value; + cookies[name] = value; + } + if (value !== lastCookies[name]) { $browser.cookies(name, value); updated = true; } diff --git a/test/ngCookies/cookiesSpec.js b/test/ngCookies/cookiesSpec.js index 674c27748f11..1d669c1c6b8a 100644 --- a/test/ngCookies/cookiesSpec.js +++ b/test/ngCookies/cookiesSpec.js @@ -45,15 +45,25 @@ describe('$cookies', function() { })); - it('should drop or reset any cookie that was set to a non-string value', + it('should convert non-string values to string', inject(function($cookies, $browser, $rootScope) { $cookies.nonString = [1, 2, 3]; $cookies.nullVal = null; $cookies.undefVal = undefined; - $cookies.preexisting = function() {}; + var preexisting = $cookies.preexisting = function() {}; $rootScope.$digest(); - expect($browser.cookies()).toEqual({'preexisting': 'oldCookie'}); - expect($cookies).toEqual({'preexisting': 'oldCookie'}); + expect($browser.cookies()).toEqual({ + 'preexisting': '' + preexisting, + 'nonString': '1,2,3', + 'nullVal': 'null', + 'undefVal': 'undefined' + }); + expect($cookies).toEqual({ + 'preexisting': '' + preexisting, + 'nonString': '1,2,3', + 'nullVal': 'null', + 'undefVal': 'undefined' + }); })); From 10d3e1e4472ab9f5cf4418b6438ec2e0f2b0b288 Mon Sep 17 00:00:00 2001 From: Caitlin Potter Date: Wed, 5 Feb 2014 23:50:58 -0500 Subject: [PATCH 115/122] fix(orderBy): support string predicates containing non-ident characters The orderBy filter now allows string predicates passed to the orderBy filter to make use property name predicates containing non-ident strings, such as spaces or percent signs, or non-latin characters. This behaviour requires the predicate string to be double-quoted. In markup, this might look like so: ```html
    ...
    ``` Or in JS: ```js var sorted = $filter('orderBy')(array, ['"Tip %"', '-"Subtotal $"'], false); ``` Closes #6143 Closes #6144 --- src/ng/filter/orderBy.js | 6 ++++++ test/ng/filter/orderBySpec.js | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/ng/filter/orderBy.js b/src/ng/filter/orderBy.js index b62626988fc5..faeb8ed1e570 100644 --- a/src/ng/filter/orderBy.js +++ b/src/ng/filter/orderBy.js @@ -74,6 +74,12 @@ function orderByFilter($parse){ predicate = predicate.substring(1); } get = $parse(predicate); + if (get.constant) { + var key = get(); + return reverseComparator(function(a,b) { + return compare(a[key], b[key]); + }, descending); + } } return reverseComparator(function(a,b){ return compare(get(a),get(b)); diff --git a/test/ng/filter/orderBySpec.js b/test/ng/filter/orderBySpec.js index 5c1178910255..5dc966777419 100644 --- a/test/ng/filter/orderBySpec.js +++ b/test/ng/filter/orderBySpec.js @@ -31,4 +31,16 @@ describe('Filter: orderBy', function() { toEqual([{a:2, b:1},{a:15, b:1}]); }); + it('should support string predicates with names containing non-identifier characters', function() { + expect(orderBy([{"Tip %": .25}, {"Tip %": .15}, {"Tip %": .40}], '"Tip %"')) + .toEqualData([{"Tip %": .15}, {"Tip %": .25}, {"Tip %": .40}]); + expect(orderBy([{"원": 76000}, {"원": 31000}, {"원": 156000}], '"원"')) + .toEqualData([{"원": 31000}, {"원": 76000}, {"원": 156000}]) + }); + + it('should throw if quoted string predicate is quoted incorrectly', function() { + expect(function() { + return orderBy([{"Tip %": .15}, {"Tip %": .25}, {"Tip %": .40}], '"Tip %\''); + }).toThrow(); + }); }); From e48c28fe9292efe7af6205b2be116d2350990c73 Mon Sep 17 00:00:00 2001 From: Sekib Omazic Date: Sun, 9 Feb 2014 17:58:11 +0100 Subject: [PATCH 116/122] fix($rootScope): ng-repeat can't handle NaN values. #4605 $watchCollection checks if oldValue !== newValue which does not work for NaN. This was causing infinite digest errors, since comparing NaN to NaN in $watchCollection would always return false, indicating that a change was occuring on each loop. This fix adds a simple check to see if the current value and previous value are both NaN, and if so, does not count it as a change. Closes #4605 --- src/ng/rootScope.js | 4 +++- test/ng/rootScopeSpec.js | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ng/rootScope.js b/src/ng/rootScope.js index ce0f8ad54cb3..dbb93000cd72 100644 --- a/src/ng/rootScope.js +++ b/src/ng/rootScope.js @@ -453,7 +453,9 @@ function $RootScopeProvider(){ } // copy the items to oldValue and look for changes. for (var i = 0; i < newLength; i++) { - if (oldValue[i] !== newValue[i]) { + var bothNaN = (oldValue[i] !== oldValue[i]) && + (newValue[i] !== newValue[i]); + if (!bothNaN && (oldValue[i] !== newValue[i])) { changeDetected++; oldValue[i] = newValue[i]; } diff --git a/test/ng/rootScopeSpec.js b/test/ng/rootScopeSpec.js index 251a8ce882c4..2ea414893032 100644 --- a/test/ng/rootScopeSpec.js +++ b/test/ng/rootScopeSpec.js @@ -603,6 +603,10 @@ describe('Scope', function() { expect(log.empty()).toEqual([{newVal: [{}, []], oldVal: ['b', {}, []]}]); }); + it('should not infinitely digest when current value is NaN', function() { + $rootScope.obj = [NaN]; + $rootScope.$digest(); + }); it('should watch array-like objects like arrays', function () { var arrayLikelog = []; From 8fd47a1cd54c6f8e7ba2cac8ad34fdf9bf4d74be Mon Sep 17 00:00:00 2001 From: thorn0 Date: Tue, 18 Feb 2014 11:52:13 +0200 Subject: [PATCH 117/122] docs($q): add mention of Antroid 2.x browser The Android 2.x browser is not ES5-compatible in that it does not allow use of reserved words as property names. This docs fix adds Android to the note to the `$q` docs which already make it known that string property notation should be used when using the `finally` method on `$q`. --- src/ng/q.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ng/q.js b/src/ng/q.js index eb3b2beda80a..76e00df02812 100644 --- a/src/ng/q.js +++ b/src/ng/q.js @@ -112,7 +112,7 @@ * * Because `finally` is a reserved word in JavaScript and reserved keywords are not supported as * property names by ES3, you'll need to invoke the method like `promise['finally'](callback)` to - * make your code IE8 compatible. + * make your code IE8 and Android 2.x compatible. * * # Chaining promises * From 375c47d0c080e9e10867b87264bad657717ecbc4 Mon Sep 17 00:00:00 2001 From: Trevor Ewen Date: Wed, 19 Mar 2014 21:06:50 -0400 Subject: [PATCH 118/122] docs($document): add a documentation example. The $document docs are pretty empty, and this fills them out a bit. The example itself may not be particularly useful, but it could be improved or removed later. Works for me. Closes #6757 --- src/ng/document.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ng/document.js b/src/ng/document.js index cc7604773d61..321a36520805 100644 --- a/src/ng/document.js +++ b/src/ng/document.js @@ -7,6 +7,22 @@ * * @description * A {@link angular.element jQuery or jqLite} wrapper for the browser's `window.document` object. + * + * @example + + +
    +

    $document title:

    +

    window.document title:

    +
    +
    + + function MainCtrl($scope, $document) { + $scope.title = $document[0].title; + $scope.windowTitle = angular.element(window.document)[0].title; + } + +
    */ function $DocumentProvider(){ this.$get = ['$window', function(window){ From 187b4adbd2d2dce412e42aa9f99d35aca785479f Mon Sep 17 00:00:00 2001 From: alexgarrett Date: Thu, 20 Mar 2014 11:57:41 +0000 Subject: [PATCH 119/122] docs(tutorial): correct spelling mistake --- docs/content/tutorial/step_02.ngdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/tutorial/step_02.ngdoc b/docs/content/tutorial/step_02.ngdoc index 56ec2dd2ad8a..6ea936a90e26 100644 --- a/docs/content/tutorial/step_02.ngdoc +++ b/docs/content/tutorial/step_02.ngdoc @@ -226,7 +226,7 @@ To run the test, do the following: Refresh your browser and verify that it says "Hello, World!". -* Update the unit test for the controler in ./tests/unit/controlersSpec.js to refelct the previous change. For example by adding: +* Update the unit test for the controler in ./tests/unit/controlersSpec.js to reflect the previous change. For example by adding: expect(scope.name).toBe('World'); From ad128e09ff0f5837d659f0b9d0bf304446f46044 Mon Sep 17 00:00:00 2001 From: Caitlin Potter Date: Wed, 19 Mar 2014 23:48:47 -0400 Subject: [PATCH 120/122] test($rootScope): add assertion to test ensuring that NaN -> NaN does not throw https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c implements a fix for NaN values causing $watchCollection to throw an infdig error. This change updates the test by adding an assertion which explains what is actually being tested a bit better, and may also provide better information in the event that the test ever fails. Closes #6758 --- test/ng/rootScopeSpec.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/ng/rootScopeSpec.js b/test/ng/rootScopeSpec.js index 2ea414893032..86436ea81f81 100644 --- a/test/ng/rootScopeSpec.js +++ b/test/ng/rootScopeSpec.js @@ -605,7 +605,9 @@ describe('Scope', function() { it('should not infinitely digest when current value is NaN', function() { $rootScope.obj = [NaN]; - $rootScope.$digest(); + expect(function() { + $rootScope.$digest(); + }).not.toThrow(); }); it('should watch array-like objects like arrays', function () { From 87b18b9fbe3bd746f452c0263eec6b4002bd50e4 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 21 Mar 2014 14:57:43 -0700 Subject: [PATCH 121/122] docs(changelog): remove 1.3 notes from 1.2 --- CHANGELOG.md | 147 --------------------------------------------------- 1 file changed, 147 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf0ff76ec4fc..5a2442fde4f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,150 +1,3 @@ - -# 1.3.0-beta.3 emotional-waffles (2014-03-21) - - -## Bug Fixes - -- **ngAnimate:** support `webkitCancelRequestAnimationFrame` in addition to `webkitCancelAnimationFrame` - ([c839f78b](https://github.com/angular/angular.js/commit/c839f78b8f2d8d910bc2bfc9e41b3e3b67090ec1), - [#6526](https://github.com/angular/angular.js/issues/6526)) -- **$http:** allow sending Blob data using `$http` - ([b8cc71d4](https://github.com/angular/angular.js/commit/b8cc71d476f76ff51e719fb76fb2348027c858ce), - [#5012](https://github.com/angular/angular.js/issues/5012)) -- **$httpBackend:** don't error when JSONP callback is called with no parameter - ([6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), - [#4987](https://github.com/angular/angular.js/issues/4987), [#6735](https://github.com/angular/angular.js/issues/6735)) -- **$rootScope:** ng-repeat can't handle `NaN` values. #4605 - ([fb6062fb](https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c), - [#4605](https://github.com/angular/angular.js/issues/4605)) -- **$rootScope:** `$watchCollection` should call listener with old value - ([78057a94](https://github.com/angular/angular.js/commit/78057a945ef84cbb05f9417fe884cb8c28e67b44), - [#2621](https://github.com/angular/angular.js/issues/2621), [#5661](https://github.com/angular/angular.js/issues/5661), [#5688](https://github.com/angular/angular.js/issues/5688), [#6736](https://github.com/angular/angular.js/issues/6736)) -- **angular.bootstrap:** allow angular to load only once - ([748a6c8d](https://github.com/angular/angular.js/commit/748a6c8d9d8d61c3ee18eec462abe8ff245d6a98), - [#5863](https://github.com/angular/angular.js/issues/5863), [#5587](https://github.com/angular/angular.js/issues/5587)) -- **jqLite:** `inheritedData()` now traverses Shadow DOM boundaries via the `host` property of `DocumentFragment` - ([8a96f317](https://github.com/angular/angular.js/commit/8a96f317e594a5096d4fa56ceae4c685eec8ac8b), - [#6637](https://github.com/angular/angular.js/issues/6637)) -- **ngCookie:** convert non-string values to string - ([36528310](https://github.com/angular/angular.js/commit/3652831084c3788f786046b907a7361d2e89c520), - [#6151](https://github.com/angular/angular.js/issues/6151), [#6220](https://github.com/angular/angular.js/issues/6220)) -- **ngTouch:** update workaround for Webkit quirk - ([bc42950b](https://github.com/angular/angular.js/commit/bc42950b514b60f319812eeb87aae2915e394237), - [#6302](https://github.com/angular/angular.js/issues/6302)) -- **orderBy:** support string predicates containing non-ident characters - ([37bc5ef4](https://github.com/angular/angular.js/commit/37bc5ef4d87f19da47d3ab454c43d1e532c4f924), - [#6143](https://github.com/angular/angular.js/issues/6143), [#6144](https://github.com/angular/angular.js/issues/6144)) -- **select:** avoid checking option element's `selected` property in render - ([f40f54c6](https://github.com/angular/angular.js/commit/f40f54c6da4a5399fe18a89d068634bb491e9f1a), - [#2448](https://github.com/angular/angular.js/issues/2448), [#5994](https://github.com/angular/angular.js/issues/5994)) - - -## Features - -- **$compile:** add support for `$observer` deregistration - ([299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), - [#5609](https://github.com/angular/angular.js/issues/5609)) -- **ngMock.$httpBackend:** added support for function as URL matcher - ([d6cfcace](https://github.com/angular/angular.js/commit/d6cfcacee101f2738e0a224a3377232ff85f78a4), - [#4580](https://github.com/angular/angular.js/issues/4580)) - - -## Breaking Changes - -- **$compile:** due to [299b220f](https://github.com/angular/angular.js/commit/299b220f5e05e1d4e26bfd58d0b2fd7329ca76b1), - calling `attr.$observe` no longer returns the observer function, but a - deregistration function instead. To migrate the code follow the example below: - -Before: - - directive('directiveName', function() { - return { - link: function(scope, elm, attr) { - var observer = attr.$observe('someAttr', function(value) { - console.log(value); - }); - } - }; - }); - -After: - - directive('directiveName', function() { - return { - link: function(scope, elm, attr) { - var observer = function(value) { - console.log(value); - }; - - attr.$observe('someAttr', observer); - } - }; - }); - -- **$httpBackend:** due to [6680b7b9](https://github.com/angular/angular.js/commit/6680b7b97c0326a80bdccaf0a35031e4af641e0e), the JSONP behavior for erroneous and empty responses changed: - Previously, a JSONP response was regarded as erroneous if it was empty. Now Angular is listening to the - correct events to detect errors, i.e. even empty responses can be successful. - - - - -# 1.3.0-beta.2 silent-ventriloquism (2014-03-14) - - -## Bug Fixes - -- **$$rAF:** always fallback to a $timeout in case native rAF isn't supported - ([7b5e0199](https://github.com/angular/angular.js/commit/7b5e019981f352add88be2984de68e553d1bfa93), - [#6654](https://github.com/angular/angular.js/issues/6654)) -- **$http:** don't convert 0 status codes to 404 for non-file protocols - ([56e73ea3](https://github.com/angular/angular.js/commit/56e73ea355c851fdfd574d6d2a9e2fcb75677945), - [#6074](https://github.com/angular/angular.js/issues/6074), [#6155](https://github.com/angular/angular.js/issues/6155)) -- **ngAnimate:** setting classNameFilter disables animation inside ng-if - ([129e2e02](https://github.com/angular/angular.js/commit/129e2e021ab1d773874428cd1fb329eae72797c4), - [#6539](https://github.com/angular/angular.js/issues/6539)) - - -## Features - -- whitelist blob urls for sanitization of data-bound image urls - ([47ab8df4](https://github.com/angular/angular.js/commit/47ab8df455df1f1391b760e1fbcc5c21645512b8), - [#4623](https://github.com/angular/angular.js/issues/4623)) - - - - -# 1.3.0-beta.1 retractable-eyebrow (2014-03-07) - - -## Bug Fixes - -- **$compile:** support templates with thead and tfoot root elements - ([53ec5e13](https://github.com/angular/angular.js/commit/53ec5e13e5955830b6751019eef232bd2125c0b6), - [#6289](https://github.com/angular/angular.js/issues/6289)) -- **style:** expressions in style tags - ([0609453e](https://github.com/angular/angular.js/commit/0609453e1f9ae074f8d786df903096a6eadb6aa0), - [#2387](https://github.com/angular/angular.js/issues/2387), [#6492](https://github.com/angular/angular.js/issues/6492)) - - -## Features - -- **input:** support types date, time, datetime-local, month, week - ([46bd6dc8](https://github.com/angular/angular.js/commit/46bd6dc88de252886d75426efc2ce8107a5134e9), - [#5864](https://github.com/angular/angular.js/issues/5864)) - - -## Breaking Changes - -- **build:** due to [eaa1d00b](https://github.com/angular/angular.js/commit/eaa1d00b24008f590b95ad099241b4003688cdda), - As communicated before, IE8 is no longer supported. -- **input:** types date, time, datetime-local, month, week now always - require a `Date` object as model ([46bd6dc8](https://github.com/angular/angular.js/commit/46bd6dc88de252886d75426efc2ce8107a5134e9), - [#5864](https://github.com/angular/angular.js/issues/5864)) - -For more info: http://blog.angularjs.org/2013/12/angularjs-13-new-release-approaches.html - - - # 1.2.14 feisty-cryokinesis (2014-03-01) From a9b5a1087ddea10c95318981c20c386a56ca19f7 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 21 Mar 2014 14:58:48 -0700 Subject: [PATCH 122/122] chore(CHANGELOG): add notes for 1.2.15 --- CHANGELOG.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a2442fde4f8..3f043663e054 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,56 @@ + +# v1.2.15 beer-underestimating (2014-03-21) + + +## Bug Fixes + +- **$$RAFProvider:** check for webkitCancelRequestAnimationFrame + ([e84da228](https://github.com/angular/angular.js/commit/e84da2283c4e195be557f7b06c8783fe502acbbb), + [#6526](https://github.com/angular/angular.js/issues/6526)) +- **$$rAF:** always fallback to a $timeout incase native rAF isn't supported + ([ee8e4a94](https://github.com/angular/angular.js/commit/ee8e4a946ed8f943e00846b88d8d51c0b2cd1fab), + [#6654](https://github.com/angular/angular.js/issues/6654)) +- **$compile:** support templates with thead and tfoot root elements + ([ca0ac649](https://github.com/angular/angular.js/commit/ca0ac649971ae4fb50419b38f92a98d2226eb696), + [#6289](https://github.com/angular/angular.js/issues/6289)) +- **$http:** + - allow sending Blob data using $http + ([fbb125a3](https://github.com/angular/angular.js/commit/fbb125a3af164e52af2f8119175b04cbbed2f331), + [#5012](https://github.com/angular/angular.js/issues/5012)) + - don't covert 0 status codes to 404 for non-file protocols + ([f108a2a9](https://github.com/angular/angular.js/commit/f108a2a994149ecc011e29f327bcb8e11adf72d9), + [#6074](https://github.com/angular/angular.js/issues/6074), [#6155](https://github.com/angular/angular.js/issues/6155)) +- **$rootScope:** + - ng-repeat can't handle NaN values. #4605 + ([e48c28fe](https://github.com/angular/angular.js/commit/e48c28fe9292efe7af6205b2be116d2350990c73), + [#4605](https://github.com/angular/angular.js/issues/4605)) + - $watchCollection should call listener with oldValue + ([3dd95727](https://github.com/angular/angular.js/commit/3dd9572754c7bafec30dd625f5c611346959c969), + [#2621](https://github.com/angular/angular.js/issues/2621), [#5661](https://github.com/angular/angular.js/issues/5661), [#5688](https://github.com/angular/angular.js/issues/5688), [#6736](https://github.com/angular/angular.js/issues/6736)) +- **angular.bootstrap:** only allow angular to load once + ([0d60f8d3](https://github.com/angular/angular.js/commit/0d60f8d367e38224696749b0f7de04bd60649815), + [#5863](https://github.com/angular/angular.js/issues/5863), [#5587](https://github.com/angular/angular.js/issues/5587)) +- **jqLite:** traverse `host` property for DocumentFragment in inheritedData() + ([98d825e1](https://github.com/angular/angular.js/commit/98d825e10d3bf76f47e69abba857a8933c8cb7d9), + [#6637](https://github.com/angular/angular.js/issues/6637)) +- **ngAnimate:** setting classNameFilter disables animation inside ng-if + ([a41a2a1d](https://github.com/angular/angular.js/commit/a41a2a1d2ce20f86ac2709592e4ada527160e580), + [#6539](https://github.com/angular/angular.js/issues/6539)) +- **ngCookie:** convert non-string values to string + ([93d1c95c](https://github.com/angular/angular.js/commit/93d1c95c61dbfa565333bb64527a103242175af7), + [#6151](https://github.com/angular/angular.js/issues/6151), [#6220](https://github.com/angular/angular.js/issues/6220)) +- **ngTouch:** update workaround for desktop Webkit quirk + ([01a34f51](https://github.com/angular/angular.js/commit/01a34f513bb567ed6d4c81d00d7c2a777c0dae01), + [#6302](https://github.com/angular/angular.js/issues/6302)) +- **orderBy:** support string predicates containing non-ident characters + ([10d3e1e4](https://github.com/angular/angular.js/commit/10d3e1e4472ab9f5cf4418b6438ec2e0f2b0b288), + [#6143](https://github.com/angular/angular.js/issues/6143), [#6144](https://github.com/angular/angular.js/issues/6144)) +- **select:** avoid checking option element selected properties in render + ([dc149de9](https://github.com/angular/angular.js/commit/dc149de9364c66b988f169f67cad39577ba43434), + [#2448](https://github.com/angular/angular.js/issues/2448), [#5994](https://github.com/angular/angular.js/issues/5994), [#6769](https://github.com/angular/angular.js/issues/6769)) + + + # 1.2.14 feisty-cryokinesis (2014-03-01)