From 6baffb769f54e83a39df55e91aed8913fe94ea91 Mon Sep 17 00:00:00 2001 From: ian Date: Thu, 4 Jun 2015 09:25:49 -0400 Subject: [PATCH] update npm --- npm-debug.log | 1132 ------------------------------------------------- package.json | 5 +- 2 files changed, 3 insertions(+), 1134 deletions(-) delete mode 100644 npm-debug.log diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index ee193cf..0000000 --- a/npm-debug.log +++ /dev/null @@ -1,1132 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'install' ] -2 info using npm@1.4.21 -3 info using node@v0.10.25 -4 warn package.json EmmetCountyFair@0.0.1 No repository field. -5 verbose readDependencies using package.json deps -6 verbose install where, deps [ '/home/steve/Dev55/emmetchxfair.gaslightmedia.com/web/wp-content/themes/FairEmmet', -6 verbose install [ 'node-sass', -6 verbose install 'grunt', -6 verbose install 'grunt-contrib-watch', -6 verbose install 'grunt-sass', -6 verbose install 'grunt-contrib-uglify', -6 verbose install 'grunt-contrib-concat', -6 verbose install 'grunt-contrib-copy' ] ] -7 info preinstall EmmetCountyFair@0.0.1 -8 verbose readDependencies using package.json deps -9 verbose cache add [ 'node-sass@~1.2.3', null ] -10 verbose cache add name=undefined spec="node-sass@~1.2.3" args=["node-sass@~1.2.3",null] -11 verbose parsed url { protocol: null, -11 verbose parsed url slashes: null, -11 verbose parsed url auth: null, -11 verbose parsed url host: null, -11 verbose parsed url port: null, -11 verbose parsed url hostname: null, -11 verbose parsed url hash: null, -11 verbose parsed url search: null, -11 verbose parsed url query: null, -11 verbose parsed url pathname: 'node-sass@~1.2.3', -11 verbose parsed url path: 'node-sass@~1.2.3', -11 verbose parsed url href: 'node-sass@~1.2.3' } -12 verbose cache add [ 'grunt@~0.4.5', null ] -13 verbose cache add name=undefined spec="grunt@~0.4.5" args=["grunt@~0.4.5",null] -14 verbose parsed url { protocol: null, -14 verbose parsed url slashes: null, -14 verbose parsed url auth: null, -14 verbose parsed url host: null, -14 verbose parsed url port: null, -14 verbose parsed url hostname: null, -14 verbose parsed url hash: null, -14 verbose parsed url search: null, -14 verbose parsed url query: null, -14 verbose parsed url pathname: 'grunt@~0.4.5', -14 verbose parsed url path: 'grunt@~0.4.5', -14 verbose parsed url href: 'grunt@~0.4.5' } -15 verbose cache add [ 'grunt-sass@~0.17.0', null ] -16 verbose cache add name=undefined spec="grunt-sass@~0.17.0" args=["grunt-sass@~0.17.0",null] -17 verbose parsed url { protocol: null, -17 verbose parsed url slashes: null, -17 verbose parsed url auth: null, -17 verbose parsed url host: null, -17 verbose parsed url port: null, -17 verbose parsed url hostname: null, -17 verbose parsed url hash: null, -17 verbose parsed url search: null, -17 verbose parsed url query: null, -17 verbose parsed url pathname: 'grunt-sass@~0.17.0', -17 verbose parsed url path: 'grunt-sass@~0.17.0', -17 verbose parsed url href: 'grunt-sass@~0.17.0' } -18 verbose cache add [ 'grunt-contrib-uglify@~0.7.0', null ] -19 verbose cache add name=undefined spec="grunt-contrib-uglify@~0.7.0" args=["grunt-contrib-uglify@~0.7.0",null] -20 verbose parsed url { protocol: null, -20 verbose parsed url slashes: null, -20 verbose parsed url auth: null, -20 verbose parsed url host: null, -20 verbose parsed url port: null, -20 verbose parsed url hostname: null, -20 verbose parsed url hash: null, -20 verbose parsed url search: null, -20 verbose parsed url query: null, -20 verbose parsed url pathname: 'grunt-contrib-uglify@~0.7.0', -20 verbose parsed url path: 'grunt-contrib-uglify@~0.7.0', -20 verbose parsed url href: 'grunt-contrib-uglify@~0.7.0' } -21 verbose cache add [ 'grunt-contrib-watch@~0.6.1', null ] -22 verbose cache add name=undefined spec="grunt-contrib-watch@~0.6.1" args=["grunt-contrib-watch@~0.6.1",null] -23 verbose parsed url { protocol: null, -23 verbose parsed url slashes: null, -23 verbose parsed url auth: null, -23 verbose parsed url host: null, -23 verbose parsed url port: null, -23 verbose parsed url hostname: null, -23 verbose parsed url hash: null, -23 verbose parsed url search: null, -23 verbose parsed url query: null, -23 verbose parsed url pathname: 'grunt-contrib-watch@~0.6.1', -23 verbose parsed url path: 'grunt-contrib-watch@~0.6.1', -23 verbose parsed url href: 'grunt-contrib-watch@~0.6.1' } -24 verbose cache add [ 'grunt-contrib-concat@~0.5.0', null ] -25 verbose cache add name=undefined spec="grunt-contrib-concat@~0.5.0" args=["grunt-contrib-concat@~0.5.0",null] -26 verbose parsed url { protocol: null, -26 verbose parsed url slashes: null, -26 verbose parsed url auth: null, -26 verbose parsed url host: null, -26 verbose parsed url port: null, -26 verbose parsed url hostname: null, -26 verbose parsed url hash: null, -26 verbose parsed url search: null, -26 verbose parsed url query: null, -26 verbose parsed url pathname: 'grunt-contrib-concat@~0.5.0', -26 verbose parsed url path: 'grunt-contrib-concat@~0.5.0', -26 verbose parsed url href: 'grunt-contrib-concat@~0.5.0' } -27 verbose cache add name="node-sass" spec="~1.2.3" args=["node-sass","~1.2.3"] -28 verbose parsed url { protocol: null, -28 verbose parsed url slashes: null, -28 verbose parsed url auth: null, -28 verbose parsed url host: null, -28 verbose parsed url port: null, -28 verbose parsed url hostname: null, -28 verbose parsed url hash: null, -28 verbose parsed url search: null, -28 verbose parsed url query: null, -28 verbose parsed url pathname: '~1.2.3', -28 verbose parsed url path: '~1.2.3', -28 verbose parsed url href: '~1.2.3' } -29 verbose addNamed [ 'node-sass', '~1.2.3' ] -30 verbose addNamed [ null, '>=1.2.3-0 <1.3.0-0' ] -31 verbose cache add [ 'grunt-contrib-copy@~0.7.0', null ] -32 verbose cache add name=undefined spec="grunt-contrib-copy@~0.7.0" args=["grunt-contrib-copy@~0.7.0",null] -33 verbose parsed url { protocol: null, -33 verbose parsed url slashes: null, -33 verbose parsed url auth: null, -33 verbose parsed url host: null, -33 verbose parsed url port: null, -33 verbose parsed url hostname: null, -33 verbose parsed url hash: null, -33 verbose parsed url search: null, -33 verbose parsed url query: null, -33 verbose parsed url pathname: 'grunt-contrib-copy@~0.7.0', -33 verbose parsed url path: 'grunt-contrib-copy@~0.7.0', -33 verbose parsed url href: 'grunt-contrib-copy@~0.7.0' } -34 verbose cache add name="grunt" spec="~0.4.5" args=["grunt","~0.4.5"] -35 verbose parsed url { protocol: null, -35 verbose parsed url slashes: null, -35 verbose parsed url auth: null, -35 verbose parsed url host: null, -35 verbose parsed url port: null, -35 verbose parsed url hostname: null, -35 verbose parsed url hash: null, -35 verbose parsed url search: null, -35 verbose parsed url query: null, -35 verbose parsed url pathname: '~0.4.5', -35 verbose parsed url path: '~0.4.5', -35 verbose parsed url href: '~0.4.5' } -36 verbose addNamed [ 'grunt', '~0.4.5' ] -37 verbose addNamed [ null, '>=0.4.5-0 <0.5.0-0' ] -38 verbose cache add name="grunt-contrib-concat" spec="~0.5.0" args=["grunt-contrib-concat","~0.5.0"] -39 verbose parsed url { protocol: null, -39 verbose parsed url slashes: null, -39 verbose parsed url auth: null, -39 verbose parsed url host: null, -39 verbose parsed url port: null, -39 verbose parsed url hostname: null, -39 verbose parsed url hash: null, -39 verbose parsed url search: null, -39 verbose parsed url query: null, -39 verbose parsed url pathname: '~0.5.0', -39 verbose parsed url path: '~0.5.0', -39 verbose parsed url href: '~0.5.0' } -40 verbose addNamed [ 'grunt-contrib-concat', '~0.5.0' ] -41 verbose addNamed [ null, '>=0.5.0-0 <0.6.0-0' ] -42 silly lockFile 678e7a95-node-sass-1-2-3 node-sass@~1.2.3 -43 verbose lock node-sass@~1.2.3 /home/steve/.npm/678e7a95-node-sass-1-2-3.lock -44 silly lockFile 240974bb-grunt-0-4-5 grunt@~0.4.5 -45 verbose lock grunt@~0.4.5 /home/steve/.npm/240974bb-grunt-0-4-5.lock -46 silly lockFile ab641ed0-grunt-contrib-concat-0-5-0 grunt-contrib-concat@~0.5.0 -47 verbose lock grunt-contrib-concat@~0.5.0 /home/steve/.npm/ab641ed0-grunt-contrib-concat-0-5-0.lock -48 verbose cache add name="grunt-sass" spec="~0.17.0" args=["grunt-sass","~0.17.0"] -49 verbose parsed url { protocol: null, -49 verbose parsed url slashes: null, -49 verbose parsed url auth: null, -49 verbose parsed url host: null, -49 verbose parsed url port: null, -49 verbose parsed url hostname: null, -49 verbose parsed url hash: null, -49 verbose parsed url search: null, -49 verbose parsed url query: null, -49 verbose parsed url pathname: '~0.17.0', -49 verbose parsed url path: '~0.17.0', -49 verbose parsed url href: '~0.17.0' } -50 verbose addNamed [ 'grunt-sass', '~0.17.0' ] -51 verbose addNamed [ null, '>=0.17.0-0 <0.18.0-0' ] -52 silly lockFile aa90627f-grunt-sass-0-17-0 grunt-sass@~0.17.0 -53 verbose lock grunt-sass@~0.17.0 /home/steve/.npm/aa90627f-grunt-sass-0-17-0.lock -54 verbose cache add name="grunt-contrib-uglify" spec="~0.7.0" args=["grunt-contrib-uglify","~0.7.0"] -55 verbose parsed url { protocol: null, -55 verbose parsed url slashes: null, -55 verbose parsed url auth: null, -55 verbose parsed url host: null, -55 verbose parsed url port: null, -55 verbose parsed url hostname: null, -55 verbose parsed url hash: null, -55 verbose parsed url search: null, -55 verbose parsed url query: null, -55 verbose parsed url pathname: '~0.7.0', -55 verbose parsed url path: '~0.7.0', -55 verbose parsed url href: '~0.7.0' } -56 verbose addNamed [ 'grunt-contrib-uglify', '~0.7.0' ] -57 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ] -58 silly lockFile ed126bab-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@~0.7.0 -59 verbose lock grunt-contrib-uglify@~0.7.0 /home/steve/.npm/ed126bab-grunt-contrib-uglify-0-7-0.lock -60 verbose cache add name="grunt-contrib-watch" spec="~0.6.1" args=["grunt-contrib-watch","~0.6.1"] -61 verbose parsed url { protocol: null, -61 verbose parsed url slashes: null, -61 verbose parsed url auth: null, -61 verbose parsed url host: null, -61 verbose parsed url port: null, -61 verbose parsed url hostname: null, -61 verbose parsed url hash: null, -61 verbose parsed url search: null, -61 verbose parsed url query: null, -61 verbose parsed url pathname: '~0.6.1', -61 verbose parsed url path: '~0.6.1', -61 verbose parsed url href: '~0.6.1' } -62 verbose addNamed [ 'grunt-contrib-watch', '~0.6.1' ] -63 verbose addNamed [ null, '>=0.6.1-0 <0.7.0-0' ] -64 silly lockFile 82ce6ec8-grunt-contrib-watch-0-6-1 grunt-contrib-watch@~0.6.1 -65 verbose lock grunt-contrib-watch@~0.6.1 /home/steve/.npm/82ce6ec8-grunt-contrib-watch-0-6-1.lock -66 verbose cache add name="grunt-contrib-copy" spec="~0.7.0" args=["grunt-contrib-copy","~0.7.0"] -67 verbose parsed url { protocol: null, -67 verbose parsed url slashes: null, -67 verbose parsed url auth: null, -67 verbose parsed url host: null, -67 verbose parsed url port: null, -67 verbose parsed url hostname: null, -67 verbose parsed url hash: null, -67 verbose parsed url search: null, -67 verbose parsed url query: null, -67 verbose parsed url pathname: '~0.7.0', -67 verbose parsed url path: '~0.7.0', -67 verbose parsed url href: '~0.7.0' } -68 verbose addNamed [ 'grunt-contrib-copy', '~0.7.0' ] -69 verbose addNamed [ null, '>=0.7.0-0 <0.8.0-0' ] -70 silly lockFile 20e4a8d9-grunt-contrib-copy-0-7-0 grunt-contrib-copy@~0.7.0 -71 verbose lock grunt-contrib-copy@~0.7.0 /home/steve/.npm/20e4a8d9-grunt-contrib-copy-0-7-0.lock -72 silly addNameRange { name: 'node-sass', -72 silly addNameRange range: '>=1.2.3-0 <1.3.0-0', -72 silly addNameRange hasData: false } -73 silly addNameRange { name: 'grunt', range: '>=0.4.5-0 <0.5.0-0', hasData: false } -74 silly addNameRange { name: 'grunt-contrib-concat', -74 silly addNameRange range: '>=0.5.0-0 <0.6.0-0', -74 silly addNameRange hasData: false } -75 silly addNameRange { name: 'grunt-sass', -75 silly addNameRange range: '>=0.17.0-0 <0.18.0-0', -75 silly addNameRange hasData: false } -76 silly addNameRange { name: 'grunt-contrib-uglify', -76 silly addNameRange range: '>=0.7.0-0 <0.8.0-0', -76 silly addNameRange hasData: false } -77 silly addNameRange { name: 'grunt-contrib-watch', -77 silly addNameRange range: '>=0.6.1-0 <0.7.0-0', -77 silly addNameRange hasData: false } -78 silly addNameRange { name: 'grunt-contrib-copy', -78 silly addNameRange range: '>=0.7.0-0 <0.8.0-0', -78 silly addNameRange hasData: false } -79 verbose request where is /node-sass -80 verbose request registry https://registry.npmjs.org/ -81 verbose request id 7bd5d607c7e4a5af -82 verbose url raw /node-sass -83 verbose url resolving [ 'https://registry.npmjs.org/', './node-sass' ] -84 verbose url resolved https://registry.npmjs.org/node-sass -85 verbose request where is https://registry.npmjs.org/node-sass -86 info trying registry request attempt 1 at 11:22:40 -87 verbose etag "1TA53L79KUGNPDOL7483CV8GL" -88 http GET https://registry.npmjs.org/node-sass -89 verbose request where is /grunt -90 verbose request registry https://registry.npmjs.org/ -91 verbose url raw /grunt -92 verbose url resolving [ 'https://registry.npmjs.org/', './grunt' ] -93 verbose url resolved https://registry.npmjs.org/grunt -94 verbose request where is https://registry.npmjs.org/grunt -95 info trying registry request attempt 1 at 11:22:40 -96 verbose etag "4ICZ2A8J5OHZLNDHFJT84S7HJ" -97 http GET https://registry.npmjs.org/grunt -98 verbose request where is /grunt-contrib-concat -99 verbose request registry https://registry.npmjs.org/ -100 verbose url raw /grunt-contrib-concat -101 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-concat' ] -102 verbose url resolved https://registry.npmjs.org/grunt-contrib-concat -103 verbose request where is https://registry.npmjs.org/grunt-contrib-concat -104 info trying registry request attempt 1 at 11:22:40 -105 verbose etag "5YSQRTHHXC6IDBJCIWFWIB07E" -106 http GET https://registry.npmjs.org/grunt-contrib-concat -107 verbose request where is /grunt-sass -108 verbose request registry https://registry.npmjs.org/ -109 verbose url raw /grunt-sass -110 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-sass' ] -111 verbose url resolved https://registry.npmjs.org/grunt-sass -112 verbose request where is https://registry.npmjs.org/grunt-sass -113 info trying registry request attempt 1 at 11:22:40 -114 verbose etag "96OFTMZX1PGUXNU426QHVOFQ9" -115 http GET https://registry.npmjs.org/grunt-sass -116 verbose request where is /grunt-contrib-uglify -117 verbose request registry https://registry.npmjs.org/ -118 verbose url raw /grunt-contrib-uglify -119 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-uglify' ] -120 verbose url resolved https://registry.npmjs.org/grunt-contrib-uglify -121 verbose request where is https://registry.npmjs.org/grunt-contrib-uglify -122 info trying registry request attempt 1 at 11:22:40 -123 verbose etag "CJG62V7I3FJ24P2XCXAHP6PQO" -124 http GET https://registry.npmjs.org/grunt-contrib-uglify -125 verbose request where is /grunt-contrib-watch -126 verbose request registry https://registry.npmjs.org/ -127 verbose url raw /grunt-contrib-watch -128 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-watch' ] -129 verbose url resolved https://registry.npmjs.org/grunt-contrib-watch -130 verbose request where is https://registry.npmjs.org/grunt-contrib-watch -131 info trying registry request attempt 1 at 11:22:40 -132 verbose etag "8D5H42W1Y0YNSDVLWB9U0YW70" -133 http GET https://registry.npmjs.org/grunt-contrib-watch -134 verbose request where is /grunt-contrib-copy -135 verbose request registry https://registry.npmjs.org/ -136 verbose url raw /grunt-contrib-copy -137 verbose url resolving [ 'https://registry.npmjs.org/', './grunt-contrib-copy' ] -138 verbose url resolved https://registry.npmjs.org/grunt-contrib-copy -139 verbose request where is https://registry.npmjs.org/grunt-contrib-copy -140 info trying registry request attempt 1 at 11:22:40 -141 verbose etag "CPVJ8CTW0TGB88YJECPD3PSF0" -142 http GET https://registry.npmjs.org/grunt-contrib-copy -143 http 304 https://registry.npmjs.org/grunt -144 silly registry.get cb [ 304, -144 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -144 silly registry.get via: '1.1 varnish', -144 silly registry.get 'cache-control': 'max-age=60', -144 silly registry.get etag: '"4ICZ2A8J5OHZLNDHFJT84S7HJ"', -144 silly registry.get age: '29', -144 silly registry.get connection: 'keep-alive', -144 silly registry.get 'x-served-by': 'cache-ord1725-ORD', -144 silly registry.get 'x-cache': 'HIT', -144 silly registry.get 'x-cache-hits': '3', -144 silly registry.get 'x-timer': 'S1432048961.093096,VS0,VE0', -144 silly registry.get vary: 'Accept' } ] -145 verbose etag https://registry.npmjs.org/grunt from cache -146 http 304 https://registry.npmjs.org/grunt-sass -147 silly registry.get cb [ 304, -147 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -147 silly registry.get via: '1.1 varnish', -147 silly registry.get 'cache-control': 'max-age=60', -147 silly registry.get etag: '"96OFTMZX1PGUXNU426QHVOFQ9"', -147 silly registry.get age: '60', -147 silly registry.get connection: 'keep-alive', -147 silly registry.get 'x-served-by': 'cache-ord1729-ORD', -147 silly registry.get 'x-cache': 'HIT', -147 silly registry.get 'x-cache-hits': '1', -147 silly registry.get 'x-timer': 'S1432048961.100358,VS0,VE0', -147 silly registry.get vary: 'Accept' } ] -148 verbose etag https://registry.npmjs.org/grunt-sass from cache -149 http 304 https://registry.npmjs.org/grunt-contrib-uglify -150 silly registry.get cb [ 304, -150 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -150 silly registry.get via: '1.1 varnish', -150 silly registry.get 'cache-control': 'max-age=60', -150 silly registry.get etag: '"CJG62V7I3FJ24P2XCXAHP6PQO"', -150 silly registry.get age: '19', -150 silly registry.get connection: 'keep-alive', -150 silly registry.get 'x-served-by': 'cache-ord1731-ORD', -150 silly registry.get 'x-cache': 'HIT', -150 silly registry.get 'x-cache-hits': '1', -150 silly registry.get 'x-timer': 'S1432048961.108185,VS0,VE0', -150 silly registry.get vary: 'Accept' } ] -151 verbose etag https://registry.npmjs.org/grunt-contrib-uglify from cache -152 http 304 https://registry.npmjs.org/grunt-contrib-concat -153 silly registry.get cb [ 304, -153 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -153 silly registry.get via: '1.1 varnish', -153 silly registry.get 'cache-control': 'max-age=60', -153 silly registry.get etag: '"5YSQRTHHXC6IDBJCIWFWIB07E"', -153 silly registry.get age: '19', -153 silly registry.get connection: 'keep-alive', -153 silly registry.get 'x-served-by': 'cache-ord1731-ORD', -153 silly registry.get 'x-cache': 'HIT', -153 silly registry.get 'x-cache-hits': '1', -153 silly registry.get 'x-timer': 'S1432048961.113043,VS0,VE0', -153 silly registry.get vary: 'Accept' } ] -154 verbose etag https://registry.npmjs.org/grunt-contrib-concat from cache -155 silly addNameRange number 2 { name: 'grunt-sass', -155 silly addNameRange range: '>=0.17.0-0 <0.18.0-0', -155 silly addNameRange hasData: true } -156 silly addNameRange versions [ 'grunt-sass', -156 silly addNameRange [ '0.1.0', -156 silly addNameRange '0.2.1', -156 silly addNameRange '0.2.2', -156 silly addNameRange '0.2.3', -156 silly addNameRange '0.2.4', -156 silly addNameRange '0.2.5', -156 silly addNameRange '0.3.0', -156 silly addNameRange '0.4.0', -156 silly addNameRange '0.4.1', -156 silly addNameRange '0.5.0', -156 silly addNameRange '0.6.0', -156 silly addNameRange '0.6.1', -156 silly addNameRange '0.7.0', -156 silly addNameRange '0.8.0', -156 silly addNameRange '0.8.1', -156 silly addNameRange '0.9.0', -156 silly addNameRange '0.10.0', -156 silly addNameRange '0.11.0', -156 silly addNameRange '0.12.0', -156 silly addNameRange '0.12.1', -156 silly addNameRange '0.13.0', -156 silly addNameRange '0.13.1', -156 silly addNameRange '0.14.0', -156 silly addNameRange '0.14.1', -156 silly addNameRange '0.14.2', -156 silly addNameRange '0.15.0', -156 silly addNameRange '0.16.0', -156 silly addNameRange '0.16.1', -156 silly addNameRange '0.17.0', -156 silly addNameRange '0.18.0', -156 silly addNameRange '0.18.1', -156 silly addNameRange '1.0.0' ] ] -157 verbose addNamed [ 'grunt-sass', '0.17.0' ] -158 verbose addNamed [ '0.17.0', '0.17.0' ] -159 silly lockFile c2a418fd-grunt-sass-0-17-0 grunt-sass@0.17.0 -160 verbose lock grunt-sass@0.17.0 /home/steve/.npm/c2a418fd-grunt-sass-0-17-0.lock -161 silly addNameRange number 2 { name: 'grunt', range: '>=0.4.5-0 <0.5.0-0', hasData: true } -162 silly addNameRange versions [ 'grunt', -162 silly addNameRange [ '0.1.0', -162 silly addNameRange '0.1.1', -162 silly addNameRange '0.1.2', -162 silly addNameRange '0.2.0', -162 silly addNameRange '0.2.1', -162 silly addNameRange '0.2.2', -162 silly addNameRange '0.2.3', -162 silly addNameRange '0.2.4', -162 silly addNameRange '0.2.5', -162 silly addNameRange '0.2.6', -162 silly addNameRange '0.2.7', -162 silly addNameRange '0.2.8', -162 silly addNameRange '0.2.9', -162 silly addNameRange '0.2.10', -162 silly addNameRange '0.2.11', -162 silly addNameRange '0.2.12', -162 silly addNameRange '0.2.13', -162 silly addNameRange '0.2.14', -162 silly addNameRange '0.2.15', -162 silly addNameRange '0.3.0', -162 silly addNameRange '0.3.1', -162 silly addNameRange '0.3.2', -162 silly addNameRange '0.3.3', -162 silly addNameRange '0.3.4', -162 silly addNameRange '0.3.5', -162 silly addNameRange '0.3.6', -162 silly addNameRange '0.3.7', -162 silly addNameRange '0.3.8', -162 silly addNameRange '0.3.9', -162 silly addNameRange '0.3.10', -162 silly addNameRange '0.3.11', -162 silly addNameRange '0.3.12', -162 silly addNameRange '0.3.13', -162 silly addNameRange '0.3.14', -162 silly addNameRange '0.3.15', -162 silly addNameRange '0.3.16', -162 silly addNameRange '0.3.17', -162 silly addNameRange '0.4.0', -162 silly addNameRange '0.4.1', -162 silly addNameRange '0.4.2', -162 silly addNameRange '0.4.3', -162 silly addNameRange '0.4.4', -162 silly addNameRange '0.4.5', -162 silly addNameRange '0.3.13-a', -162 silly addNameRange '0.4.0-a', -162 silly addNameRange '0.4.0-rc1', -162 silly addNameRange '0.4.0-rc2', -162 silly addNameRange '0.4.0-rc3', -162 silly addNameRange '0.4.0-rc4', -162 silly addNameRange '0.4.0-rc5', -162 silly addNameRange '0.4.0-rc6', -162 silly addNameRange '0.4.0-rc7', -162 silly addNameRange '0.4.0-rc8' ] ] -163 verbose addNamed [ 'grunt', '0.4.5' ] -164 verbose addNamed [ '0.4.5', '0.4.5' ] -165 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5 -166 verbose lock grunt@0.4.5 /home/steve/.npm/81abf7ad-grunt-0-4-5.lock -167 silly addNameRange number 2 { name: 'grunt-contrib-uglify', -167 silly addNameRange range: '>=0.7.0-0 <0.8.0-0', -167 silly addNameRange hasData: true } -168 silly addNameRange versions [ 'grunt-contrib-uglify', -168 silly addNameRange [ '0.1.0', -168 silly addNameRange '0.1.1', -168 silly addNameRange '0.1.2', -168 silly addNameRange '0.2.0', -168 silly addNameRange '0.2.1', -168 silly addNameRange '0.2.2', -168 silly addNameRange '0.2.3', -168 silly addNameRange '0.2.4', -168 silly addNameRange '0.2.5', -168 silly addNameRange '0.2.6', -168 silly addNameRange '0.2.7', -168 silly addNameRange '0.3.0', -168 silly addNameRange '0.3.1', -168 silly addNameRange '0.1.1-rc5', -168 silly addNameRange '0.1.1-rc6', -168 silly addNameRange '0.3.2', -168 silly addNameRange '0.3.3', -168 silly addNameRange '0.4.0', -168 silly addNameRange '0.5.0', -168 silly addNameRange '0.4.1', -168 silly addNameRange '0.5.1', -168 silly addNameRange '0.6.0', -168 silly addNameRange '0.7.0', -168 silly addNameRange '0.8.0', -168 silly addNameRange '0.8.1', -168 silly addNameRange '0.9.0', -168 silly addNameRange '0.9.1' ] ] -169 verbose addNamed [ 'grunt-contrib-uglify', '0.7.0' ] -170 verbose addNamed [ '0.7.0', '0.7.0' ] -171 silly lockFile 0707808c-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@0.7.0 -172 verbose lock grunt-contrib-uglify@0.7.0 /home/steve/.npm/0707808c-grunt-contrib-uglify-0-7-0.lock -173 silly addNameRange number 2 { name: 'grunt-contrib-concat', -173 silly addNameRange range: '>=0.5.0-0 <0.6.0-0', -173 silly addNameRange hasData: true } -174 silly addNameRange versions [ 'grunt-contrib-concat', -174 silly addNameRange [ '0.1.0', -174 silly addNameRange '0.1.1', -174 silly addNameRange '0.1.2', -174 silly addNameRange '0.1.3', -174 silly addNameRange '0.2.0', -174 silly addNameRange '0.3.0', -174 silly addNameRange '0.4.0', -174 silly addNameRange '0.5.0', -174 silly addNameRange '0.5.1', -174 silly addNameRange '0.1.2-rc5', -174 silly addNameRange '0.1.2-rc6' ] ] -175 verbose addNamed [ 'grunt-contrib-concat', '0.5.1' ] -176 verbose addNamed [ '0.5.1', '0.5.1' ] -177 silly lockFile 63a362d5-grunt-contrib-concat-0-5-1 grunt-contrib-concat@0.5.1 -178 verbose lock grunt-contrib-concat@0.5.1 /home/steve/.npm/63a362d5-grunt-contrib-concat-0-5-1.lock -179 http 304 https://registry.npmjs.org/grunt-contrib-watch -180 silly registry.get cb [ 304, -180 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -180 silly registry.get via: '1.1 varnish', -180 silly registry.get 'cache-control': 'max-age=60', -180 silly registry.get etag: '"8D5H42W1Y0YNSDVLWB9U0YW70"', -180 silly registry.get age: '29', -180 silly registry.get connection: 'keep-alive', -180 silly registry.get 'x-served-by': 'cache-ord1725-ORD', -180 silly registry.get 'x-cache': 'HIT', -180 silly registry.get 'x-cache-hits': '1', -180 silly registry.get 'x-timer': 'S1432048961.143918,VS0,VE0', -180 silly registry.get vary: 'Accept' } ] -181 verbose etag https://registry.npmjs.org/grunt-contrib-watch from cache -182 http 304 https://registry.npmjs.org/grunt-contrib-copy -183 silly registry.get cb [ 304, -183 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -183 silly registry.get via: '1.1 varnish', -183 silly registry.get 'cache-control': 'max-age=60', -183 silly registry.get etag: '"CPVJ8CTW0TGB88YJECPD3PSF0"', -183 silly registry.get age: '22', -183 silly registry.get connection: 'keep-alive', -183 silly registry.get 'x-served-by': 'cache-ord1729-ORD', -183 silly registry.get 'x-cache': 'HIT', -183 silly registry.get 'x-cache-hits': '1', -183 silly registry.get 'x-timer': 'S1432048961.146831,VS0,VE0', -183 silly registry.get vary: 'Accept' } ] -184 verbose etag https://registry.npmjs.org/grunt-contrib-copy from cache -185 silly lockFile c2a418fd-grunt-sass-0-17-0 grunt-sass@0.17.0 -186 silly lockFile c2a418fd-grunt-sass-0-17-0 grunt-sass@0.17.0 -187 silly addNameRange number 2 { name: 'grunt-contrib-watch', -187 silly addNameRange range: '>=0.6.1-0 <0.7.0-0', -187 silly addNameRange hasData: true } -188 silly addNameRange versions [ 'grunt-contrib-watch', -188 silly addNameRange [ '0.1.0', -188 silly addNameRange '0.1.1', -188 silly addNameRange '0.1.2', -188 silly addNameRange '0.1.3', -188 silly addNameRange '0.1.4', -188 silly addNameRange '0.2.0', -188 silly addNameRange '0.3.0', -188 silly addNameRange '0.3.1', -188 silly addNameRange '0.4.0', -188 silly addNameRange '0.4.1', -188 silly addNameRange '0.4.2', -188 silly addNameRange '0.4.3', -188 silly addNameRange '0.4.4', -188 silly addNameRange '0.5.0', -188 silly addNameRange '0.5.1', -188 silly addNameRange '0.5.2', -188 silly addNameRange '0.5.3', -188 silly addNameRange '0.6.0', -188 silly addNameRange '0.6.1', -188 silly addNameRange '0.2.0-a', -188 silly addNameRange '0.2.0-rc5', -188 silly addNameRange '0.2.0-rc7' ] ] -189 verbose addNamed [ 'grunt-contrib-watch', '0.6.1' ] -190 verbose addNamed [ '0.6.1', '0.6.1' ] -191 silly lockFile 08049756-grunt-contrib-watch-0-6-1 grunt-contrib-watch@0.6.1 -192 verbose lock grunt-contrib-watch@0.6.1 /home/steve/.npm/08049756-grunt-contrib-watch-0-6-1.lock -193 silly addNameRange number 2 { name: 'grunt-contrib-copy', -193 silly addNameRange range: '>=0.7.0-0 <0.8.0-0', -193 silly addNameRange hasData: true } -194 silly addNameRange versions [ 'grunt-contrib-copy', -194 silly addNameRange [ '0.2.0', -194 silly addNameRange '0.2.1', -194 silly addNameRange '0.2.2', -194 silly addNameRange '0.2.3', -194 silly addNameRange '0.2.4', -194 silly addNameRange '0.3.0', -194 silly addNameRange '0.3.1', -194 silly addNameRange '0.3.2', -194 silly addNameRange '0.4.0', -194 silly addNameRange '0.4.1', -194 silly addNameRange '0.5.0', -194 silly addNameRange '0.6.0', -194 silly addNameRange '0.7.0', -194 silly addNameRange '0.8.0', -194 silly addNameRange '0.4.0-rc7' ] ] -195 verbose addNamed [ 'grunt-contrib-copy', '0.7.0' ] -196 verbose addNamed [ '0.7.0', '0.7.0' ] -197 silly lockFile 4a53bbfa-grunt-contrib-copy-0-7-0 grunt-contrib-copy@0.7.0 -198 verbose lock grunt-contrib-copy@0.7.0 /home/steve/.npm/4a53bbfa-grunt-contrib-copy-0-7-0.lock -199 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5 -200 silly lockFile 81abf7ad-grunt-0-4-5 grunt@0.4.5 -201 silly lockFile 0707808c-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@0.7.0 -202 silly lockFile 0707808c-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@0.7.0 -203 silly lockFile 63a362d5-grunt-contrib-concat-0-5-1 grunt-contrib-concat@0.5.1 -204 silly lockFile 63a362d5-grunt-contrib-concat-0-5-1 grunt-contrib-concat@0.5.1 -205 silly lockFile aa90627f-grunt-sass-0-17-0 grunt-sass@~0.17.0 -206 silly lockFile aa90627f-grunt-sass-0-17-0 grunt-sass@~0.17.0 -207 silly lockFile 240974bb-grunt-0-4-5 grunt@~0.4.5 -208 silly lockFile 240974bb-grunt-0-4-5 grunt@~0.4.5 -209 silly lockFile ed126bab-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@~0.7.0 -210 silly lockFile ed126bab-grunt-contrib-uglify-0-7-0 grunt-contrib-uglify@~0.7.0 -211 silly lockFile ab641ed0-grunt-contrib-concat-0-5-0 grunt-contrib-concat@~0.5.0 -212 silly lockFile ab641ed0-grunt-contrib-concat-0-5-0 grunt-contrib-concat@~0.5.0 -213 silly lockFile 08049756-grunt-contrib-watch-0-6-1 grunt-contrib-watch@0.6.1 -214 silly lockFile 08049756-grunt-contrib-watch-0-6-1 grunt-contrib-watch@0.6.1 -215 silly lockFile 4a53bbfa-grunt-contrib-copy-0-7-0 grunt-contrib-copy@0.7.0 -216 silly lockFile 4a53bbfa-grunt-contrib-copy-0-7-0 grunt-contrib-copy@0.7.0 -217 silly lockFile 82ce6ec8-grunt-contrib-watch-0-6-1 grunt-contrib-watch@~0.6.1 -218 silly lockFile 82ce6ec8-grunt-contrib-watch-0-6-1 grunt-contrib-watch@~0.6.1 -219 silly lockFile 20e4a8d9-grunt-contrib-copy-0-7-0 grunt-contrib-copy@~0.7.0 -220 silly lockFile 20e4a8d9-grunt-contrib-copy-0-7-0 grunt-contrib-copy@~0.7.0 -221 http 304 https://registry.npmjs.org/node-sass -222 silly registry.get cb [ 304, -222 silly registry.get { date: 'Tue, 19 May 2015 15:22:41 GMT', -222 silly registry.get via: '1.1 varnish', -222 silly registry.get 'cache-control': 'max-age=60', -222 silly registry.get etag: '"1TA53L79KUGNPDOL7483CV8GL"', -222 silly registry.get age: '55', -222 silly registry.get connection: 'keep-alive', -222 silly registry.get 'x-served-by': 'cache-dfw1821-DFW', -222 silly registry.get 'x-cache': 'HIT', -222 silly registry.get 'x-cache-hits': '1', -222 silly registry.get 'x-timer': 'S1432048961.177716,VS0,VE1', -222 silly registry.get vary: 'Accept' } ] -223 verbose etag https://registry.npmjs.org/node-sass from cache -224 silly addNameRange number 2 { name: 'node-sass', range: '>=1.2.3-0 <1.3.0-0', hasData: true } -225 silly addNameRange versions [ 'node-sass', -225 silly addNameRange [ '0.2.0', -225 silly addNameRange '0.2.1', -225 silly addNameRange '0.2.2', -225 silly addNameRange '0.2.3', -225 silly addNameRange '0.2.4', -225 silly addNameRange '0.2.5', -225 silly addNameRange '0.2.6', -225 silly addNameRange '0.3.0', -225 silly addNameRange '0.4.0', -225 silly addNameRange '0.4.1', -225 silly addNameRange '0.4.2', -225 silly addNameRange '0.4.3', -225 silly addNameRange '0.4.4', -225 silly addNameRange '0.5.0', -225 silly addNameRange '0.5.1', -225 silly addNameRange '0.5.2', -225 silly addNameRange '0.5.3', -225 silly addNameRange '0.5.4', -225 silly addNameRange '0.6.0', -225 silly addNameRange '0.6.1', -225 silly addNameRange '0.6.2', -225 silly addNameRange '0.6.3', -225 silly addNameRange '0.6.4', -225 silly addNameRange '0.6.5', -225 silly addNameRange '0.6.6', -225 silly addNameRange '0.6.7', -225 silly addNameRange '0.7.0-alpha', -225 silly addNameRange '0.7.0', -225 silly addNameRange '0.8.0', -225 silly addNameRange '0.8.1', -225 silly addNameRange '0.8.2', -225 silly addNameRange '0.8.3', -225 silly addNameRange '0.8.4', -225 silly addNameRange '0.8.5', -225 silly addNameRange '0.8.6', -225 silly addNameRange '0.9.0', -225 silly addNameRange '0.9.1', -225 silly addNameRange '0.9.2', -225 silly addNameRange '0.9.3', -225 silly addNameRange '0.9.4-rc1', -225 silly addNameRange '0.9.4', -225 silly addNameRange '0.9.5-rc1', -225 silly addNameRange '0.9.5', -225 silly addNameRange '0.9.6', -225 silly addNameRange '1.0.0', -225 silly addNameRange '1.0.1', -225 silly addNameRange '1.0.2-alpha', -225 silly addNameRange '1.0.2', -225 silly addNameRange '1.0.3', -225 silly addNameRange '1.1.0', -225 silly addNameRange '1.1.1', -225 silly addNameRange '1.1.2', -225 silly addNameRange '1.1.3', -225 silly addNameRange '1.1.4', -225 silly addNameRange '1.2.0', -225 silly addNameRange '1.2.1', -225 silly addNameRange '1.2.2', -225 silly addNameRange '1.2.3', -225 silly addNameRange '2.0.0-beta', -225 silly addNameRange '2.0.0', -225 silly addNameRange '2.0.1', -225 silly addNameRange '3.0.0-alpha.0', -225 silly addNameRange '3.0.0-beta.2', -225 silly addNameRange '3.0.0-beta.3', -225 silly addNameRange '3.0.0-beta.4', -225 silly addNameRange '2.1.0', -225 silly addNameRange '2.1.1', -225 silly addNameRange '3.0.0-beta.5', -225 silly addNameRange '3.0.0-beta.7', -225 silly addNameRange '3.0.0', -225 silly addNameRange '3.1.0', -225 silly addNameRange '3.1.1' ] ] -226 verbose addNamed [ 'node-sass', '1.2.3' ] -227 verbose addNamed [ '1.2.3', '1.2.3' ] -228 silly lockFile 0245b596-node-sass-1-2-3 node-sass@1.2.3 -229 verbose lock node-sass@1.2.3 /home/steve/.npm/0245b596-node-sass-1-2-3.lock -230 silly lockFile 0245b596-node-sass-1-2-3 node-sass@1.2.3 -231 silly lockFile 0245b596-node-sass-1-2-3 node-sass@1.2.3 -232 silly lockFile 678e7a95-node-sass-1-2-3 node-sass@~1.2.3 -233 silly lockFile 678e7a95-node-sass-1-2-3 node-sass@~1.2.3 -234 silly resolved [ { name: 'grunt-sass', -234 silly resolved version: '0.17.0', -234 silly resolved description: 'Compile Sass to CSS using node-sass', -234 silly resolved license: 'MIT', -234 silly resolved repository: { type: 'git', url: 'git://github.com/sindresorhus/grunt-sass' }, -234 silly resolved author: -234 silly resolved { name: 'Sindre Sorhus', -234 silly resolved email: 'sindresorhus@gmail.com', -234 silly resolved url: 'http://sindresorhus.com' }, -234 silly resolved engines: { node: '>=0.10.0' }, -234 silly resolved scripts: { test: 'grunt' }, -234 silly resolved files: [ 'tasks' ], -234 silly resolved keywords: -234 silly resolved [ 'gruntplugin', -234 silly resolved 'css', -234 silly resolved 'sass', -234 silly resolved 'scss', -234 silly resolved 'style', -234 silly resolved 'compile', -234 silly resolved 'preprocess', -234 silly resolved 'compile', -234 silly resolved 'libsass' ], -234 silly resolved dependencies: -234 silly resolved { chalk: '^0.5.1', -234 silly resolved 'each-async': '^1.0.0', -234 silly resolved 'node-sass': '1.2.3', -234 silly resolved 'object-assign': '^2.0.0' }, -234 silly resolved devDependencies: -234 silly resolved { grunt: '^0.4.5', -234 silly resolved 'grunt-contrib-clean': '^0.6.0', -234 silly resolved 'grunt-contrib-nodeunit': '^0.4.1' }, -234 silly resolved readme: '# grunt-sass [![Build Status](https://travis-ci.org/sindresorhus/grunt-sass.svg?branch=master)](https://travis-ci.org/sindresorhus/grunt-sass)\n\n[](https://github.com/sass/node-sass)\n\n> Compile Sass to CSS using [node-sass](https://github.com/sass/node-sass)\n\n*Issues with the output should be reported on the libsass [issue tracker](https://github.com/hcatlin/libsass/issues).*\n\nThis task uses [libsass](http://libsass.org) which is an experimental Sass compiler in C++. In contrast to the original Ruby compiler, this one is much faster, but is missing some features, though improving quickly. It also doesn\'t support Compass. Check out [grunt-contrib-sass](https://github.com/gruntjs/grunt-contrib-sass) if you prefer something more stable, but slower.\n\n\n## Install\n\n```sh\n$ npm install --save-dev grunt-sass\n```\n\n\n## Usage\n\n```js\nrequire(\'load-grunt-tasks\')(grunt); // npm install --save-dev load-grunt-tasks\n\ngrunt.initConfig({\n\tsass: {\n\t\toptions: {\n\t\t\tsourceMap: true\n\t\t},\n\t\tdist: {\n\t\t\tfiles: {\n\t\t\t\t\'main.css\': \'main.scss\'\n\t\t\t}\n\t\t}\n\t}\n});\n\ngrunt.registerTask(\'default\', [\'sass\']);\n```\n\nFiles starting with `_` are ignored to match the expected [Sass partial behaviour](http://sass-lang.com/documentation/file.SASS_REFERENCE.html#partials).\n\n\n## Options\n\n### includePaths\n\nType: `array` \nDefault: `[]`\n\nAdditional paths to look for `@import`\'ed files.\n\n### outputStyle\n\nType: `string` \nDefault: `nested` \nValues: `\'nested\'`, `\'compressed\'`\n\nSpecify the CSS output style.\n\n### imagePath\n\nType: `string`\n\nRepresents the public image path. When using the `image-url()` function in a stylesheet, this path will be prepended to the path you supply. Example: Given an `imagePath` of `/path/to/images`, `background-image: image-url(\'image.png\')` will compile to `background-image: url("/path/to/images/image.png")`.\n\n### sourceMap\n\nType: `boolean`, `string` \nDefault: `false`\n\nSet it to `true` to output a Source Map to the same location as the CSS *(output.css.map)*, or specify a path relative to the CSS file to where you want the Source Map.\n\n\n### precision\n\nType: `number` \nDefault: `10`\n\nNumber of digits to preserve after the dot. With the number 1.23456789 and a precision of 3, the result will be 1.234 in the final CSS.\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n', -234 silly resolved readmeFilename: 'readme.md', -234 silly resolved bugs: { url: 'https://github.com/sindresorhus/grunt-sass/issues' }, -234 silly resolved _id: 'grunt-sass@0.17.0', -234 silly resolved _from: 'grunt-sass@~0.17.0' }, -234 silly resolved { name: 'grunt', -234 silly resolved description: 'The JavaScript Task Runner', -234 silly resolved version: '0.4.5', -234 silly resolved author: { name: '"Cowboy" Ben Alman', url: 'http://benalman.com/' }, -234 silly resolved homepage: 'http://gruntjs.com/', -234 silly resolved repository: { type: 'git', url: 'git://github.com/gruntjs/grunt.git' }, -234 silly resolved bugs: { url: 'http://github.com/gruntjs/grunt/issues' }, -234 silly resolved licenses: [ [Object] ], -234 silly resolved main: 'lib/grunt', -234 silly resolved scripts: { test: 'grunt test' }, -234 silly resolved engines: { node: '>= 0.8.0' }, -234 silly resolved keywords: -234 silly resolved [ 'task', -234 silly resolved 'async', -234 silly resolved 'cli', -234 silly resolved 'minify', -234 silly resolved 'uglify', -234 silly resolved 'build', -234 silly resolved 'lodash', -234 silly resolved 'unit', -234 silly resolved 'test', -234 silly resolved 'qunit', -234 silly resolved 'nodeunit', -234 silly resolved 'server', -234 silly resolved 'init', -234 silly resolved 'scaffold', -234 silly resolved 'make', -234 silly resolved 'jake', -234 silly resolved 'tool' ], -234 silly resolved dependencies: -234 silly resolved { async: '~0.1.22', -234 silly resolved 'coffee-script': '~1.3.3', -234 silly resolved colors: '~0.6.2', -234 silly resolved dateformat: '1.0.2-1.2.3', -234 silly resolved eventemitter2: '~0.4.13', -234 silly resolved 'findup-sync': '~0.1.2', -234 silly resolved glob: '~3.1.21', -234 silly resolved hooker: '~0.2.3', -234 silly resolved 'iconv-lite': '~0.2.11', -234 silly resolved minimatch: '~0.2.12', -234 silly resolved nopt: '~1.0.10', -234 silly resolved rimraf: '~2.2.8', -234 silly resolved lodash: '~0.9.2', -234 silly resolved 'underscore.string': '~2.2.1', -234 silly resolved which: '~1.0.5', -234 silly resolved 'js-yaml': '~2.0.5', -234 silly resolved exit: '~0.1.1', -234 silly resolved getobject: '~0.1.0', -234 silly resolved 'grunt-legacy-util': '~0.2.0', -234 silly resolved 'grunt-legacy-log': '~0.1.0' }, -234 silly resolved devDependencies: -234 silly resolved { temporary: '~0.0.4', -234 silly resolved 'grunt-contrib-jshint': '~0.6.4', -234 silly resolved 'grunt-contrib-nodeunit': '~0.2.0', -234 silly resolved 'grunt-contrib-watch': '~0.5.3', -234 silly resolved difflet: '~0.2.3', -234 silly resolved semver: '2.1.0', -234 silly resolved shelljs: '~0.2.5' }, -234 silly resolved readme: '# Grunt: The JavaScript Task Runner\n\n[![Build Status: Linux](https://secure.travis-ci.org/gruntjs/grunt.png?branch=master)](http://travis-ci.org/gruntjs/grunt)\nBuild Status: Windows\n[![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/)\n\n\n\n\n### Documentation\n\nVisit the [gruntjs.com](http://gruntjs.com/) website for all the things.\n\n### Support / Contributing\nBefore you make an issue, please read our [Contributing](http://gruntjs.com/contributing) guide.\n\nYou can find the grunt team in [#grunt on irc.freenode.net](http://webchat.freenode.net/?channels=grunt).\n\n### Release History\nSee the [CHANGELOG](CHANGELOG).\n', -234 silly resolved readmeFilename: 'README.md', -234 silly resolved _id: 'grunt@0.4.5', -234 silly resolved _from: 'grunt@~0.4.5' }, -234 silly resolved { name: 'grunt-contrib-uglify', -234 silly resolved description: 'Minify files with UglifyJS.', -234 silly resolved version: '0.7.0', -234 silly resolved homepage: 'https://github.com/gruntjs/grunt-contrib-uglify', -234 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' }, -234 silly resolved repository: -234 silly resolved { type: 'git', -234 silly resolved url: 'git://github.com/gruntjs/grunt-contrib-uglify.git' }, -234 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-contrib-uglify/issues' }, -234 silly resolved licenses: [ [Object] ], -234 silly resolved engines: { node: '>=0.10.0' }, -234 silly resolved scripts: { test: 'grunt test' }, -234 silly resolved dependencies: -234 silly resolved { chalk: '^0.5.1', -234 silly resolved lodash: '^2.4.1', -234 silly resolved maxmin: '^1.0.0', -234 silly resolved 'uglify-js': '^2.4.0', -234 silly resolved 'uri-path': '0.0.2' }, -234 silly resolved devDependencies: -234 silly resolved { grunt: '^0.4.2', -234 silly resolved 'grunt-contrib-clean': '^0.6.0', -234 silly resolved 'grunt-contrib-internal': '^0.4.2', -234 silly resolved 'grunt-contrib-jshint': '^0.10.0', -234 silly resolved 'grunt-contrib-nodeunit': '^0.4.0' }, -234 silly resolved peerDependencies: { grunt: '~0.4.0' }, -234 silly resolved keywords: [ 'gruntplugin' ], -234 silly resolved files: [ 'tasks', 'LICENSE-MIT' ], -234 silly resolved appveyor_id: 'ybtf5vbvtenii561', -234 silly resolved readme: '# grunt-contrib-uglify v0.7.0 [![Build Status: Linux](https://travis-ci.org/gruntjs/grunt-contrib-uglify.svg?branch=master)](https://travis-ci.org/gruntjs/grunt-contrib-uglify) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/ybtf5vbvtenii561/branch/master?svg=true)](https://ci.appveyor.com/project/gruntjs/grunt-contrib-uglify/branch/master)\n\n> Minify files with UglifyJS.\n\n\n\n## Getting Started\nThis plugin requires Grunt `~0.4.0`\n\nIf you haven\'t used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you\'re familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-uglify --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks(\'grunt-contrib-uglify\');\n```\n\n\n\n\n## Uglify task\n_Run this task with the `grunt uglify` command._\n\nTask targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.\n\n### Migrating from 2.x to 3.x\n\nVersion `3.x` introduced changes to configuring source maps. Accordingly, if you don\'t use the source map options you should be able to upgrade seamlessly. If you do use source maps, see below.\n\n#### Removed options\n\n`sourceMappingURL` - This is calculated automatically now\n`sourceMapPrefix` - No longer necessary for the above reason\n\n#### Changed options\n\n`sourceMap` - Only accepts a `Boolean` value. Generates a map with a default name for you\n`sourceMapRoot` - The location of your sources is now calculated for you when `sourceMap` is set to `true` but you can set manual source root if needed\n\n#### New options\n\n`sourceMapName` - Accepts a string or function to change the location or name of your map\n`sourceMapIncludeSources` - Embed the content of your source files directly into the map\n`expression` - Accepts a `Boolean` value. Parse a single expression (JSON or single functions)\n\n### Options\n\nThis task primarily delegates to [UglifyJS2][], so please consider the [UglifyJS documentation][] as required reading for advanced configuration.\n\n[UglifyJS2]: https://github.com/mishoo/UglifyJS2\n[UglifyJS documentation]: http://lisperator.net/uglifyjs/\n\n#### mangle\nType: `Boolean` `Object` \nDefault: `{}`\n\nTurn on or off mangling with default options. If an `Object` is specified, it is passed directly to `ast.mangle_names()` *and* `ast.compute_char_frequency()` (mimicking command line behavior).\n\n#### compress\nType: `Boolean` `Object` \nDefault: `{}`\n\nTurn on or off source compression with default options. If an `Object` is specified, it is passed as options to `UglifyJS.Compressor()`.\n\n#### beautify\nType: `Boolean` `Object` \nDefault: `false`\n\nTurns on beautification of the generated source code. An `Object` will be merged and passed with the options sent to `UglifyJS.OutputStream()`\n\n###### expression\nType: `Boolean`\nDefault: `false`\n\nParse a single expression, rather than a program (for parsing JSON)\n\n#### report\nChoices: `\'min\'`, `\'gzip\'` \nDefault: `\'min\'`\n\nEither report only minification result or report minification and gzip results.\nThis is useful to see exactly how well clean-css is performing but using `\'gzip\'` will make the task take 5-10x longer to complete. [Example output](https://github.com/sindresorhus/maxmin#readme).\n\n#### sourceMap\nType: `Boolean` \nDefault: `false`\n\nIf `true`, a source map file will be generated in the same directory as the `dest` file. By default it will have the same basename as the `dest` file, but with a `.map` extension.\n\n#### sourceMapName\nType: `String` `Function` \nDefault: `undefined`\n\nTo customize the name or location of the generated source map, pass a string to indicate where to write the source map to. If a function is provided, the uglify destination is passed as the argument and the return value will be used as the file name.\n\n#### sourceMapIn\nType: `String` `Function` \nDefault: `undefined`\n\nThe location of an input source map from an earlier compilation, e.g. from CoffeeScript. If a function is provided, the\nuglify source is passed as the argument and the return value will be used as the sourceMap name. This only makes sense\nwhen there\'s one source file.\n\n#### sourceMapIncludeSources\nType: `Boolean`\nDefault: `false`\n\nPass this flag if you want to include the content of source files in the source map as sourcesContent property.\n\n###### sourceMapRoot\nType: `String`\nDefault: `undefined`\n\nWith this option you can customize root URL that browser will use when looking for sources.\n\nIf the sources are not absolute URLs after prepending of the `sourceMapRoot`, the sources are resolved relative to the source map.\n\n###### enclose\nType: `Object` \nDefault: `undefined`\n\nWrap all of the code in a closure with a configurable arguments/parameters list.\nEach key-value pair in the `enclose` object is effectively an argument-parameter pair.\n\n#### wrap\nType: `String` \nDefault: `undefined`\n\nWrap all of the code in a closure, an easy way to make sure nothing is leaking.\nFor variables that need to be public `exports` and `global` variables are made available.\nThe value of wrap is the global variable exports will be available as.\n\n#### maxLineLen\nType: `Number`\nDefault: `32000`\n\nLimit the line length in symbols. Pass maxLineLen = 0 to disable this safety feature.\n\n#### ASCIIOnly\nType: `Boolean`\nDefault: `false`\n\nEnables to encode non-ASCII characters as \\uXXXX.\n\n#### exportAll\nType: `Boolean` \nDefault: `false`\n\nWhen using `wrap` this will make all global functions and variables available via the export variable.\n\n#### preserveComments\nType: `Boolean` `String` `Function` \nDefault: `undefined` \nOptions: `false` `\'all\'` `\'some\'`\n\nTurn on preservation of comments.\n\n- `false` will strip all comments\n- `\'all\'` will preserve all comments in code blocks that have not been squashed or dropped\n- `\'some\'` will preserve all comments that start with a bang (`!`) or include a closure compiler style directive (`@preserve` `@license` `@cc_on`)\n- `Function` specify your own comment preservation function. You will be passed the current node and the current comment and are expected to return either `true` or `false`\n\n#### banner\nType: `String` \nDefault: empty string\n\nThis string will be prepended to the minified output. Template strings (e.g. `<%= config.value %>` will be expanded automatically.\n\n#### footer\nType: `String` \nDefault: empty string\n\nThis string will be appended to the minified output. Template strings (e.g. `<%= config.value %>` will be expanded automatically.\n\n### Usage examples\n\n#### Basic compression\n\nThis configuration will compress and mangle the input files using the default options.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input1.js\', \'src/input2.js\']\n }\n }\n }\n});\n```\n\n#### No mangling\n\nSpecify `mangle: false` to prevent changes to your variable and function names.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n mangle: false\n },\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Reserved identifiers\n\nYou can specify identifiers to leave untouched with an `except` array in the `mangle` options.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n mangle: {\n except: [\'jQuery\', \'Backbone\']\n }\n },\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Source maps\n\nGenerate a source map by setting the `sourceMap` option to `true`. The generated\nsource map will be in the same directory as the destination file. Its name will be the\nbasename of the destination file with a `.map` extension. Override these\ndefaults with the `sourceMapName` attribute.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n sourceMap: true,\n sourceMapName: \'path/to/sourcemap.map\'\n },\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Advanced source maps\n\nSet the `sourceMapIncludeSources` option to `true` to embed your sources directly into the map. To include\na source map from a previous compilation pass it as the value of the `sourceMapIn` option.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n sourceMap: true,\n sourceMapIncludeSources: true,\n sourceMapIn: \'example/coffeescript-sourcemap.js\', // input sourcemap from a previous compilation\n },\n files: {\n \'dest/output.min.js\': [\'src/input.js\'],\n },\n },\n },\n});\n```\n\nRefer to the [UglifyJS SourceMap Documentation](http://lisperator.net/uglifyjs/codegen#source-map) for more information.\n\n\n#### Turn off console warnings\n\nSpecify `drop_console: true` as part of the `compress` options to discard calls to `console.*` functions.\nThis will supress warning messages in the console.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n compress: {\n drop_console: true\n }\n },\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Beautify\n\nSpecify `beautify: true` to beautify your code for debugging/troubleshooting purposes.\nPass an object to manually configure any other output options passed directly to `UglifyJS.OutputStream()`.\n\nSee [UglifyJS Codegen documentation](http://lisperator.net/uglifyjs/codegen) for more information.\n\n_Note that manual configuration will require you to explicitly set `beautify: true` if you want traditional, beautified output._\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n options: {\n beautify: true\n },\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n },\n my_advanced_target: {\n options: {\n beautify: {\n width: 80,\n beautify: true\n }\n },\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Banner comments\n\nIn this example, running `grunt uglify:my_target` will prepend a banner created by interpolating the `banner` template string with the config object. Here, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today\'s date.\n\n_Note: you don\'t have to use an external JSON file. It\'s also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._\n\n```js\n// Project configuration.\ngrunt.initConfig({\n pkg: grunt.file.readJSON(\'package.json\'),\n uglify: {\n options: {\n banner: \'/*! <%= pkg.name %> - v<%= pkg.version %> - \' +\n \'<%= grunt.template.today("yyyy-mm-dd") %> */\'\n },\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n\n#### Conditional compilation\n\nYou can also enable UglifyJS conditional compilation. This is commonly used to remove debug code blocks for production builds.\n\nSee [UglifyJS global definitions documentation](http://lisperator.net/uglifyjs/compress#global-defs) for more information.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n options: {\n compress: {\n global_defs: {\n "DEBUG": false\n },\n dead_code: true\n }\n },\n my_target: {\n files: {\n \'dest/output.min.js\': [\'src/input.js\']\n }\n }\n }\n});\n```\n#### Compiling all files in a folder dynamically\n\nThis configuration will compress and mangle the files dynamically.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n uglify: {\n my_target: {\n files: [{\n expand: true,\n cwd: \'src/js\',\n src: \'**/*.js\',\n dest: \'dest/js\'\n }]\n }\n }\n});\n```\n\n\n## Release History\n\n * 2014-12-23   v0.7.0   Adds sourceMapRoot options. Updates readme descriptions. Removes reference to cleancss.\n * 2014-09-17   v0.6.0   Output fixes. ASCIIOnly option. Other fixes.\n * 2014-07-25   v0.5.1   Chalk updates. Output updates.\n * 2014-03-01   v0.4.0   remove grunt-lib-contrib dependency and add more colors\n * 2014-02-27   v0.3.3   remove unnecessary calls to `grunt.template.process`\n * 2014-01-22   v0.3.2   fix handling of `sourceMapIncludeSources` option.\n * 2014-01-20   v0.3.1   fix relative path issue in sourcemaps\n * 2014-01-16   v0.3.0   refactor sourcemap support\n * 2013-11-09   v0.2.7   prepending banner if sourceMap option not set, addresses\n * 2013-11-08   v0.2.6   merged 45, 53, 85 (105 by way of duping 53) Added support for banners in uglified files with sourcemaps Updated docs\n * 2013-10-28   v0.2.5   Added warning for banners when using sourcemaps\n * 2013-09-02   v0.2.4   updated sourcemap format via /83\n * 2013-06-10   v0.2.3   added footer option\n * 2013-05-31   v0.2.2   Reverted /56 due to /58 until [chrome/239660](https://code.google.com/p/chromium/issues/detail?id=239660&q=sourcemappingurl&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status%20Owner%20Summary%20OS%20Modified) [firefox/870361](https://bugzilla.mozilla.org/show_bug.cgi?id=870361) drop\n * 2013-05-22   v0.2.1   Bumped uglify to ~2.3.5 /55 /40 Changed sourcemappingUrl syntax /56 Disabled sorting of names for consistent mangling /44 Updated docs for sourceMapRoot /47 /25\n * 2013-03-14   v0.2.0   No longer report gzip results by default. Support `report` option.\n * 2013-01-30   v0.1.2   Added better error reporting Support for dynamic names of multiple sourcemaps\n * 2013-02-15   v0.1.1   First official release for Grunt 0.4.0.\n * 2013-01-18   v0.1.1rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.\n * 2013-01-09   v0.1.1rc5   Updating to work with grunt v0.4.0rc5. Switching back to this.files api.\n * 2012-11-28   v0.1.0   Work in progress, not yet officially released.\n\n---\n\nTask submitted by ["Cowboy" Ben Alman](http://benalman.com)\n\n*This file was generated on Tue Dec 23 2014 16:18:53.*\n', -234 silly resolved readmeFilename: 'README.md', -234 silly resolved _id: 'grunt-contrib-uglify@0.7.0', -234 silly resolved _from: 'grunt-contrib-uglify@~0.7.0' }, -234 silly resolved { name: 'grunt-contrib-concat', -234 silly resolved description: 'Concatenate files.', -234 silly resolved version: '0.5.1', -234 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' }, -234 silly resolved repository: -234 silly resolved { type: 'git', -234 silly resolved url: 'git://github.com/gruntjs/grunt-contrib-concat' }, -234 silly resolved licenses: [ [Object] ], -234 silly resolved engines: { node: '>=0.10.0' }, -234 silly resolved scripts: { test: 'grunt test' }, -234 silly resolved dependencies: { chalk: '^0.5.1', 'source-map': '^0.3.0' }, -234 silly resolved devDependencies: -234 silly resolved { grunt: '^0.4.5', -234 silly resolved 'grunt-cli': '^0.1.13', -234 silly resolved 'grunt-contrib-clean': '^0.6.0', -234 silly resolved 'grunt-contrib-internal': '^0.4.2', -234 silly resolved 'grunt-contrib-jshint': '^0.11.0', -234 silly resolved 'grunt-contrib-nodeunit': '^0.4.0' }, -234 silly resolved peerDependencies: { grunt: '>=0.4.0' }, -234 silly resolved keywords: [ 'gruntplugin' ], -234 silly resolved files: [ 'tasks' ], -234 silly resolved appveyor_id: 'l42173901ms416km', -234 silly resolved readme: '# grunt-contrib-concat v0.5.1 [![Build Status: Linux](https://travis-ci.org/gruntjs/grunt-contrib-concat.svg?branch=master)](https://travis-ci.org/gruntjs/grunt-contrib-concat) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/l42173901ms416km/branch/master?svg=true)](https://ci.appveyor.com/project/gruntjs/grunt-contrib-concat/branch/master)\n\n> Concatenate files.\n\n\n\n## Getting Started\nThis plugin requires Grunt `>=0.4.0`\n\nIf you haven\'t used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you\'re familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-concat --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks(\'grunt-contrib-concat\');\n```\n\n\n\n\n## Concat task\n_Run this task with the `grunt concat` command._\n\nTask targets, files and options may be specified according to the Grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.\n\n### Options\n\n#### separator\nType: `String`\nDefault: `grunt.util.linefeed`\n\nConcatenated files will be joined on this string. If you\'re post-processing concatenated JavaScript files with a minifier, you may need to use a semicolon `\';\'` as the separator.\n\n#### banner\nType: `String`\nDefault: empty string\n\nThis string will be prepended to the beginning of the concatenated output. It is processed using [grunt.template.process][], using the default options.\n\n_(Default processing options are explained in the [grunt.template.process][] documentation)_\n\n#### footer\nType: `String`\nDefault: empty string\n\nThis string will be appended to the end of the concatenated output. It is processed using [grunt.template.process][], using the default options.\n\n_(Default processing options are explained in the [grunt.template.process][] documentation)_\n\n#### stripBanners\nType: `Boolean` `Object`\nDefault: `false`\n\nStrip JavaScript banner comments from source files.\n\n* `false` - No comments are stripped.\n* `true` - `/* ... */` block comments are stripped, but _NOT_ `/*! ... */` comments.\n* `options` object:\n * By default, behaves as if `true` were specified.\n * `block` - If true, _all_ block comments are stripped.\n * `line` - If true, any contiguous _leading_ `//` line comments are stripped.\n\n#### process\nType: `Boolean` `Object` `Function`\nDefault: `false`\n\nProcess source files before concatenating, either as [templates][] or with a custom function.\n\n* `false` - No processing will occur.\n* `true` - Process source files using [grunt.template.process][] defaults.\n* `data` object - Process source files using [grunt.template.process][], using the specified options.\n* `function(src, filepath)` - Process source files using the given function, called once for each file. The returned value will be used as source code.\n\n_(Default processing options are explained in the [grunt.template.process][] documentation)_\n\n [templates]: https://github.com/gruntjs/grunt-docs/blob/master/grunt.template.md\n [grunt.template.process]: https://github.com/gruntjs/grunt-docs/blob/master/grunt.template.md#grunttemplateprocess\n\n#### sourceMap\nType: `Boolean`\nDefault: `false`\n\nSet to true to create a source map. The source map will be created alongside the destination file, and share the same file name with the `.map` extension appended to it.\n\n#### sourceMapName\nType: `String` `Function`\nDefault: `undefined`\n\nTo customize the name or location of the generated source map, pass a string to indicate where to write the source map to. If a function is provided, the concat destination is passed as the argument and the return value will be used as the file name.\n\n#### sourceMapStyle\nType: `String`\nDefault: `embed`\n\nDetermines the type of source map that is generated. The default value, `embed`, places the content of the sources directly into the map. `link` will reference the original sources in the map as links. `inline` will store the entire map as a data URI in the destination file.\n\n### Usage Examples\n\n#### Concatenating with a custom separator\n\nIn this example, running `grunt concat:dist` (or `grunt concat` because `concat` is a [multi task][multitask]) will concatenate the three specified source files (in order), joining files with `;` and writing the output to `dist/built.js`.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n concat: {\n options: {\n separator: \';\',\n },\n dist: {\n src: [\'src/intro.js\', \'src/project.js\', \'src/outro.js\'],\n dest: \'dist/built.js\',\n },\n },\n});\n```\n\n#### Banner comments\n\nIn this example, running `grunt concat:dist` will first strip any preexisting banner comment from the `src/project.js` file, then concatenate the result with a newly-generated banner comment, writing the output to `dist/built.js`.\n\nThis generated banner will be the contents of the `banner` template string interpolated with the config object. In this case, those properties are the values imported from the `package.json` file (which are available via the `pkg` config property) plus today\'s date.\n\n_Note: you don\'t have to use an external JSON file. It\'s also valid to create the `pkg` object inline in the config. That being said, if you already have a JSON file, you might as well reference it._\n\n```js\n// Project configuration.\ngrunt.initConfig({\n pkg: grunt.file.readJSON(\'package.json\'),\n concat: {\n options: {\n stripBanners: true,\n banner: \'/*! <%= pkg.name %> - v<%= pkg.version %> - \' +\n \'<%= grunt.template.today("yyyy-mm-dd") %> */\',\n },\n dist: {\n src: [\'src/project.js\'],\n dest: \'dist/built.js\',\n },\n },\n});\n```\n\n#### Multiple targets\n\nIn this example, running `grunt concat` will build two separate files. One "basic" version, with the main file essentially just copied to `dist/basic.js`, and another "with_extras" concatenated version written to `dist/with_extras.js`.\n\nWhile each concat target can be built individually by running `grunt concat:basic` or `grunt concat:extras`, running `grunt concat` will build all concat targets. This is because `concat` is a [multi task][multitask].\n\n```js\n// Project configuration.\ngrunt.initConfig({\n concat: {\n basic: {\n src: [\'src/main.js\'],\n dest: \'dist/basic.js\',\n },\n extras: {\n src: [\'src/main.js\', \'src/extras.js\'],\n dest: \'dist/with_extras.js\',\n },\n },\n});\n```\n\n#### Multiple files per target\n\nLike the previous example, in this example running `grunt concat` will build two separate files. One "basic" version, with the main file essentially just copied to `dist/basic.js`, and another "with_extras" concatenated version written to `dist/with_extras.js`.\n\nThis example differs in that both files are built under the same target.\n\nUsing the `files` object, you can have list any number of source-destination pairs.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n concat: {\n basic_and_extras: {\n files: {\n \'dist/basic.js\': [\'src/main.js\'],\n \'dist/with_extras.js\': [\'src/main.js\', \'src/extras.js\'],\n },\n },\n },\n});\n```\n\n#### Dynamic filenames\n\nFilenames can be generated dynamically by using `<%= %>` delimited underscore templates as filenames.\n\nIn this example, running `grunt concat:dist` generates a destination file whose name is generated from the `name` and `version` properties of the referenced `package.json` file (via the `pkg` config property).\n\n```js\n// Project configuration.\ngrunt.initConfig({\n pkg: grunt.file.readJSON(\'package.json\'),\n concat: {\n dist: {\n src: [\'src/main.js\'],\n dest: \'dist/<%= pkg.name %>-<%= pkg.version %>.js\',\n },\n },\n});\n```\n\n#### Advanced dynamic filenames\n\nIn this more involved example, running `grunt concat` will build two separate files (because `concat` is a [multi task][multitask]). The destination file paths will be expanded dynamically based on the specified templates, recursively if necessary.\n\nFor example, if the `package.json` file contained `{"name": "awesome", "version": "1.0.0"}`, the files `dist/awesome/1.0.0/basic.js` and `dist/awesome/1.0.0/with_extras.js` would be generated.\n\n```js\n// Project configuration.\ngrunt.initConfig({\n pkg: grunt.file.readJSON(\'package.json\'),\n dirs: {\n src: \'src/files\',\n dest: \'dist/<%= pkg.name %>/<%= pkg.version %>\',\n },\n concat: {\n basic: {\n src: [\'<%= dirs.src %>/main.js\'],\n dest: \'<%= dirs.dest %>/basic.js\',\n },\n extras: {\n src: [\'<%= dirs.src %>/main.js\', \'<%= dirs.src %>/extras.js\'],\n dest: \'<%= dirs.dest %>/with_extras.js\',\n },\n },\n});\n```\n\n#### Invalid or Missing Files Warning\nIf you would like the `concat` task to warn if a given file is missing or invalid be sure to set `nonull` to `true`:\n\n```js\ngrunt.initConfig({\n concat: {\n missing: {\n src: [\'src/invalid_or_missing_file\'],\n dest: \'compiled.js\',\n nonull: true,\n },\n },\n});\n```\n\nSee [configuring files for a task](http://gruntjs.com/configuring-tasks#files) for how to configure file globbing in Grunt.\n\n\n#### Custom process function\nIf you would like to do any custom processing before concatenating, use a custom process function:\n\n```js\ngrunt.initConfig({\n concat: {\n dist: {\n options: {\n // Replace all \'use strict\' statements in the code with a single one at the top\n banner: "\'use strict\';\\n",\n process: function(src, filepath) {\n return \'// Source: \' + filepath + \'\\n\' +\n src.replace(/(^|\\n)[ \\t]*(\'use strict\'|"use strict");?\\s*/g, \'$1\');\n },\n },\n files: {\n \'dist/built.js\': [\'src/project.js\'],\n },\n },\n },\n});\n```\n\n[multitask]: http://gruntjs.com/creating-tasks#multi-tasks\n\n\n## Release History\n\n * 2015-02-20   v0.5.1   Fix path issues with Source Maps on Windows.\n * 2014-07-19   v0.5.0   Adds sourceMap option.\n * 2014-03-21   v0.4.0   README updates. Output updates.\n * 2013-04-25   v0.3.0   Add option to process files with a custom function.\n * 2013-04-08   v0.2.0   Don\'t normalize separator to allow user to set LF even on a Windows environment.\n * 2013-02-22   v0.1.3   Support footer option.\n * 2013-02-15   v0.1.2   First official release for Grunt 0.4.0.\n * 2013-01-18   v0.1.2rc6   Updating grunt/gruntplugin dependencies to rc6. Changing in-development grunt/gruntplugin dependency versions from tilde version ranges to specific versions.\n * 2013-01-09   v0.1.2rc5   Updating to work with grunt v0.4.0rc5. Switching back to this.files api.\n * 2012-11-13   v0.1.1   Switch to this.file api internally.\n * 2012-10-03   v0.1.0   Work in progress, not yet officially released.\n\n---\n\nTask submitted by ["Cowboy" Ben Alman](http://benalman.com/)\n\n*This file was generated on Fri Feb 20 2015 10:39:55.*\n', -234 silly resolved readmeFilename: 'README.md', -234 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-contrib-concat/issues' }, -234 silly resolved _id: 'grunt-contrib-concat@0.5.1', -234 silly resolved _from: 'grunt-contrib-concat@~0.5.0' }, -234 silly resolved { name: 'grunt-contrib-watch', -234 silly resolved description: 'Run predefined tasks whenever watched file patterns are added, changed or deleted.', -234 silly resolved version: '0.6.1', -234 silly resolved homepage: 'https://github.com/gruntjs/grunt-contrib-watch', -234 silly resolved author: { name: 'Grunt Team', url: 'http://gruntjs.com/' }, -234 silly resolved repository: -234 silly resolved { type: 'git', -234 silly resolved url: 'git://github.com/gruntjs/grunt-contrib-watch.git' }, -234 silly resolved bugs: { url: 'https://github.com/gruntjs/grunt-contrib-watch/issues' }, -234 silly resolved licenses: [ [Object] ], -234 silly resolved engines: { node: '>= 0.8.0' }, -234 silly resolved scripts: { test: 'grunt nodeunit -v' }, -234 silly resolved dependencies: -234 silly resolved { gaze: '~0.5.1', -234 silly resolved 'tiny-lr-fork': '0.0.5', -234 silly resolved lodash: '~2.4.1', -234 silly resolved async: '~0.2.9' }, -234 silly resolved devDependencies: -234 silly resolved { grunt: '~0.4.0', -234 silly resolved 'grunt-contrib-jshint': '~0.8.0', -234 silly resolved 'grunt-contrib-nodeunit': '~0.3.3', -234 silly resolved 'grunt-contrib-internal': '~0.4.7', -234 silly resolved 'underscore.string': '~2.3.3' }, -234 silly resolved peerDependencies: { grunt: '~0.4.0' }, -234 silly resolved keywords: [ 'gruntplugin', 'watch' ], -234 silly resolved files: [ 'tasks', 'LICENSE-MIT' ], -234 silly resolved readme: '# grunt-contrib-watch v0.6.1 [![Build Status](https://travis-ci.org/gruntjs/grunt-contrib-watch.png?branch=master)](https://travis-ci.org/gruntjs/grunt-contrib-watch)\n\n> Run predefined tasks whenever watched file patterns are added, changed or deleted.\n\n\n\n## Getting Started\nThis plugin requires Grunt `~0.4.0`\n\nIf you haven\'t used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you\'re familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-contrib-watch --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks(\'grunt-contrib-watch\');\n```\n\n\n\n\n## Watch task\n_Run this task with the `grunt watch` command._\n\n\n### Settings\n\nThere are a number of options available. Please review the [minimatch options here](https://github.com/isaacs/minimatch#options). As well as some additional options as follows:\n\n#### files\nType: `String|Array`\n\nThis defines what file patterns this task will watch. Can be a string or an array of files and/or minimatch patterns.\n\n#### tasks\nType: `String|Array`\n\nThis defines which tasks to run when a watched file event occurs.\n\n#### options.spawn\nType: `Boolean`\nDefault: true\n\nWhether to spawn task runs in a child process. Setting this option to `false` speeds up the reaction time of the watch (usually 500ms faster for most) and allows subsequent task runs to share the same context. Not spawning task runs can make the watch more prone to failing so please use as needed.\n\nExample:\n```js\nwatch: {\n scripts: {\n files: [\'**/*.js\'],\n tasks: [\'jshint\'],\n options: {\n spawn: false,\n },\n },\n},\n```\n\n*For backwards compatibility the option `nospawn` is still available and will do the opposite of `spawn`.*\n\n#### options.interrupt\nType: `Boolean`\nDefault: false\n\nAs files are modified this watch task will spawn tasks in child processes. The default behavior will only spawn a new child process per target when the previous process has finished. Set the `interrupt` option to true to terminate the previous process and spawn a new one upon later changes.\n\nExample:\n```js\nwatch: {\n scripts: {\n files: \'**/*.js\',\n tasks: [\'jshint\'],\n options: {\n interrupt: true,\n },\n },\n},\n```\n\n#### options.debounceDelay\nType: `Integer`\nDefault: 500\n\nHow long to wait before emitting events in succession for the same filepath and status. For example if your `Gruntfile.js` file was `changed`, a `changed` event will only fire again after the given milliseconds.\n\nExample:\n```js\nwatch: {\n scripts: {\n files: \'**/*.js\',\n tasks: [\'jshint\'],\n options: {\n debounceDelay: 250,\n },\n },\n},\n```\n\n#### options.interval\nType: `Integer`\nDefault: 100\n\nThe `interval` is passed to `fs.watchFile`. Since `interval` is only used by `fs.watchFile` and this watcher also uses `fs.watch`; it is recommended to ignore this option. *Default is 100ms*.\n\n#### options.event\nType: `String|Array`\nDefault: `\'all\'`\n\nSpecify the type watch event that trigger the specified task. This option can be one or many of: `\'all\'`, `\'changed\'`, `\'added\'` and `\'deleted\'`.\n\nExample:\n```js\nwatch: {\n scripts: {\n files: \'**/*.js\',\n tasks: [\'generateFileManifest\'],\n options: {\n event: [\'added\', \'deleted\'],\n },\n },\n},\n```\n\n#### options.reload\nType: `Boolean`\nDefault: `false`\n\nBy default, if `Gruntfile.js` is being watched, then changes to it will trigger the watch task to restart, and reload the `Gruntfile.js` changes.\nWhen `reload` is set to `true`, changes to *any* of the watched files will trigger the watch task to restart.\nThis is especially useful if your `Gruntfile.js` is dependent on other files.\n\n```js\nwatch: {\n configFiles: {\n files: [ \'Gruntfile.js\', \'config/*.js\' ],\n options: {\n reload: true\n }\n }\n}\n```\n\n\n#### options.forever\nType: `Boolean`\nDefault: true\n\nThis is *only a task level option* and cannot be configured per target. By default the watch task will duck punch `grunt.fatal` and `grunt.warn` to try and prevent them from exiting the watch process. If you don\'t want `grunt.fatal` and `grunt.warn` to be overridden set the `forever` option to `false`.\n\n#### options.dateFormat\nType: `Function`\n\nThis is *only a task level option* and cannot be configured per target. By default when the watch has finished running tasks it will display the message `Completed in 1.301s at Thu Jul 18 2013 14:58:21 GMT-0700 (PDT) - Waiting...`. You can override this message by supplying your own function:\n\n```js\nwatch: {\n options: {\n dateFormat: function(time) {\n grunt.log.writeln(\'The watch finished in \' + time + \'ms at\' + (new Date()).toString());\n grunt.log.writeln(\'Waiting for more changes...\');\n },\n },\n scripts: {\n files: \'**/*.js\',\n tasks: \'jshint\',\n },\n},\n```\n\n#### options.atBegin\nType: `Boolean`\nDefault: false\n\nThis option will trigger the run of each specified task at startup of the watcher.\n\n#### options.livereload\nType: `Boolean|Number|Object`\nDefault: false\n\nSet to `true` or set `livereload: 1337` to a port number to enable live reloading. Default and recommended port is `35729`.\n\nIf enabled a live reload server will be started with the watch task per target. Then after the indicated tasks have ran, the live reload server will be triggered with the modified files.\n\nExample:\n```js\nwatch: {\n css: {\n files: \'**/*.sass\',\n tasks: [\'sass\'],\n options: {\n livereload: true,\n },\n },\n},\n```\n\nIt\'s possible to get livereload working over https connections. To do this, pass an object to `livereload` with a `key` and `cert` paths specified.\n\nExample:\n```js\nwatch: {\n css: {\n files: \'**/*.sass\',\n tasks: [\'sass\'],\n options: {\n livereload: {\n port: 9000,\n key: grunt.file.read(\'path/to/ssl.key\'),\n cert: grunt.file.read(\'path/to/ssl.crt\')\n // you can pass in any other options you\'d like to the https server, as listed here: http://nodejs.org/api/tls.html#tls_tls_createserver_options_secureconnectionlistener\n }\n },\n },\n},\n```\n\n\n#### options.cwd\nType: `String|Object`\nDefault: `process.cwd()`\n\nAbility to set the current working directory. Defaults to `process.cwd()`. Can either be a string to set the cwd to match files and spawn tasks. Or an object to set each independently. Such as `options: { cwd: { files: \'match/files/from/here\', spawn: \'but/spawn/files/from/here\' } }`.\n\n#### options.livereloadOnError\nType: `Boolean` \nDefault: `true` \n\nOption to prevent the livereload if the executed tasks encountered an error. If set to `false`, the livereload will only be triggered if all tasks completed successfully.\n\n### Examples\n\n```js\n// Simple config to run jshint any time a file is added, changed or deleted\ngrunt.initConfig({\n watch: {\n files: [\'**/*\'],\n tasks: [\'jshint\'],\n },\n});\n```\n\n```js\n// Advanced config. Run specific tasks when specific files are added, changed or deleted.\ngrunt.initConfig({\n watch: {\n gruntfile: {\n files: \'Gruntfile.js\',\n tasks: [\'jshint:gruntfile\'],\n },\n src: {\n files: [\'lib/*.js\', \'css/**/*.scss\', \'!lib/dontwatch.js\'],\n tasks: [\'default\'],\n },\n test: {\n files: \'<%= jshint.test.src %>\',\n tasks: [\'jshint:test\', \'qunit\'],\n },\n },\n});\n```\n\n#### Using the `watch` event\nThis task will emit a `watch` event when watched files are modified. This is useful if you would like a simple notification when files are edited or if you\'re using this task in tandem with another task. Here is a simple example using the `watch` event:\n\n```js\ngrunt.initConfig({\n watch: {\n scripts: {\n files: [\'lib/*.js\'],\n },\n },\n});\ngrunt.event.on(\'watch\', function(action, filepath, target) {\n grunt.log.writeln(target + \': \' + filepath + \' has \' + action);\n});\n```\n\n**The `watch` event is not intended for replacing the standard Grunt API for configuring and running tasks. If you\'re trying to run tasks from within the `watch` event you\'re more than likely doing it wrong. Please read [configuring tasks](http://gruntjs.com/configuring-tasks).**\n\n##### Compiling Files As Needed\nA very common request is to only compile files as needed. Here is an example that will only lint changed files with the `jshint` task:\n\n```js\ngrunt.initConfig({\n watch: {\n scripts: {\n files: [\'lib/*.js\'],\n tasks: [\'jshint\'],\n options: {\n spawn: false,\n },\n },\n },\n jshint: {\n all: {\n src: [\'lib/*.js\'],\n },\n },\n});\n\n// on watch events configure jshint:all to only run on changed file\ngrunt.event.on(\'watch\', function(action, filepath) {\n grunt.config(\'jshint.all.src\', filepath);\n});\n```\n\nIf you need to dynamically modify your config, the `spawn` option must be disabled to keep the watch running under the same context.\n\nIf you save multiple files simultaneously you may opt for a more robust method:\n\n```js\nvar changedFiles = Object.create(null);\nvar onChange = grunt.util._.debounce(function() {\n grunt.config(\'jshint.all.src\', Object.keys(changedFiles));\n changedFiles = Object.create(null);\n}, 200);\ngrunt.event.on(\'watch\', function(action, filepath) {\n changedFiles[filepath] = action;\n onChange();\n});\n```\n\n#### Live Reloading\nLive reloading is built into the watch task. Set the option `livereload` to `true` to enable on the default port `35729` or set to a custom port: `livereload: 1337`.\n\nThe simplest way to add live reloading to all your watch targets is by setting `livereload` to `true` at the task level. This will run a single live reload server and trigger the live reload for all your watch targets:\n\n```js\ngrunt.initConfig({\n watch: {\n options: {\n livereload: true,\n },\n css: {\n files: [\'public/scss/*.scss\'],\n tasks: [\'compass\'],\n },\n },\n});\n```\n\nYou can also configure live reload for individual watch targets or run multiple live reload servers. Just be sure if you\'re starting multiple servers they operate on different ports:\n\n```js\ngrunt.initConfig({\n watch: {\n css: {\n files: [\'public/scss/*.scss\'],\n tasks: [\'compass\'],\n options: {\n // Start a live reload server on the default port 35729\n livereload: true,\n },\n },\n another: {\n files: [\'lib/*.js\'],\n tasks: [\'anothertask\'],\n options: {\n // Start another live reload server on port 1337\n livereload: 1337,\n },\n },\n dont: {\n files: [\'other/stuff/*\'],\n tasks: [\'dostuff\'],\n },\n },\n});\n```\n\n##### Enabling Live Reload in Your HTML\nOnce you\'ve started a live reload server you\'ll be able to access the live reload script. To enable live reload on your page, add a script tag before your closing `` tag pointing to the `livereload.js` script:\n\n```html\n\n```\n\nFeel free to add this script to your template situation and toggle with some sort of `dev` flag.\n\n##### Using Live Reload with the Browser Extension\nInstead of adding a script tag to your page, you can live reload your page by installing a browser extension. Please visit [how do I install and use the browser extensions](http://feedback.livereload.com/knowledgebase/articles/86242-how-do-i-install-and-use-the-browser-extensions-) for help installing an extension for your browser.\n\nOnce installed please use the default live reload port `35729` and the browser extension will automatically reload your page without needing the `