Compare commits

...

25 Commits

Author SHA1 Message Date
Raul Ochoa
473e0cb902 Release 2.88.2 2017-02-23 18:12:14 +01:00
Raul Ochoa
1a8fca0534 Formatting 2017-02-23 18:11:39 +01:00
Raul Ochoa
e24bc12fc9 Merge pull request #632 from CartoDB/upgrade-camshaft
Upgrades camshaft to 0.50.2
2017-02-23 18:10:22 +01:00
Raul Ochoa
e77c9141ed Upgrades camshaft to 0.50.2 2017-02-23 18:00:55 +01:00
Raul Ochoa
321157b17b Make target to generate shrinkwrap file applying prune
It removes dev dependencies from the local node_modules
and avoid getting those into shrinkwrap file.
2017-02-23 17:57:52 +01:00
Raul Ochoa
6ac6574b4c clean target to completely delete node_modules dir 2017-02-23 17:57:44 +01:00
Raul Ochoa
933d486a57 Merge pull request #630 from CartoDB/close-response-timer
Close timer for response preparation
2017-02-22 18:46:56 +01:00
Raul Ochoa
8a1c7f5b52 Close timer for response preparation
Timer for affectedTables is taking everything from response timing,
adding a tag to represent all the response preparation.
That way affectedTables only represents the time for retrieving the
affected tables themselves.
2017-02-22 18:38:25 +01:00
Rafa de la Torre
822954be5d Stub next version 2017-02-21 11:06:54 +01:00
Rafa de la Torre
57dc17518c Release 2.88.1 2017-02-21 11:01:15 +01:00
Mario de Frutos
3df8d4844e Stubs next version 2017-02-21 08:17:09 +01:00
Mario de Frutos
5a0443618f Merge pull request #626 from CartoDB/camshaft_v050
Camshaft 0.50.0
2017-02-21 08:08:34 +01:00
Raul Ochoa
8a76cd506f Fix issue with global Promise object 2017-02-20 18:46:48 +01:00
Mario de Frutos
50d05eae47 Version 2.88.0
Update camshaft version to 0.50.0
2017-02-20 18:46:47 +01:00
Raul Ochoa
ca41b3b600 Merge pull request #627 from CartoDB/change_release
We don't announce release deploy in google groups anymore
2017-02-20 10:31:39 +01:00
Mario de Frutos
43a17ddc7d We don't announce release deploy in google groups anymore 2017-02-17 18:01:59 +01:00
Mario de Frutos
dfa347f860 Update camshaft dependency to 0.50 2017-02-17 16:29:34 +01:00
Raul Ochoa
28f1179336 Stubs next version 2017-02-02 16:44:41 +01:00
Raul Ochoa
de4d9e285e Release 2.87.5 2017-02-02 16:43:43 +01:00
Raul Ochoa
e0faaac822 Update news 2017-02-02 16:43:04 +01:00
Raul Ochoa
c84f27dd3f Merge pull request #623 from CartoDB/fix-dataviews-override-params-casting
Cast all dataview overrides values to Number
2017-02-02 16:42:48 +01:00
Raul Ochoa
12279d5c00 Cast dataview override values to Number or throw error
We were letting params expected as Numbers to be passed as any type
when they were not Numbers.
2017-02-02 16:20:16 +01:00
Raul Ochoa
281588abd2 Add test to validate bins param is casted as Number 2017-02-02 16:12:49 +01:00
Mario de Frutos
f69f999694 Fixed contributing link 2017-01-25 10:43:24 +01:00
Daniel García Aubert
c0c062592f Stubs next version 2017-01-20 11:40:00 +01:00
12 changed files with 298 additions and 116 deletions

1
.gitignore vendored
View File

@@ -3,6 +3,7 @@ config.status*
config/environments/*.js
.idea
.vscode
.nvmrc
tools/munin/windshaft.conf
logs/
pids/

View File

@@ -8,4 +8,4 @@ We love pull requests from everyone, see [Contributing to Open Source on GitHub]
## Submitting Contributions
* You will need to sign a Contributor License Agreement (CLA) before making a submission. [Learn more here](https://cartodb.com/contributing).
* You will need to sign a Contributor License Agreement (CLA) before making a submission. [Learn more here](https://carto.com/contributions).

View File

@@ -1,11 +1,10 @@
1. Test (make clean all check), fix if broken before proceeding
2. Ensure proper version in package.json
3. Ensure NEWS section exists for the new version, review it, add release date
4. Recreate npm-shrinkwrap.json with: `npm install --no-shrinkwrap && npm shrinkwrap`
4. Recreate npm-shrinkwrap.json with: `make shrinkwrap`
5. Commit package.json, npm-shrinwrap.json, NEWS
6. git tag -a Major.Minor.Patch # use NEWS section as content
7. Announce on cartodb@googlegroups.com
8. Stub NEWS/package for next version
7. Stub NEWS/package for next version
Versions:

View File

@@ -7,7 +7,13 @@ all:
@$(SHELL) ./scripts/install.sh
clean:
rm -rf node_modules/*
rm -rf node_modules/
shrinkwrap: clean
rm npm-shrinkwrap.json
npm install --no-shrinkwrap --production
npm prune
npm shrinkwrap
distclean: clean
rm config.status*

31
NEWS.md
View File

@@ -1,5 +1,35 @@
# Changelog
## 2.88.2
Released 2017-02-23
Announcements:
- Upgrades camshaft to [0.50.2](https://github.com/CartoDB/camshaft/releases/tag/0.50.2).
## 2.88.1
Released 2017-02-21
Announcements:
- Upgrades camshaft to [0.50.1](https://github.com/CartoDB/camshaft/releases/tag/0.50.1)
## 2.88.0
Released 2017-02-21
Announcements:
- Upgrades camshaft to [0.50.0](https://github.com/CartoDB/camshaft/releases/tag/0.50.0).
- Upgrades cartodb-psql to [0.7.1](https://github.com/CartoDB/node-cartodb-psql/releases/tag/0.7.1).
- Upgrades windshaft to [2.7.0](https://github.com/CartoDB/windshaft/releases/tag/2.7.0).
## 2.87.5
Released 2017-02-02
Bug fixes:
- Cast dataview override values to Number or throw error.
## 2.87.4
Released 2017-01-20
@@ -19,6 +49,7 @@ Released 2016-12-19
- Use exception safe Dataservices API functions. See https://github.com/CartoDB/dataservices-api/issues/314 and https://github.com/CartoDB/camshaft/issues/242
## 2.87.1
Released 2016-12-13

View File

@@ -79,7 +79,10 @@ DataviewBackend.prototype.getDataview = function (mapConfigProvider, user, param
var overrideParams = _.reduce(_.pick(params, 'start', 'end', 'bins'),
function castNumbers(overrides, val, k) {
overrides[k] = Number.isFinite(+val) ? +val : val;
if (!Number.isFinite(+val)) {
throw new Error('Invalid number format for parameter \'' + k + '\'');
}
overrides[k] = +val;
return overrides;
},
{ownFilter: ownFilter}

View File

@@ -338,6 +338,8 @@ LayergroupController.prototype.staticMap = function(req, res, width, height, zoo
LayergroupController.prototype.sendResponse = function(req, res, body, status, headers) {
var self = this;
req.profiler.done('res');
res.set('Cache-Control', 'public,max-age=31536000');
// Set Last-Modified header

View File

@@ -4,6 +4,13 @@ var dot = require('dot');
dot.templateSettings.strip = false;
var queue = require('queue-async');
var PSQL = require('cartodb-psql');
/**
* cartodb-psql creates `global.Promise` as an empty constructor.
* However, `turbo-carto` relies on a polyfil that fails to create the polyfil
* as it finds `global.Promise` but it doesn't find `Promise.resolve`.
*/
global.Promise = global.Promise || function() {};
global.Promise.resolve = global.Promise.resolve || function() {};
var turboCarto = require('turbo-carto');
var SubstitutionTokens = require('../../../utils/substitution-tokens');

311
npm-shrinkwrap.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "windshaft-cartodb",
"version": "2.87.4",
"version": "2.88.2",
"dependencies": {
"body-parser": {
"version": "1.14.2",
@@ -89,14 +89,14 @@
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
},
"mime-types": {
"version": "2.1.13",
"from": "mime-types@>=2.1.13 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
"version": "2.1.14",
"from": "mime-types@>=2.1.7 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
"dependencies": {
"mime-db": {
"version": "1.25.0",
"from": "mime-db@>=1.25.0 <1.26.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
"version": "1.26.0",
"from": "mime-db@>=1.26.0 <1.27.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
}
}
}
@@ -105,9 +105,9 @@
}
},
"camshaft": {
"version": "0.48.5",
"from": "camshaft@0.48.5",
"resolved": "https://registry.npmjs.org/camshaft/-/camshaft-0.48.5.tgz",
"version": "0.50.2",
"from": "camshaft@0.50.2",
"resolved": "https://registry.npmjs.org/camshaft/-/camshaft-0.50.2.tgz",
"dependencies": {
"async": {
"version": "1.5.2",
@@ -125,9 +125,9 @@
"resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz",
"dependencies": {
"nan": {
"version": "2.5.0",
"version": "2.5.1",
"from": "nan@>=2.0.8 <3.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz"
"resolved": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz"
}
}
},
@@ -242,24 +242,109 @@
}
},
"cartodb-psql": {
"version": "0.6.1",
"from": "cartodb-psql@>=0.6.1 <0.7.0",
"resolved": "https://registry.npmjs.org/cartodb-psql/-/cartodb-psql-0.6.1.tgz",
"version": "0.7.1",
"from": "cartodb-psql@>=0.7.1 <0.8.0",
"resolved": "https://registry.npmjs.org/cartodb-psql/-/cartodb-psql-0.7.1.tgz",
"dependencies": {
"pg": {
"version": "2.6.2-cdb3",
"from": "git://github.com/CartoDB/node-postgres.git#2.6.2-cdb3",
"resolved": "git://github.com/CartoDB/node-postgres.git#069c5296d1a093077feff21719641bb9e71fc50e",
"version": "6.1.2",
"from": "cartodb/node-postgres#6.1.2-cdb1",
"resolved": "git://github.com/cartodb/node-postgres.git#3c81aea432ce58d20a795786c58bbb14f68f9689",
"dependencies": {
"generic-pool": {
"version": "2.0.3",
"from": "generic-pool@2.0.3",
"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",
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.0.tgz"
"version": "1.0.1",
"from": "buffer-writer@1.0.1",
"resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz"
},
"packet-reader": {
"version": "0.2.0",
"from": "packet-reader@0.2.0",
"resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-0.2.0.tgz"
},
"pg-connection-string": {
"version": "0.1.3",
"from": "pg-connection-string@0.1.3",
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz"
},
"pg-pool": {
"version": "1.6.0",
"from": "pg-pool@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-1.6.0.tgz",
"dependencies": {
"generic-pool": {
"version": "2.4.2",
"from": "generic-pool@2.4.2",
"resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-2.4.2.tgz"
},
"object-assign": {
"version": "4.1.0",
"from": "object-assign@4.1.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
}
}
},
"pg-types": {
"version": "1.11.0",
"from": "pg-types@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.11.0.tgz",
"dependencies": {
"ap": {
"version": "0.2.0",
"from": "ap@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/ap/-/ap-0.2.0.tgz"
},
"postgres-array": {
"version": "1.0.2",
"from": "postgres-array@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.2.tgz"
},
"postgres-bytea": {
"version": "1.0.0",
"from": "postgres-bytea@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz"
},
"postgres-date": {
"version": "1.0.3",
"from": "postgres-date@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.3.tgz"
},
"postgres-interval": {
"version": "1.0.2",
"from": "postgres-interval@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.0.2.tgz",
"dependencies": {
"xtend": {
"version": "4.0.1",
"from": "xtend@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"
}
}
}
}
},
"pgpass": {
"version": "1.0.1",
"from": "pgpass@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.1.tgz",
"dependencies": {
"split": {
"version": "1.0.0",
"from": "split@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/split/-/split-1.0.0.tgz",
"dependencies": {
"through": {
"version": "2.3.8",
"from": "through@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
}
}
}
}
},
"semver": {
"version": "4.3.2",
"from": "semver@4.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz"
}
}
}
@@ -303,14 +388,14 @@
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
"dependencies": {
"mime-types": {
"version": "2.1.13",
"version": "2.1.14",
"from": "mime-types@>=2.1.6 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
"dependencies": {
"mime-db": {
"version": "1.25.0",
"from": "mime-db@>=1.25.0 <1.26.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
"version": "1.26.0",
"from": "mime-db@>=1.26.0 <1.27.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
}
}
},
@@ -524,7 +609,7 @@
},
"type-is": {
"version": "1.6.14",
"from": "type-is@>=1.6.6 <1.7.0",
"from": "type-is@>=1.6.10 <1.7.0",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz",
"dependencies": {
"media-typer": {
@@ -533,14 +618,14 @@
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
},
"mime-types": {
"version": "2.1.13",
"version": "2.1.14",
"from": "mime-types@>=2.1.6 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
"dependencies": {
"mime-db": {
"version": "1.25.0",
"from": "mime-db@>=1.25.0 <1.26.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
"version": "1.26.0",
"from": "mime-db@>=1.26.0 <1.27.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
}
}
}
@@ -595,7 +680,7 @@
},
"inherits": {
"version": "2.0.3",
"from": "inherits@>=2.0.0 <3.0.0",
"from": "inherits@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
}
}
@@ -658,9 +743,9 @@
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz"
},
"nan": {
"version": "2.5.0",
"version": "2.5.1",
"from": "nan@>=2.3.4 <3.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz"
"resolved": "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz"
}
}
}
@@ -677,9 +762,9 @@
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"
},
"aws4": {
"version": "1.5.0",
"version": "1.6.0",
"from": "aws4@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz"
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz"
},
"caseless": {
"version": "0.11.0",
@@ -746,9 +831,9 @@
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
}
},
@@ -758,9 +843,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
}
},
@@ -891,9 +976,9 @@
}
},
"sshpk": {
"version": "1.10.1",
"version": "1.10.2",
"from": "sshpk@>=1.7.0 <2.0.0",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz",
"dependencies": {
"asn1": {
"version": "0.2.3",
@@ -916,9 +1001,9 @@
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"
},
"jsbn": {
"version": "0.1.0",
"version": "0.1.1",
"from": "jsbn@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
},
"tweetnacl": {
"version": "0.14.5",
@@ -936,9 +1021,9 @@
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"
},
"bcrypt-pbkdf": {
"version": "1.0.0",
"version": "1.0.1",
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz"
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz"
}
}
}
@@ -960,14 +1045,14 @@
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
},
"mime-types": {
"version": "2.1.13",
"from": "mime-types@>=2.1.13 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
"version": "2.1.14",
"from": "mime-types@>=2.1.7 <2.2.0",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz",
"dependencies": {
"mime-db": {
"version": "1.25.0",
"from": "mime-db@>=1.25.0 <1.26.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz"
"version": "1.26.0",
"from": "mime-db@>=1.26.0 <1.27.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"
}
}
},
@@ -977,9 +1062,9 @@
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"
},
"qs": {
"version": "6.3.0",
"version": "6.3.1",
"from": "qs@>=6.3.0 <6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz"
"resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz"
},
"stringstream": {
"version": "0.0.5",
@@ -1046,9 +1131,9 @@
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.0.19.tgz",
"dependencies": {
"supports-color": {
"version": "3.1.2",
"version": "3.2.3",
"from": "supports-color@>=3.1.2 <4.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"dependencies": {
"has-flag": {
"version": "1.0.0",
@@ -1082,9 +1167,9 @@
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
},
"windshaft": {
"version": "2.6.5",
"from": "windshaft@2.6.5",
"resolved": "https://registry.npmjs.org/windshaft/-/windshaft-2.6.5.tgz",
"version": "2.7.0",
"from": "windshaft@2.7.0",
"resolved": "https://registry.npmjs.org/windshaft/-/windshaft-2.7.0.tgz",
"dependencies": {
"abaculus": {
"version": "1.1.0-cdb7",
@@ -3235,9 +3320,40 @@
}
},
"torque.js": {
"version": "2.11.4",
"version": "2.11.5",
"from": "torque.js@>=2.11.0 <2.12.0",
"resolved": "https://registry.npmjs.org/torque.js/-/torque.js-2.11.4.tgz"
"resolved": "https://registry.npmjs.org/torque.js/-/torque.js-2.11.5.tgz",
"dependencies": {
"carto": {
"version": "0.15.1-cdb1",
"from": "cartodb/carto#0.15.1-cdb1",
"resolved": "git://github.com/cartodb/carto.git#8050ec843f1f32a6469e5d1cf49602773015d398",
"dependencies": {
"mapnik-reference": {
"version": "6.0.5",
"from": "mapnik-reference@>=6.0.2 <6.1.0",
"resolved": "https://registry.npmjs.org/mapnik-reference/-/mapnik-reference-6.0.5.tgz"
},
"optimist": {
"version": "0.6.1",
"from": "optimist@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"dependencies": {
"wordwrap": {
"version": "0.0.3",
"from": "wordwrap@>=0.0.2 <0.1.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
},
"minimist": {
"version": "0.0.10",
"from": "minimist@>=0.0.1 <0.1.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
}
}
}
}
}
}
}
}
},
@@ -3257,9 +3373,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
}
},
@@ -3404,9 +3520,9 @@
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
"dependencies": {
"hosted-git-info": {
"version": "2.1.5",
"version": "2.2.0",
"from": "hosted-git-info@>=2.1.4 <3.0.0",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz"
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz"
},
"is-builtin-module": {
"version": "1.0.0",
@@ -3527,9 +3643,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
}
}
@@ -3575,9 +3691,9 @@
"resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz"
},
"node-pre-gyp": {
"version": "0.6.32",
"version": "0.6.33",
"from": "node-pre-gyp@>=0.6.30 <0.7.0",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz",
"dependencies": {
"mkdirp": {
"version": "0.5.1",
@@ -3597,9 +3713,9 @@
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"dependencies": {
"abbrev": {
"version": "1.0.9",
"version": "1.1.0",
"from": "abbrev@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz"
}
}
},
@@ -3619,9 +3735,9 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
},
"readable-stream": {
"version": "2.2.2",
"version": "2.2.3",
"from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz",
"dependencies": {
"buffer-shims": {
"version": "1.0.0",
@@ -3668,19 +3784,14 @@
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
},
"gauge": {
"version": "2.7.2",
"version": "2.7.3",
"from": "gauge@>=2.7.1 <2.8.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.2.tgz",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
"dependencies": {
"aproba": {
"version": "1.0.4",
"version": "1.1.1",
"from": "aproba@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz"
},
"supports-color": {
"version": "0.2.0",
"from": "supports-color@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz"
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz"
},
"has-unicode": {
"version": "2.0.1",
@@ -3688,9 +3799,9 @@
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
},
"object-assign": {
"version": "4.1.0",
"version": "4.1.1",
"from": "object-assign@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
},
"signal-exit": {
"version": "3.0.2",
@@ -3727,9 +3838,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"dependencies": {
"ansi-regex": {
"version": "2.0.0",
"version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
}
}
},
@@ -3748,9 +3859,9 @@
}
},
"rc": {
"version": "1.1.6",
"version": "1.1.7",
"from": "rc@>=1.1.6 <1.2.0",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz",
"dependencies": {
"deep-extend": {
"version": "0.4.1",
@@ -3768,9 +3879,9 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
},
"strip-json-comments": {
"version": "1.0.4",
"from": "strip-json-comments@>=1.0.4 <1.1.0",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
"version": "2.0.1",
"from": "strip-json-comments@>=2.0.1 <2.1.0",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
}
}
},
@@ -3808,7 +3919,7 @@
},
"minimatch": {
"version": "3.0.3",
"from": "minimatch@>=3.0.2 <4.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.3.tgz",
"dependencies": {
"brace-expansion": {
@@ -3868,7 +3979,7 @@
},
"fstream": {
"version": "1.0.10",
"from": "fstream@>=1.0.10 <1.1.0",
"from": "fstream@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
"dependencies": {
"graceful-fs": {
@@ -3919,7 +4030,7 @@
},
"minimatch": {
"version": "3.0.3",
"from": "minimatch@>=3.0.0 <4.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.3.tgz",
"dependencies": {
"brace-expansion": {

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "windshaft-cartodb",
"version": "2.87.4",
"version": "2.88.2",
"description": "A map tile server for CartoDB",
"keywords": [
"cartodb"
@@ -20,8 +20,8 @@
],
"dependencies": {
"body-parser": "~1.14.0",
"camshaft": "0.48.5",
"cartodb-psql": "~0.6.1",
"camshaft": "0.50.2",
"cartodb-psql": "~0.7.1",
"cartodb-query-tables": "~0.1.0",
"cartodb-redis": "0.13.1",
"debug": "~2.2.0",
@@ -39,7 +39,7 @@
"step-profiler": "~0.3.0",
"turbo-carto": "0.19.0",
"underscore": "~1.6.0",
"windshaft": "2.6.5",
"windshaft": "2.7.0",
"yargs": "~5.0.0",
"zipfile": "cartodb/node-zipfile#0.5.11-cdb1"
},

View File

@@ -77,4 +77,24 @@ describe('histogram-dataview', function() {
done();
});
});
it('should cast all overridable params to numbers', function(done) {
var params = {
bins: '256 AS other, (select 256 * 2) AS bins_number--',
start: 1e3,
end: 0,
response: TestClient.RESPONSE.ERROR
};
this.testClient = new TestClient(mapConfig, 1234);
this.testClient.getDataview('pop_max_histogram', params, function(err, res) {
assert.ok(!err, err);
assert.ok(res.errors);
assert.equal(res.errors.length, 1);
assert.ok(res.errors[0].match(/Invalid number format for parameter 'bins'/));
done();
});
});
});

View File

@@ -307,6 +307,13 @@ TestClient.prototype.getDataview = function(dataviewName, params, callback) {
url += '?' + qs.stringify(extraParams);
}
var expectedResponse = params.response || {
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
};
var layergroupId;
step(
function createLayergroup() {
@@ -372,12 +379,7 @@ TestClient.prototype.getDataview = function(dataviewName, params, callback) {
host: 'localhost'
}
},
{
status: 200,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
},
expectedResponse,
function(res, err) {
if (err) {
return next(err);