Compare commits

..

14 Commits

Author SHA1 Message Date
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
10 changed files with 267 additions and 111 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

@@ -4,8 +4,7 @@
4. Recreate npm-shrinkwrap.json with: `npm install --no-shrinkwrap && npm 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:

17
NEWS.md
View File

@@ -1,19 +1,32 @@
# Changelog
## 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
Bug fixes:
- Be able to not compute NULL categories and null values in aggregation dataviews #617.
## 2.87.3
Released 2016-12-19
Bug fixes:
- Fix overviews-related dataviews problems. See https://github.com/CartoDB/Windshaft-cartodb/pull/604
## 2.87.2
Released 2016-12-19

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

@@ -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');

301
npm-shrinkwrap.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "windshaft-cartodb",
"version": "2.87.4",
"version": "2.88.0",
"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",
"version": "2.1.14",
"from": "mime-types@>=2.1.13 <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"
}
}
}
@@ -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.0",
"from": "camshaft@0.50.0",
"resolved": "https://registry.npmjs.org/camshaft/-/camshaft-0.50.0.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"
}
}
},
@@ -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"
}
}
},
@@ -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@>=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": {

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "windshaft-cartodb",
"version": "2.87.4",
"version": "2.88.0",
"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.0",
"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);