diff --git a/NEWS.md b/NEWS.md index 3e4004fc..0cbb539f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -68,6 +68,7 @@ Released 2016-06-21 Enhancements: - Split turbo-carto adapter substitutions tokens query. - Now errors with context have the same schema. #519 + - Responses with error now return the layer-id to give more info to the user. Announcements: - Upgrades camshaft to [0.20.0](https://github.com/CartoDB/camshaft/releases/tag/0.20.0) diff --git a/lib/cartodb/controllers/base.js b/lib/cartodb/controllers/base.js index b1b8bf6a..4ce9af17 100644 --- a/lib/cartodb/controllers/base.js +++ b/lib/cartodb/controllers/base.js @@ -242,11 +242,19 @@ function errorMessageWithContext(err) { // See https://github.com/Vizzuality/Windshaft-cartodb/issues/68 var message = (_.isString(err) ? err : err.message) || 'Unknown error'; - return { + var error = { type: err.type || 'unknown', message: stripConnectionInfo(message), - context: err.context || 'unknown' }; + + for (var prop in err) { + // type & message are properties from Error's prototype and will be skipped + if (err.hasOwnProperty(prop)) { + error[prop] = err[prop]; + } + } + + return error; } module.exports.errorMessage = errorMessage; diff --git a/lib/cartodb/models/mapconfig/adapter/analysis-mapconfig-adapter.js b/lib/cartodb/models/mapconfig/adapter/analysis-mapconfig-adapter.js index 7fd2316b..f69c22db 100644 --- a/lib/cartodb/models/mapconfig/adapter/analysis-mapconfig-adapter.js +++ b/lib/cartodb/models/mapconfig/adapter/analysis-mapconfig-adapter.js @@ -58,14 +58,12 @@ AnalysisMapConfigAdapter.prototype.getMapConfig = function(user, requestMapConfi requestMapConfig = appendFiltersToNodes(requestMapConfig, dataviewsFiltersBySourceId); - function createAnalysis(analysisDefinition, index, done) { + function createAnalysis(analysisDefinition, done) { self.analysisBackend.create(analysisConfiguration, analysisDefinition, function (err, analysis) { if (err) { var error = new Error(err.message); error.type = 'analysis'; - error.context = {}; - error.context.layer = { - index: index, + error.analysis = { id: analysisDefinition.id, type: analysisDefinition.type }; @@ -77,8 +75,8 @@ AnalysisMapConfigAdapter.prototype.getMapConfig = function(user, requestMapConfi } var analysesQueue = queue(requestMapConfig.analyses.length); - requestMapConfig.analyses.forEach(function(analysis, index) { - analysesQueue.defer(createAnalysis, analysis, index); + requestMapConfig.analyses.forEach(function(analysis) { + analysesQueue.defer(createAnalysis, analysis); }); analysesQueue.awaitAll(function(err, analysesResults) { diff --git a/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js b/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js index 8efaf5a6..97a655ec 100644 --- a/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js +++ b/lib/cartodb/models/mapconfig/adapter/turbo-carto-adapter.js @@ -9,6 +9,8 @@ var turboCarto = require('turbo-carto'); var SubstitutionTokens = require('../../../utils/substitution-tokens'); var PostgresDatasource = require('../../../backends/turbo-carto-postgres-datasource'); +var MapConfig = require('windshaft').model.MapConfig; + function TurboCartoAdapter() { } @@ -26,7 +28,8 @@ TurboCartoAdapter.prototype.getMapConfig = function (user, requestMapConfig, par var parseCartoQueue = queue(layers.length); layers.forEach(function(layer, index) { - parseCartoQueue.defer(self._parseCartoCss.bind(self), user, params, layer, index); + var layerId = MapConfig.getLayerId(requestMapConfig, index); + parseCartoQueue.defer(self._parseCartoCss.bind(self), user, params, layer, index, layerId); }); parseCartoQueue.awaitAll(function (err, layers) { @@ -65,7 +68,7 @@ var tokensQueryTpl = dot.template([ 'from bbox_query, pixel_size_query, scale_denominator_query, zoom_query' ].join('\n')); -TurboCartoAdapter.prototype._parseCartoCss = function (username, params, layer, index, callback) { +TurboCartoAdapter.prototype._parseCartoCss = function (username, params, layer, layerIndex, layerId, callback) { if (!shouldParseLayerCartocss(layer)) { return callback(null, layer); } @@ -76,11 +79,13 @@ TurboCartoAdapter.prototype._parseCartoCss = function (username, params, layer, if (err && err.name === 'TurboCartoError') { var error = new Error('turbo-carto: ' + err.message); error.http_status = 400; - error.type = 'turbo-carto'; - error.context = err.context; - error.context.layer = { - index: index, - type: layer.type + error.type = 'layer'; + error.subtype = 'turbo-carto'; + error.layer = { + id: layerId, + index: layerIndex, + type: layer.type, + context: err.context }; return callback(error); diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 1df628a6..963b285d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -4,98 +4,98 @@ "dependencies": { "body-parser": { "version": "1.14.2", - "from": "body-parser@>=1.14.0 <1.15.0", + "from": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", "dependencies": { "bytes": { "version": "2.2.0", - "from": "bytes@2.2.0", + "from": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" }, "content-type": { "version": "1.0.2", - "from": "content-type@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" }, "depd": { "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", + "from": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" }, "http-errors": { "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", + "from": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "dependencies": { "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "statuses": { "version": "1.3.0", - "from": "statuses@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz" } } }, "iconv-lite": { "version": "0.4.13", - "from": "iconv-lite@0.4.13", + "from": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" }, "on-finished": { "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", + "from": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "dependencies": { "ee-first": { "version": "1.1.1", - "from": "ee-first@1.1.1", + "from": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" } } }, "qs": { "version": "5.2.0", - "from": "qs@5.2.0", + "from": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz" }, "raw-body": { "version": "2.1.7", - "from": "raw-body@>=2.1.5 <2.2.0", + "from": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", "dependencies": { "bytes": { "version": "2.4.0", - "from": "bytes@2.4.0", + "from": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz" }, "unpipe": { "version": "1.0.0", - "from": "unpipe@1.0.0", + "from": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" } } }, "type-is": { "version": "1.6.13", - "from": "type-is@>=1.6.10 <1.7.0", + "from": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", "dependencies": { "media-typer": { "version": "0.3.0", - "from": "media-typer@0.3.0", + "from": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" }, "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.11 <2.2.0", + "from": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", + "from": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" } } @@ -487,22 +487,22 @@ }, "cartodb-psql": { "version": "0.6.1", - "from": "cartodb-psql@>=0.6.1 <0.7.0", + "from": "https://registry.npmjs.org/cartodb-psql/-/cartodb-psql-0.6.1.tgz", "resolved": "https://registry.npmjs.org/cartodb-psql/-/cartodb-psql-0.6.1.tgz", "dependencies": { "pg": { "version": "2.6.2-cdb3", - "from": "git://github.com/CartoDB/node-postgres.git#2.6.2-cdb3", + "from": "git://github.com/CartoDB/node-postgres.git#069c5296d1a093077feff21719641bb9e71fc50e", "resolved": "git://github.com/CartoDB/node-postgres.git#069c5296d1a093077feff21719641bb9e71fc50e", "dependencies": { "generic-pool": { "version": "2.0.3", - "from": "generic-pool@2.0.3", + "from": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.3.tgz", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.0.3.tgz" }, "buffer-writer": { "version": "1.0.0", - "from": "buffer-writer@1.0.0", + "from": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.0.tgz", "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.0.tgz" } } @@ -511,42 +511,42 @@ }, "cartodb-query-tables": { "version": "0.1.0", - "from": "cartodb-query-tables@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/cartodb-query-tables/-/cartodb-query-tables-0.1.0.tgz", "resolved": "https://registry.npmjs.org/cartodb-query-tables/-/cartodb-query-tables-0.1.0.tgz" }, "cartodb-redis": { "version": "0.13.0", - "from": "cartodb-redis@>=0.13.0 <0.14.0", + "from": "https://registry.npmjs.org/cartodb-redis/-/cartodb-redis-0.13.0.tgz", "resolved": "https://registry.npmjs.org/cartodb-redis/-/cartodb-redis-0.13.0.tgz", "dependencies": { "redis-mpool": { "version": "0.1.0", - "from": "git://github.com/CartoDB/node-redis-mpool.git#0.1.0", + "from": "git://github.com/CartoDB/node-redis-mpool.git#47510b8d4525ee24aa2e5328976372274a1d144e", "resolved": "git://github.com/CartoDB/node-redis-mpool.git#47510b8d4525ee24aa2e5328976372274a1d144e", "dependencies": { "generic-pool": { "version": "2.1.1", - "from": "generic-pool@>=2.1.1 <2.2.0", + "from": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.1.1.tgz", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.1.1.tgz" }, "redis": { "version": "0.12.1", - "from": "redis@>=0.12.1 <0.13.0", + "from": "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz", "resolved": "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz" }, "hiredis": { "version": "0.1.17", - "from": "hiredis@>=0.1.17 <0.2.0", + "from": "https://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz", "resolved": "https://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz", "dependencies": { "bindings": { "version": "1.2.1", - "from": "bindings@*", + "from": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" }, "nan": { "version": "1.1.2", - "from": "nan@>=1.1.0 <1.2.0", + "from": "https://registry.npmjs.org/nan/-/nan-1.1.2.tgz", "resolved": "https://registry.npmjs.org/nan/-/nan-1.1.2.tgz" } } @@ -557,245 +557,245 @@ }, "debug": { "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", + "from": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "dependencies": { "ms": { "version": "0.7.1", - "from": "ms@0.7.1", + "from": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } } }, "dot": { "version": "1.0.3", - "from": "dot@>=1.0.2 <1.1.0", + "from": "https://registry.npmjs.org/dot/-/dot-1.0.3.tgz", "resolved": "https://registry.npmjs.org/dot/-/dot-1.0.3.tgz" }, "express": { "version": "4.13.4", - "from": "express@>=4.13.3 <4.14.0", + "from": "https://registry.npmjs.org/express/-/express-4.13.4.tgz", "resolved": "https://registry.npmjs.org/express/-/express-4.13.4.tgz", "dependencies": { "accepts": { "version": "1.2.13", - "from": "accepts@>=1.2.12 <1.3.0", + "from": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "dependencies": { "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.6 <2.2.0", + "from": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", + "from": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" } } }, "negotiator": { "version": "0.5.3", - "from": "negotiator@0.5.3", + "from": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz" } } }, "array-flatten": { "version": "1.1.1", - "from": "array-flatten@1.1.1", + "from": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" }, "content-disposition": { "version": "0.5.1", - "from": "content-disposition@0.5.1", + "from": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" }, "content-type": { "version": "1.0.2", - "from": "content-type@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" }, "cookie": { "version": "0.1.5", - "from": "cookie@0.1.5", + "from": "https://registry.npmjs.org/cookie/-/cookie-0.1.5.tgz", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.5.tgz" }, "cookie-signature": { "version": "1.0.6", - "from": "cookie-signature@1.0.6", + "from": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" }, "depd": { "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", + "from": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" }, "escape-html": { "version": "1.0.3", - "from": "escape-html@>=1.0.3 <1.1.0", + "from": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" }, "etag": { "version": "1.7.0", - "from": "etag@>=1.7.0 <1.8.0", + "from": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" }, "finalhandler": { "version": "0.4.1", - "from": "finalhandler@0.4.1", + "from": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", "dependencies": { "unpipe": { "version": "1.0.0", - "from": "unpipe@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" } } }, "fresh": { "version": "0.3.0", - "from": "fresh@0.3.0", + "from": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" }, "merge-descriptors": { "version": "1.0.1", - "from": "merge-descriptors@1.0.1", + "from": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" }, "methods": { "version": "1.1.2", - "from": "methods@>=1.1.2 <1.2.0", + "from": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" }, "on-finished": { "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", + "from": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "dependencies": { "ee-first": { "version": "1.1.1", - "from": "ee-first@1.1.1", + "from": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" } } }, "parseurl": { "version": "1.3.1", - "from": "parseurl@>=1.3.1 <1.4.0", + "from": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" }, "path-to-regexp": { "version": "0.1.7", - "from": "path-to-regexp@0.1.7", + "from": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" }, "proxy-addr": { "version": "1.0.10", - "from": "proxy-addr@>=1.0.10 <1.1.0", + "from": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", "dependencies": { "forwarded": { "version": "0.1.0", - "from": "forwarded@>=0.1.0 <0.2.0", + "from": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" }, "ipaddr.js": { "version": "1.0.5", - "from": "ipaddr.js@1.0.5", + "from": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz" } } }, "qs": { "version": "4.0.0", - "from": "qs@4.0.0", + "from": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz" }, "range-parser": { "version": "1.0.3", - "from": "range-parser@>=1.0.3 <1.1.0", + "from": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz" }, "send": { "version": "0.13.1", - "from": "send@0.13.1", + "from": "https://registry.npmjs.org/send/-/send-0.13.1.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.13.1.tgz", "dependencies": { "destroy": { "version": "1.0.4", - "from": "destroy@>=1.0.4 <1.1.0", + "from": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" }, "http-errors": { "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", + "from": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "dependencies": { "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "mime": { "version": "1.3.4", - "from": "mime@1.3.4", + "from": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" }, "ms": { "version": "0.7.1", - "from": "ms@0.7.1", + "from": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, "statuses": { "version": "1.2.1", - "from": "statuses@>=1.2.1 <1.3.0", + "from": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" } } }, "serve-static": { "version": "1.10.3", - "from": "serve-static@>=1.10.2 <1.11.0", + "from": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz", "dependencies": { "send": { "version": "0.13.2", - "from": "send@0.13.2", + "from": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", "resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz", "dependencies": { "destroy": { "version": "1.0.4", - "from": "destroy@>=1.0.4 <1.1.0", + "from": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" }, "http-errors": { "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", + "from": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", "dependencies": { "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "mime": { "version": "1.3.4", - "from": "mime@1.3.4", + "from": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" }, "ms": { "version": "0.7.1", - "from": "ms@0.7.1", + "from": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, "statuses": { "version": "1.2.1", - "from": "statuses@>=1.2.1 <1.3.0", + "from": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" } } @@ -804,22 +804,22 @@ }, "type-is": { "version": "1.6.13", - "from": "type-is@>=1.6.6 <1.7.0", + "from": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz", "dependencies": { "media-typer": { "version": "0.3.0", - "from": "media-typer@0.3.0", + "from": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" }, "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.6 <2.2.0", + "from": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", + "from": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" } } @@ -828,19 +828,19 @@ }, "utils-merge": { "version": "1.0.0", - "from": "utils-merge@1.0.0", + "from": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" }, "vary": { "version": "1.0.1", - "from": "vary@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz", "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz" } } }, "fastly-purge": { "version": "1.0.1", - "from": "fastly-purge@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/fastly-purge/-/fastly-purge-1.0.1.tgz", "resolved": "https://registry.npmjs.org/fastly-purge/-/fastly-purge-1.0.1.tgz" }, "log4js": { @@ -850,96 +850,96 @@ "dependencies": { "async": { "version": "0.2.10", - "from": "async@>=0.2.0 <0.3.0", + "from": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "readable-stream": { "version": "1.0.34", - "from": "readable-stream@>=1.0.2 <1.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "isarray": { "version": "0.0.1", - "from": "isarray@0.0.1", + "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } }, "semver": { "version": "4.3.6", - "from": "semver@>=4.3.3 <4.4.0", + "from": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" }, "underscore": { "version": "1.8.2", - "from": "underscore@1.8.2", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.2.tgz" } } }, "lru-cache": { "version": "2.6.5", - "from": "lru-cache@2.6.5", + "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" }, "lzma": { "version": "1.3.7", - "from": "lzma@>=1.3.7 <1.4.0", + "from": "https://registry.npmjs.org/lzma/-/lzma-1.3.7.tgz", "resolved": "https://registry.npmjs.org/lzma/-/lzma-1.3.7.tgz" }, "node-statsd": { "version": "0.0.7", - "from": "node-statsd@>=0.0.7 <0.1.0", + "from": "https://registry.npmjs.org/node-statsd/-/node-statsd-0.0.7.tgz", "resolved": "https://registry.npmjs.org/node-statsd/-/node-statsd-0.0.7.tgz" }, "queue-async": { "version": "1.0.7", - "from": "queue-async@>=1.0.7 <1.1.0", + "from": "https://registry.npmjs.org/queue-async/-/queue-async-1.0.7.tgz", "resolved": "https://registry.npmjs.org/queue-async/-/queue-async-1.0.7.tgz" }, "redis-mpool": { "version": "0.4.0", - "from": "redis-mpool@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/redis-mpool/-/redis-mpool-0.4.0.tgz", "resolved": "https://registry.npmjs.org/redis-mpool/-/redis-mpool-0.4.0.tgz", "dependencies": { "generic-pool": { "version": "2.1.1", - "from": "generic-pool@>=2.1.1 <2.2.0", + "from": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.1.1.tgz", "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.1.1.tgz" }, "redis": { "version": "0.12.1", - "from": "redis@>=0.12.1 <0.13.0", + "from": "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz", "resolved": "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz" }, "hiredis": { "version": "0.1.17", - "from": "hiredis@>=0.1.17 <0.2.0", + "from": "https://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz", "resolved": "https://registry.npmjs.org/hiredis/-/hiredis-0.1.17.tgz", "dependencies": { "bindings": { "version": "1.2.1", - "from": "bindings@*", + "from": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz" }, "nan": { "version": "1.1.2", - "from": "nan@>=1.1.0 <1.2.0", + "from": "https://registry.npmjs.org/nan/-/nan-1.1.2.tgz", "resolved": "https://registry.npmjs.org/nan/-/nan-1.1.2.tgz" } } @@ -948,47 +948,47 @@ }, "request": { "version": "2.62.0", - "from": "request@>=2.62.0 <2.63.0", + "from": "https://registry.npmjs.org/request/-/request-2.62.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.62.0.tgz", "dependencies": { "bl": { "version": "1.0.3", - "from": "bl@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", "dependencies": { "readable-stream": { "version": "2.0.6", - "from": "readable-stream@>=2.0.5 <2.1.0", + "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "isarray": { "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "process-nextick-args": { "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", + "from": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "util-deprecate": { "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" } } @@ -997,247 +997,247 @@ }, "caseless": { "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", + "from": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" }, "extend": { "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", + "from": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" }, "forever-agent": { "version": "0.6.1", - "from": "forever-agent@>=0.6.0 <0.7.0", + "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" }, "form-data": { "version": "1.0.0-rc4", - "from": "form-data@>=1.0.0-rc1 <1.1.0", + "from": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", "dependencies": { "async": { "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", + "from": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" } } }, "json-stringify-safe": { "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.0 <5.1.0", + "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.2 <2.2.0", + "from": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", + "from": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" } } }, "node-uuid": { "version": "1.4.7", - "from": "node-uuid@>=1.4.0 <1.5.0", + "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" }, "qs": { "version": "5.1.0", - "from": "qs@>=5.1.0 <5.2.0", + "from": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz" }, "tunnel-agent": { "version": "0.4.3", - "from": "tunnel-agent@>=0.4.0 <0.5.0", + "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" }, "tough-cookie": { "version": "2.2.2", - "from": "tough-cookie@>=0.12.0", + "from": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" }, "http-signature": { "version": "0.11.0", - "from": "http-signature@>=0.11.0 <0.12.0", + "from": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz", "dependencies": { "assert-plus": { "version": "0.1.5", - "from": "assert-plus@>=0.1.5 <0.2.0", + "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz" }, "asn1": { "version": "0.1.11", - "from": "asn1@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.3", - "from": "ctype@0.5.3", + "from": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz" } } }, "oauth-sign": { "version": "0.8.2", - "from": "oauth-sign@>=0.8.0 <0.9.0", + "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" }, "hawk": { "version": "3.1.3", - "from": "hawk@>=3.1.0 <3.2.0", + "from": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "dependencies": { "hoek": { "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" }, "boom": { "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, "cryptiles": { "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" }, "sntp": { "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" } } }, "aws-sign2": { "version": "0.5.0", - "from": "aws-sign2@>=0.5.0 <0.6.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" }, "stringstream": { "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", + "from": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" }, "combined-stream": { "version": "1.0.5", - "from": "combined-stream@>=1.0.1 <1.1.0", + "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "dependencies": { "delayed-stream": { "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", + "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" } } }, "isstream": { "version": "0.1.2", - "from": "isstream@>=0.1.1 <0.2.0", + "from": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, "har-validator": { "version": "1.8.0", - "from": "har-validator@>=1.6.1 <2.0.0", + "from": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz", "dependencies": { "bluebird": { "version": "2.10.2", - "from": "bluebird@>=2.9.30 <3.0.0", + "from": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz" }, "chalk": { "version": "1.1.3", - "from": "chalk@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "dependencies": { "ansi-styles": { "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", + "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" }, "escape-string-regexp": { "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "from": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" }, "has-ansi": { "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "dependencies": { "ansi-regex": { "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" } } }, "strip-ansi": { "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", + "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "dependencies": { "ansi-regex": { "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" } } }, "supports-color": { "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" } } }, "commander": { "version": "2.9.0", - "from": "commander@>=2.8.1 <3.0.0", + "from": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "dependencies": { "graceful-readlink": { "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", + "from": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" } } }, "is-my-json-valid": { "version": "2.13.1", - "from": "is-my-json-valid@>=2.12.0 <3.0.0", + "from": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", "dependencies": { "generate-function": { "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", + "from": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" }, "generate-object-property": { "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", + "from": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "dependencies": { "is-property": { "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" } } }, "jsonpointer": { "version": "2.0.0", - "from": "jsonpointer@2.0.0", + "from": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" }, "xtend": { "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", + "from": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } } @@ -1248,79 +1248,79 @@ }, "step": { "version": "0.0.6", - "from": "step@>=0.0.6 <0.1.0", + "from": "https://registry.npmjs.org/step/-/step-0.0.6.tgz", "resolved": "https://registry.npmjs.org/step/-/step-0.0.6.tgz" }, "step-profiler": { "version": "0.3.0", - "from": "step-profiler@>=0.3.0 <0.4.0", + "from": "https://registry.npmjs.org/step-profiler/-/step-profiler-0.3.0.tgz", "resolved": "https://registry.npmjs.org/step-profiler/-/step-profiler-0.3.0.tgz" }, "turbo-carto": { "version": "0.12.1", - "from": "turbo-carto@0.12.1", + "from": "https://registry.npmjs.org/turbo-carto/-/turbo-carto-0.12.1.tgz", "resolved": "https://registry.npmjs.org/turbo-carto/-/turbo-carto-0.12.1.tgz", "dependencies": { "colorbrewer": { "version": "1.0.0", - "from": "colorbrewer@1.0.0", + "from": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.0.0.tgz", "resolved": "https://registry.npmjs.org/colorbrewer/-/colorbrewer-1.0.0.tgz" }, "cartocolor": { "version": "1.1.0", - "from": "cartocolor@1.1.0", + "from": "https://registry.npmjs.org/cartocolor/-/cartocolor-1.1.0.tgz", "resolved": "https://registry.npmjs.org/cartocolor/-/cartocolor-1.1.0.tgz" }, "es6-promise": { "version": "3.1.2", - "from": "es6-promise@3.1.2", + "from": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.1.2.tgz", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.1.2.tgz" }, "postcss": { "version": "5.0.19", - "from": "postcss@5.0.19", + "from": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz", "dependencies": { "supports-color": { "version": "3.1.2", - "from": "supports-color@>=3.1.2 <4.0.0", + "from": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", "dependencies": { "has-flag": { "version": "1.0.0", - "from": "has-flag@>=1.0.0 <2.0.0", + "from": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" } } }, "source-map": { "version": "0.5.6", - "from": "source-map@>=0.5.1 <0.6.0", + "from": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" }, "js-base64": { "version": "2.1.9", - "from": "js-base64@>=2.1.9 <3.0.0", + "from": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz" } } }, "postcss-value-parser": { "version": "3.3.0", - "from": "postcss-value-parser@3.3.0", + "from": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz" } } }, "underscore": { "version": "1.6.0", - "from": "underscore@>=1.6.0 <1.7.0", + "from": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz" }, "windshaft": { - "version": "2.3.0", - "from": "windshaft@2.3.0", - "resolved": "https://registry.npmjs.org/windshaft/-/windshaft-2.3.0.tgz", + "version": "2.4.0", + "from": "windshaft@2.4.0", + "resolved": "https://registry.npmjs.org/windshaft/-/windshaft-2.4.0.tgz", "dependencies": { "abaculus": { "version": "1.1.0-cdb5", @@ -3051,6 +3051,21 @@ "from": "combined-stream@>=1.0.5 <1.1.0", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "deep-extend": { + "version": "0.4.1", + "from": "deep-extend@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, "commander": { "version": "2.9.0", "from": "commander@>=2.9.0 <3.0.0", @@ -3071,6 +3086,16 @@ "from": "cryptiles@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" }, + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "fstream-ignore": { + "version": "1.0.4", + "from": "fstream-ignore@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.4.tgz" + }, "debug": { "version": "2.2.0", "from": "debug@>=2.2.0 <2.3.0", @@ -3081,10 +3106,20 @@ "from": "delayed-stream@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" }, - "deep-extend": { - "version": "0.4.1", - "from": "deep-extend@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" + "gauge": { + "version": "1.2.7", + "from": "gauge@>=1.2.5 <1.3.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "fstream": { + "version": "1.0.9", + "from": "fstream@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.9.tgz" }, "delegates": { "version": "1.0.0", @@ -3226,10 +3261,20 @@ "from": "isarray@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" }, "jodid25519": { "version": "1.0.2", @@ -3286,25 +3331,30 @@ "from": "lodash.padstart@>=4.1.0 <5.0.0", "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz" }, - "lodash.tostring": { - "version": "4.1.3", - "from": "lodash.tostring@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz" + "mime-types": { + "version": "2.1.11", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" }, - "mime-db": { - "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" + "lodash.pad": { + "version": "4.4.0", + "from": "lodash.pad@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz" + }, + "minimatch": { + "version": "3.0.0", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" }, "mime-types": { "version": "2.1.11", "from": "mime-types@>=2.1.7 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" }, - "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + "lodash._basetostring": { + "version": "4.12.0", + "from": "lodash._basetostring@>=4.12.0 <4.13.0", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz" }, "minimist": { "version": "0.0.8", @@ -3336,6 +3386,11 @@ "from": "npmlog@>=2.0.0 <2.1.0", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.3.tgz" }, + "qs": { + "version": "6.1.0", + "from": "qs@>=6.1.0 <6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" + }, "oauth-sign": { "version": "0.8.2", "from": "oauth-sign@>=0.8.1 <0.9.0", @@ -3386,16 +3441,21 @@ "from": "rimraf@>=2.5.0 <2.6.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz" }, - "semver": { - "version": "5.1.0", - "from": "semver@>=5.1.0 <5.2.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz" + "request": { + "version": "2.72.0", + "from": "request@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz" }, "sntp": { "version": "1.0.9", "from": "sntp@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, "string_decoder": { "version": "0.10.31", "from": "string_decoder@>=0.10.0 <0.11.0", @@ -3478,6 +3538,18 @@ } } }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, "dashdash": { "version": "1.13.1", "from": "dashdash@>=1.12.0 <2.0.0", @@ -3490,10 +3562,10 @@ } } }, - "getpass": { - "version": "0.1.6", - "from": "getpass@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "sshpk": { + "version": "1.8.3", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", diff --git a/package.json b/package.json index bafd943b..9125cb7a 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "step-profiler": "~0.3.0", "turbo-carto": "0.12.1", "underscore": "~1.6.0", - "windshaft": "2.3.0" + "windshaft": "2.4.0" }, "devDependencies": { "istanbul": "~0.4.3", diff --git a/test/acceptance/analysis/error-cases.js b/test/acceptance/analysis/error-cases.js index 829f2d02..897cb02c 100644 --- a/test/acceptance/analysis/error-cases.js +++ b/test/acceptance/analysis/error-cases.js @@ -204,9 +204,8 @@ describe('analysis-layers error cases', function() { layergroupResult.errors_with_context[0].message, 'Analysis requires authentication with API key: permission denied.' ); - assert.equal(layergroupResult.errors_with_context[0].context.layer.index, 0); - assert.equal(layergroupResult.errors_with_context[0].context.layer.id, 'HEAD'); - assert.equal(layergroupResult.errors_with_context[0].context.layer.type, 'buffer'); + assert.equal(layergroupResult.errors_with_context[0].analysis.id, 'HEAD'); + assert.equal(layergroupResult.errors_with_context[0].analysis.type, 'buffer'); testClient.drain(done); }); @@ -258,9 +257,8 @@ describe('analysis-layers error cases', function() { assert.equal(layergroupResult.errors_with_context[0].type, 'analysis'); assert.equal(layergroupResult.errors_with_context[0].message, 'Missing required param "radius"'); - assert.equal(layergroupResult.errors_with_context[0].context.layer.index, 0); - assert.equal(layergroupResult.errors_with_context[0].context.layer.id, 'HEAD'); - assert.equal(layergroupResult.errors_with_context[0].context.layer.type, 'buffer'); + assert.equal(layergroupResult.errors_with_context[0].analysis.id, 'HEAD'); + assert.equal(layergroupResult.errors_with_context[0].analysis.type, 'buffer'); testClient.drain(done); }); diff --git a/test/acceptance/ported/attributes.js b/test/acceptance/ported/attributes.js index 5478bbb6..04b48826 100644 --- a/test/acceptance/ported/attributes.js +++ b/test/acceptance/ported/attributes.js @@ -234,7 +234,7 @@ describe('attributes', function() { '/**/ typeof test === \'function\' && ' + 'test({"errors":["Layer 0 has no exposed attributes"],' + '"errors_with_context":[{' + - '"type":"unknown","message":"Layer 0 has no exposed attributes","context":"unknown"' + + '"type":"unknown","message":"Layer 0 has no exposed attributes"' + '}]});' ); return null; diff --git a/test/acceptance/ported/multilayer_error_cases.js b/test/acceptance/ported/multilayer_error_cases.js index 9d59a5b3..057f7892 100644 --- a/test/acceptance/ported/multilayer_error_cases.js +++ b/test/acceptance/ported/multilayer_error_cases.js @@ -61,7 +61,7 @@ describe('multilayer error cases', function() { '/**/ typeof test === \'function\' && ' + 'test({"errors":["Missing layers array from layergroup config"],' + '"errors_with_context":[{"type":"unknown",' + - '"message":"Missing layers array from layergroup config","context":"unknown"}]});' + '"message":"Missing layers array from layergroup config"}]});' ); done(); }); diff --git a/test/acceptance/turbo-cartocss/error-cases.js b/test/acceptance/turbo-cartocss/error-cases.js index 8582d753..29722a03 100644 --- a/test/acceptance/turbo-cartocss/error-cases.js +++ b/test/acceptance/turbo-cartocss/error-cases.js @@ -114,16 +114,18 @@ describe('turbo-carto error cases', function() { assert.ok(layergroup.hasOwnProperty('errors')); assert.equal(layergroup.errors_with_context.length, 1); - assert.equal(layergroup.errors_with_context[0].type, 'turbo-carto'); + assert.equal(layergroup.errors_with_context[0].type, 'layer'); + assert.equal(layergroup.errors_with_context[0].subtype, 'turbo-carto'); assert.ok(layergroup.errors_with_context[0].message.match(/^turbo-carto/)); assert.ok(layergroup.errors_with_context[0].message.match(/unable\sto\scompute\sramp/i)); assert.ok(layergroup.errors_with_context[0].message.match(/wadus_column/)); - assert.equal(layergroup.errors_with_context[0].context.layer.index, 0); - assert.equal(layergroup.errors_with_context[0].context.layer.type, 'mapnik'); + assert.equal(layergroup.errors_with_context[0].layer.id, 'layer0'); + assert.equal(layergroup.errors_with_context[0].layer.index, 0); + assert.equal(layergroup.errors_with_context[0].layer.type, 'mapnik'); - assert.equal(layergroup.errors_with_context[0].context.selector, '#populated_places_simple_reduced'); - assert.deepEqual(layergroup.errors_with_context[0].context.source, { + assert.equal(layergroup.errors_with_context[0].layer.context.selector, '#populated_places_simple_reduced'); + assert.deepEqual(layergroup.errors_with_context[0].layer.context.source, { start: { line: 10, column: 3 diff --git a/test/acceptance/turbo-cartocss/regressions.js b/test/acceptance/turbo-cartocss/regressions.js index a298ffac..6a35249b 100644 --- a/test/acceptance/turbo-cartocss/regressions.js +++ b/test/acceptance/turbo-cartocss/regressions.js @@ -87,7 +87,7 @@ describe('turbo-carto regressions', function() { var turboCartoError = layergroup.errors_with_context[0]; assert.ok(turboCartoError); - assert.equal(turboCartoError.type, 'turbo-carto'); + assert.equal(turboCartoError.type, 'layer'); assert.ok(turboCartoError.message.match(/permission\sdenied\sfor\srelation\stest_table_private_1/)); done();