Yurik has uploaded a new change for review. https://gerrit.wikimedia.org/r/294225
Change subject: Update tilerator to 8c0eb61 ...................................................................... Update tilerator to 8c0eb61 List of changes: 8c0eb61 Process all files since last call xxxxxxx Update node module dependencies Change-Id: If66f60aa527b959437044c04e64c53c135f62afc --- M node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json M node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json M node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/once/package.json M node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json M node_modules/debug/node_modules/ms/package.json M node_modules/express/node_modules/send/node_modules/ms/package.json M node_modules/kartotherian-autogen/package.json M node_modules/kartotherian-cassandra/package.json M node_modules/kartotherian-core/lib/core.js M node_modules/kartotherian-core/node_modules/xmldoc/package.json M node_modules/kartotherian-core/package.json M node_modules/kartotherian-demultiplexer/package.json M node_modules/kartotherian-layermixer/package.json M node_modules/kartotherian-overzoom/package.json M node_modules/kartotherian-postgres/node_modules/pg-query-stream/node_modules/readable-stream/package.json M node_modules/kartotherian-postgres/package.json M node_modules/kartotherian-server/package.json M node_modules/kartotherian-substantial/package.json M node_modules/kue-ui/package.json M node_modules/kue/node_modules/stylus/node_modules/source-map/node_modules/amdefine/package.json M node_modules/kue/node_modules/stylus/node_modules/source-map/package.json M node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json M node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json M node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/package.json M node_modules/mapnik/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json M node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json M node_modules/osm-bright-source/node_modules/postgis-vt-util/package.json M node_modules/osm-bright-source/package.json M node_modules/osm-bright-style/node_modules/osm-bright-fonts/package.json M node_modules/osm-bright-style/package.json M node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json M node_modules/service-runner/node_modules/yargs/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/package.json M node_modules/tilelive-vector/node_modules/s3urls/node_modules/minimist/package.json M node_modules/tilerator-jobprocessor/index.js M node_modules/tilerator-jobprocessor/lib/fileParser.js A node_modules/tilerator-jobprocessor/lib/processAll.js M node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/lib/core.js M node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/node_modules/xmldoc/package.json M node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/package.json M node_modules/tilerator-jobprocessor/node_modules/tmp/package.json M node_modules/tilerator-jobprocessor/package.json M node_modules/type-is/node_modules/media-typer/package.json M src 43 files changed, 135 insertions(+), 69 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/maps/tilerator/deploy refs/changes/25/294225/1 diff --git a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json index 4010d03..077c122 100644 --- a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json +++ b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/inflight/package.json @@ -67,5 +67,6 @@ "tmp": "tmp/inflight-1.0.5.tgz_1463529611443_0.00041943578980863094" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" + "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json index ae20208..bb58dde 100644 --- a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json +++ b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/minimatch/package.json @@ -55,5 +55,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" + "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/once/package.json b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/once/package.json index 980e6cc..e4ee912 100644 --- a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/once/package.json +++ b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/once/package.json @@ -58,5 +58,6 @@ "email": "i...@izs.me" } ], - "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json index a14a849..8f41ade 100644 --- a/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json +++ b/node_modules/bunyan/node_modules/mv/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/package.json @@ -5,7 +5,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/sindresorhus/path-is-absolute" + "url": "git+https://github.com/sindresorhus/path-is-absolute.git" }, "author": { "name": "Sindre Sorhus", @@ -65,5 +65,6 @@ "tarball": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/debug/node_modules/ms/package.json b/node_modules/debug/node_modules/ms/package.json index e36489e..29c1ba5 100644 --- a/node_modules/debug/node_modules/ms/package.json +++ b/node_modules/debug/node_modules/ms/package.json @@ -43,6 +43,5 @@ "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } diff --git a/node_modules/express/node_modules/send/node_modules/ms/package.json b/node_modules/express/node_modules/send/node_modules/ms/package.json index 29c1ba5..e36489e 100644 --- a/node_modules/express/node_modules/send/node_modules/ms/package.json +++ b/node_modules/express/node_modules/send/node_modules/ms/package.json @@ -43,5 +43,6 @@ "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/kartotherian-autogen/package.json b/node_modules/kartotherian-autogen/package.json index fc6a313..0b5f9a6 100644 --- a/node_modules/kartotherian-autogen/package.json +++ b/node_modules/kartotherian-autogen/package.json @@ -31,7 +31,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-autogen#readme", "_id": "kartotherian-autogen@0.0.4", - "_shasum": "2dc4da98a3bc869f2ef2348db37f5bc8453e0a25", + "_shasum": "21c35747ea3c7ead8f14de52b0152d9d52de8739", "_from": "git+https://github.com/kartotherian/kartotherian-autogen.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-autogen.git#e469c42da1a7c9762a775b97d7234bcc653fff35" } diff --git a/node_modules/kartotherian-cassandra/package.json b/node_modules/kartotherian-cassandra/package.json index ebb317c..63c5aa0 100644 --- a/node_modules/kartotherian-cassandra/package.json +++ b/node_modules/kartotherian-cassandra/package.json @@ -34,7 +34,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-cassandra#readme", "_id": "kartotherian-cassandra@0.0.5", - "_shasum": "2ab014e86a4182c8dca98b387d5aa238833e5101", + "_shasum": "132091b63229aeaf35e5a04bbd22db7d88148589", "_from": "git+https://github.com/kartotherian/kartotherian-cassandra.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-cassandra.git#015536b95c91e592f0e34c588caa551614b6f720" } diff --git a/node_modules/kartotherian-core/lib/core.js b/node_modules/kartotherian-core/lib/core.js index ac3987a..8947551 100644 --- a/node_modules/kartotherian-core/lib/core.js +++ b/node_modules/kartotherian-core/lib/core.js @@ -551,7 +551,7 @@ if (!source) { throw new Err('Unknown source').metrics('err.req.source'); } - if (!source.public) { + if (!source.public && !core.getConfiguration().allSourcesPublic) { throw new Err('Source is not public').metrics('err.req.source'); } return source; @@ -564,9 +564,10 @@ * @param dataHeaders */ core.setResponseHeaders = function setResponseHeaders(res, source, dataHeaders) { - if (_app.conf.defaultHeaders) res.set(_app.conf.defaultHeaders); + var conf = core.getConfiguration(); + if (conf.defaultHeaders) res.set(conf.defaultHeaders); if (source && source.defaultHeaders) res.set(source.defaultHeaders); if (dataHeaders) res.set(dataHeaders); - if (_app.conf.overrideHeaders) res.set(_app.conf.overrideHeaders); + if (conf.overrideHeaders) res.set(conf.overrideHeaders); if (source && source.headers) res.set(source.headers); }; diff --git a/node_modules/kartotherian-core/node_modules/xmldoc/package.json b/node_modules/kartotherian-core/node_modules/xmldoc/package.json index c206eb7..fe4226d 100644 --- a/node_modules/kartotherian-core/node_modules/xmldoc/package.json +++ b/node_modules/kartotherian-core/node_modules/xmldoc/package.json @@ -33,7 +33,7 @@ }, "homepage": "https://github.com/nfarina/xmldoc#readme", "_id": "xmldoc@0.3.1", - "_shasum": "ca99cbc212fac4f0aa0b5e5fa35b738c4eae00cc", + "_shasum": "0c6d07523ceb0ded6755bef194d932763328045f", "_from": "git+https://github.com/nyurik/xmldoc.git", "_resolved": "git+https://github.com/nyurik/xmldoc.git#3107ca5fe10227539299fb1bb82992d5b824bc37" } diff --git a/node_modules/kartotherian-core/package.json b/node_modules/kartotherian-core/package.json index c3fe3a2..c53223e 100644 --- a/node_modules/kartotherian-core/package.json +++ b/node_modules/kartotherian-core/package.json @@ -1,6 +1,6 @@ { "name": "kartotherian-core", - "version": "0.0.7", + "version": "0.0.8", "description": "The core components of the Kartotherian maps tile service", "main": "index.js", "scripts": { @@ -24,12 +24,12 @@ "underscore": "^1.8.3", "xmldoc": "git+https://github.com/nyurik/xmldoc.git" }, - "gitHead": "51266ac0a0289f9f1fa3b5966d2f47d28857933a", - "readme": "# kartotherian-core\n\nThe core components of the Kartotherian maps tile service\n\n## Sources\nSources is a way to set up data processing pipelines for Kartotherian and Tilerator.\nSources could be either stored in a set of standalone files, or be embedded in the\nmain configuration file, or a mix of both. The sources value in the config file\ncould be a string (file), an object defining the source, or an array of strings and objects.\n\n`uri` is the only mandatory field, and it specifies how [tilelive.js](https://github.com/mapbox/tilelive.js)\nwill locate and initialize the new source. The protocol determines which tile provider will be used.\n\nSince sometimes not everything can be added as query parameters to the Uri, there is a set of additional keys to help.\nValues can either be hardcoded as strings/numbers/booleans, or can be calculated on the fly.\n\nA simple source configuration to set up a tile storage as files in the ./vectors dir:\n```\nfilestore:\n uri: file://./vectors\n```\nThe path can also be set via a parameter:\n```\nfilestore:\n uri: file://\n pathname: ./vectors\n```\nThe value does not have to be given in the source, but instead could be dynamically generated.\nFor example, the `var` generator pulls the value from the variable store.\nThe variables are defined in a separate file(s), similar to sources.\n```\nfilestore:\n uri: file://\n pathname: {var: tilepath} # Uses a variable named tilepath\n```\n\nMore parameters can be set using `params` - a set of additional values to be set in URI:\n```\noz:\n # \"overzoom:\" is a tile source that will attempt to get a tile from another source,\n # and if tile is missing, attempt to get a portion of the lower-zoom tile.\n uri: overzoom://\n # Specify the tile source - this adds a properly escaped query parameter\n # ?source=sourceref:///?ref=gen\n param:\n source: {ref: gen}\n```\n\n## Value substitutions\n\nIn general, these value substitutions are available:\n* `{var:varname}` - the value becomes the value of the variable `varname` from the variables file / variables conf section of the main config file. This might be useful if you want to make all the settings public except for the passwords that are stored in a secure location.\n* `{ref:sourceId}` - the value becomes a reference to another source. Some sources function as filters/converters, pulling data internally from other sources and converting the result on the fly. For example, the [overzoom](https://github.com/kartotherian/kartotherian-overzoom) source pulls data from another source, and if it's not available, tries to find a lower-zoom tile above the given one, and extract a portion of it. Internally, it uses a forwarding sourceref: source.\n* `{npmloader: npm-module-name}` or `{npmloader: ['npm-module-name', 'arg1', 'arg2', ...]}` - if npm module supports loading customization, it should be loaded via the npmloader. Npmloader is only available inside the source's `xml` key.\n* `{npmpath: ['npm-module-name', 'subdir', 'subdir', 'filename']}` - some files may be located inside the NPM modules added to the Kartotherian project, i.e. [osm-bright-source](https://github.com/kartotherian/osm-bright.tm2source). To reference a file inside npm, set npm's value to an array, with the first value being the name of the npm module (resolves to the root of the npm module), and all subsequent strings being subdirs and lastly - the name of the file. Subdirs may be omitted. `npmpath: [\"osm-bright-source\", \"data.xml\"]` would resolve to a rooted path `/.../node_modules/osm-bright-source/data.xml`\n\n## XML-based sources\nThe `xml` parameter is used to load and alter XML for some sources like\n[tilelive-bridge](https://github.com/mapbox/tilelive-bridge) (SQL→VectorTile or TIFF→RasterTile) and\n[tilelive-vector](https://github.com/mapbox/tilelive-vector) (Style VectorTile → PNG).\nThe `xml` field must evaluate to the xml file path.\n\n```\ngen: # The name of the source (could be referenced later)\n uri: bridge:// # Required - the URI used to construct the source\n xml: # Init source with this xml instead of the URI's other parameters\n # Set xml to the location of the 'data.xml', which is located inside the osm-bright-source npm\n npmpath: [\"osm-bright-source\", \"data.xml\"]\n xmlSetDataSource: # Before loading, update the datasource section of the standard mapnik config file\n if: # Only update datasources that match all these values (logical AND)\n dbname: gis # Instead of 'gis', you can use {npmpath:...}, {ref:..}, and {var:...}\n host: ''\n type: postgis\n set: # Replace these keys with the new values\n host: localhost\n user: {var: osmdb-user} # Instead of hardcoding, use the value from the variables file or conf section\n password: {var: osmdb-pswd}\n```\n\n* `xmlSetAttrs` - for xml, overrides the attributes of the root element with the new ones. For example, you may change the font directory of the `<Map>` element:\n```\ns2:\n uri: vector://\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetAttrs:\n # Note that this is not needed for osm-bright-style because that module does this internally\n font-directory: {npmpath: [\"osm-bright-fonts\", \"fonts/\"]}\n```\n* `xmlSetParams` - for xml, overrides the top level `<Parameters>` values with the new ones. For example, the `vector` source requires xml stylesheet to point to the proper source of PBFs:\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetParams:\n source: {ref: gen} # set source parameter to the 'gen' source\n```\n* `xmlLayers` - keep all non-layer data, but only keep those layers that are listed in this value (whitelist):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlLayers: ['landuse', 'road'] # Only include these layers when rendering\n```\n* `xmlExceptLayers` - same as `xmlLayers`, but instead of whitelisting, blacklist (allow all except these):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlExceptLayers: ['water'] # Exclude water layer when rendering\n```\n* `xmlSetDataSource` - change all layer's datasources' parameters if they match conditions:\n`if` is a set of parameter values that all must match,\n`xmlLayers` and `xmlExcludeLayers` just like above set which layers to address,\nand `set` specifies the new parameter values to be set.\n\nInstead of an object, `xmlSetDataSource` can be set to an array of objects to provide\nmultple change sets.\n\n## Kartotherian-specific parameters:\n* `public` (boolean) - should this be source be accessible via `/<sourceId>/z/x/y.format` requests\n* `minzoom` (int) - minimum allowable zoom for the public request (public requests only)\n* `maxzoom` (int) - maximum allowable zoom for the public request (public requests only)\n* `defaultHeaders` (object) - a set of extra headers that will be sent to the user unless the source provides its own. (public requests only)\n* `headers` (object) - a set of extra headers that will be sent to the user instead of the headers returned by the source. (public requests only)\n* `formats` (array of strings) - one string or a list of string values specifying allowed formats, e.g. `['png','jpeg']`\n* `scales` (array of numbers) - one number or a list of number values specifying allowed scalings, e.g. `[1.3, 1.5, 2, 2.6, 3]`\n* `setInfo` (object) - provide values that will be reported to the client via the `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n* `overrideInfo` (object) - override values produced by the source's getInfo(), or if value is null, remove it. Result will be accessible via `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n", + "gitHead": "3ddcd4a145aefb1bbe221bd9ea54ce1b7bbddbf0", + "readme": "# kartotherian-core\n\nThe core components of the Kartotherian maps tile service\n\n## Sources\nSources is a way to set up data processing pipelines for Kartotherian and Tilerator.\nSources could be either stored in a set of standalone files, or be embedded in the\nmain configuration file, or a mix of both. The sources value in the config file\ncould be a string (file), an object defining the source, or an array of strings and objects.\n\n`uri` is the only mandatory field, and it specifies how [tilelive.js](https://github.com/mapbox/tilelive.js)\nwill locate and initialize the new source. The protocol determines which tile provider will be used.\n\nSince sometimes not everything can be added as query parameters to the Uri, there is a set of additional keys to help.\nValues can either be hardcoded as strings/numbers/booleans, or can be calculated on the fly.\n\nA simple source configuration to set up a tile storage as files in the ./vectors dir:\n```\nfilestore:\n uri: file://./vectors\n```\nThe path can also be set via a parameter:\n```\nfilestore:\n uri: file://\n pathname: ./vectors\n```\nThe value does not have to be given in the source, but instead could be dynamically generated.\nFor example, the `var` generator pulls the value from the variable store.\nThe variables are defined in a separate file(s), similar to sources.\n```\nfilestore:\n uri: file://\n pathname: {var: tilepath} # Uses a variable named tilepath\n```\n\nMore parameters can be set using `params` - a set of additional values to be set in URI:\n```\noz:\n # \"overzoom:\" is a tile source that will attempt to get a tile from another source,\n # and if tile is missing, attempt to get a portion of the lower-zoom tile.\n uri: overzoom://\n # Specify the tile source - this adds a properly escaped query parameter\n # ?source=sourceref:///?ref=gen\n param:\n source: {ref: gen}\n```\n\n## Value substitutions\n\nIn general, these value substitutions are available:\n* `{var:varname}` - the value becomes the value of the variable `varname` from the variables file / variables conf section of the main config file. This might be useful if you want to make all the settings public except for the passwords that are stored in a secure location.\n* `{ref:sourceId}` - the value becomes a reference to another source. Some sources function as filters/converters, pulling data internally from other sources and converting the result on the fly. For example, the [overzoom](https://github.com/kartotherian/kartotherian-overzoom) source pulls data from another source, and if it's not available, tries to find a lower-zoom tile above the given one, and extract a portion of it. Internally, it uses a forwarding sourceref: source.\n* `{npmloader: npm-module-name}` or `{npmloader: ['npm-module-name', 'arg1', 'arg2', ...]}` - if npm module supports loading customization, it should be loaded via the npmloader. Npmloader is only available inside the source's `xml` key.\n* `{npmpath: ['npm-module-name', 'subdir', 'subdir', 'filename']}` - some files may be located inside the NPM modules added to the Kartotherian project, i.e. [osm-bright-source](https://github.com/kartotherian/osm-bright.tm2source). To reference a file inside npm, set npm's value to an array, with the first value being the name of the npm module (resolves to the root of the npm module), and all subsequent strings being subdirs and lastly - the name of the file. Subdirs may be omitted. `npmpath: [\"osm-bright-source\", \"data.xml\"]` would resolve to a rooted path `/.../node_modules/osm-bright-source/data.xml`\n\n## XML-based sources\nThe `xml` parameter is used to load and alter XML for some sources like\n[tilelive-bridge](https://github.com/mapbox/tilelive-bridge) (SQL→VectorTile or TIFF→RasterTile) and\n[tilelive-vector](https://github.com/mapbox/tilelive-vector) (Style VectorTile → PNG).\nThe `xml` field must evaluate to the xml file path.\n\n```\ngen: # The name of the source (could be referenced later)\n uri: bridge:// # Required - the URI used to construct the source\n xml: # Init source with this xml instead of the URI's other parameters\n # Set xml to the location of the 'data.xml', which is located inside the osm-bright-source npm\n npmpath: [\"osm-bright-source\", \"data.xml\"]\n xmlSetDataSource: # Before loading, update the datasource section of the standard mapnik config file\n if: # Only update datasources that match all these values (logical AND)\n dbname: gis # Instead of 'gis', you can use {npmpath:...}, {ref:..}, and {var:...}\n host: ''\n type: postgis\n set: # Replace these keys with the new values\n host: localhost\n user: {var: osmdb-user} # Instead of hardcoding, use the value from the variables file or conf section\n password: {var: osmdb-pswd}\n```\n\n* `xmlSetAttrs` - for xml, overrides the attributes of the root element with the new ones. For example, you may change the font directory of the `<Map>` element:\n```\ns2:\n uri: vector://\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetAttrs:\n # Note that this is not needed for osm-bright-style because that module does this internally\n font-directory: {npmpath: [\"osm-bright-fonts\", \"fonts/\"]}\n```\n* `xmlSetParams` - for xml, overrides the top level `<Parameters>` values with the new ones. For example, the `vector` source requires xml stylesheet to point to the proper source of PBFs:\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetParams:\n source: {ref: gen} # set source parameter to the 'gen' source\n```\n* `xmlLayers` - keep all non-layer data, but only keep those layers that are listed in this value (whitelist):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlLayers: ['landuse', 'road'] # Only include these layers when rendering\n```\n* `xmlExceptLayers` - same as `xmlLayers`, but instead of whitelisting, blacklist (allow all except these):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlExceptLayers: ['water'] # Exclude water layer when rendering\n```\n* `xmlSetDataSource` - change all layer's datasources' parameters if they match conditions:\n`if` is a set of parameter values that all must match,\n`xmlLayers` and `xmlExcludeLayers` just like above set which layers to address,\nand `set` specifies the new parameter values to be set.\n\nInstead of an object, `xmlSetDataSource` can be set to an array of objects to provide\nmultple change sets.\n\n## Kartotherian-specific parameters:\n* `public` (boolean) - should this be source be accessible via `/<sourceId>/z/x/y.format` requests. You may also set configuration parameter `allSourcesPublic` to true to make all sources public (might be dangerous)\n* `minzoom` (int) - minimum allowable zoom for the public request (public requests only)\n* `maxzoom` (int) - maximum allowable zoom for the public request (public requests only)\n* `defaultHeaders` (object) - a set of extra headers that will be sent to the user unless the source provides its own. (public requests only)\n* `headers` (object) - a set of extra headers that will be sent to the user instead of the headers returned by the source. (public requests only)\n* `formats` (array of strings) - one string or a list of string values specifying allowed formats, e.g. `['png','jpeg']`\n* `scales` (array of numbers) - one number or a list of number values specifying allowed scalings, e.g. `[1.3, 1.5, 2, 2.6, 3]`\n* `setInfo` (object) - provide values that will be reported to the client via the `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n* `overrideInfo` (object) - override values produced by the source's getInfo(), or if value is null, remove it. Result will be accessible via `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n", "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-core#readme", - "_id": "kartotherian-core@0.0.7", - "_shasum": "e451bfedcf255b632c5514e397b37b143eb3db29", + "_id": "kartotherian-core@0.0.8", + "_shasum": "773d1691503c55414a2cc8ec810307293c6baffa", "_from": "git+https://github.com/kartotherian/kartotherian-core.git", - "_resolved": "git+https://github.com/kartotherian/kartotherian-core.git#51266ac0a0289f9f1fa3b5966d2f47d28857933a" + "_resolved": "git+https://github.com/kartotherian/kartotherian-core.git#3ddcd4a145aefb1bbe221bd9ea54ce1b7bbddbf0" } diff --git a/node_modules/kartotherian-demultiplexer/package.json b/node_modules/kartotherian-demultiplexer/package.json index fcfb1fd..9da924d 100644 --- a/node_modules/kartotherian-demultiplexer/package.json +++ b/node_modules/kartotherian-demultiplexer/package.json @@ -31,7 +31,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-demultiplexer#readme", "_id": "kartotherian-demultiplexer@0.0.4", - "_shasum": "069c3985cb77367285d43e8dd5024430a4b2d833", + "_shasum": "008e05f1edb5e4825bf73f189864b2b08219e48d", "_from": "git+https://github.com/kartotherian/kartotherian-demultiplexer.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-demultiplexer.git#5a01de1f67c7235c8e1cea89d889252d40bdd7f5" } diff --git a/node_modules/kartotherian-layermixer/package.json b/node_modules/kartotherian-layermixer/package.json index f5c137a..3cf1cf5 100644 --- a/node_modules/kartotherian-layermixer/package.json +++ b/node_modules/kartotherian-layermixer/package.json @@ -31,7 +31,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-layermixer#readme", "_id": "kartotherian-layermixer@0.0.4", - "_shasum": "ac5733c5dddaab0c90da6b329cf6ce06d474d987", + "_shasum": "d04ded6c8c3d147573d7892a450b9c42132a73db", "_from": "git+https://github.com/kartotherian/kartotherian-layermixer.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-layermixer.git#4bb5698622c3e51871468267625782f006b5178c" } diff --git a/node_modules/kartotherian-overzoom/package.json b/node_modules/kartotherian-overzoom/package.json index b9a1681..9a6318e 100644 --- a/node_modules/kartotherian-overzoom/package.json +++ b/node_modules/kartotherian-overzoom/package.json @@ -31,7 +31,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-overzoom#readme", "_id": "kartotherian-overzoom@0.0.4", - "_shasum": "06968fff3a9e74ff5707205a91c129cbfd32ddb4", + "_shasum": "97852289de6436e847e56e05d57547fe900232a8", "_from": "git+https://github.com/kartotherian/kartotherian-overzoom.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-overzoom.git#11a46bd8f7b5e108e881f19090b90c2675712b1d" } diff --git a/node_modules/kartotherian-postgres/node_modules/pg-query-stream/node_modules/readable-stream/package.json b/node_modules/kartotherian-postgres/node_modules/pg-query-stream/node_modules/readable-stream/package.json index aeea3d6..7ce6c96 100644 --- a/node_modules/kartotherian-postgres/node_modules/pg-query-stream/node_modules/readable-stream/package.json +++ b/node_modules/kartotherian-postgres/node_modules/pg-query-stream/node_modules/readable-stream/package.json @@ -52,7 +52,7 @@ }, "_id": "readable-stream@2.1.4", "_shasum": "70b9791c6fcb8480db44bd155a0f6bb58f172468", - "_from": "readable-stream@>=2.0.5 <3.0.0", + "_from": "readable-stream@>=2.0.4 <3.0.0", "_npmVersion": "3.8.6", "_nodeVersion": "5.11.0", "_npmUser": { diff --git a/node_modules/kartotherian-postgres/package.json b/node_modules/kartotherian-postgres/package.json index 723a233..ef00f3d 100644 --- a/node_modules/kartotherian-postgres/package.json +++ b/node_modules/kartotherian-postgres/package.json @@ -34,7 +34,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-postgres#readme", "_id": "kartotherian-postgres@0.0.4", - "_shasum": "bca607d539f74274f4f1e8c1268f586b46c0cd66", + "_shasum": "42b9444e3308ca33305778c3191807fde8825f06", "_from": "git+https://github.com/kartotherian/kartotherian-postgres.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-postgres.git#bc5551015bd6951781d5f189640c520a61939491" } diff --git a/node_modules/kartotherian-server/package.json b/node_modules/kartotherian-server/package.json index 32bf046..56c2212 100644 --- a/node_modules/kartotherian-server/package.json +++ b/node_modules/kartotherian-server/package.json @@ -32,7 +32,7 @@ "readme": "# kartotherian-server\n\nThe web request handling components of the Kartotherian maps tile service\n\nSee [Kartotherian](https://github.com/kartotherian/kartotherian)\n", "readmeFilename": "README.md", "_id": "kartotherian-server@0.0.9", - "_shasum": "1206410196af5f65b5042ef33b1784f15b0a5332", + "_shasum": "8bcc719f0b04f8da523ea404db0fd20444e78b99", "_from": "git+https://github.com/kartotherian/kartotherian-server.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-server.git#0fab080d2eaf911a594e2abf12ee50e2b9059f87" } diff --git a/node_modules/kartotherian-substantial/package.json b/node_modules/kartotherian-substantial/package.json index b2f786a..0902da6 100644 --- a/node_modules/kartotherian-substantial/package.json +++ b/node_modules/kartotherian-substantial/package.json @@ -32,7 +32,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-substantial#readme", "_id": "kartotherian-substantial@0.0.4", - "_shasum": "7d81e47fa1a0928eea00856d911ba0324ca1c090", + "_shasum": "c33f6f48e15282509898bcbb677aabbe08fbaf2f", "_from": "git+https://github.com/kartotherian/kartotherian-substantial.git", "_resolved": "git+https://github.com/kartotherian/kartotherian-substantial.git#2584476802af86feaf7be32dc9329b6da4485cc1" } diff --git a/node_modules/kue-ui/package.json b/node_modules/kue-ui/package.json index b9af09d..abe1d02 100644 --- a/node_modules/kue-ui/package.json +++ b/node_modules/kue-ui/package.json @@ -43,7 +43,7 @@ "readme": "# kue ui\n## Introduction\nJob management client for [kue](https://github.com/LearnBoost/kue/) (Version `>=0.8.10`)\n\n## Screenshots\n\n* [Screenshot 1](https://cloud.githubusercontent.com/assets/1458008/5229932/76dd0e70-7716-11e4-9551-e87ce799d8dc.png)\n* [Screenshot 2](https://cloud.githubusercontent.com/assets/1458008/5229934/7fdf1c84-7716-11e4-8fa3-3d9f3dc947c7.png)\n\n## Installation\n\n $ npm install kue-ui\n\n## Setup\n### Mount with express and kue\n\n```javascript\nvar kue = require('kue');\nvar express = require('express');\nvar ui = require('kue-ui');\nvar app = express();\n\n// connect kue to appropriate redis, or omit for default localhost\nkue.createQueue({\n redis: REDIS_URL\n});\n\nui.setup({\n apiURL: '/api', // IMPORTANT: specify the api url\n baseURL: '/kue', // IMPORTANT: specify the base url\n updateInterval: 5000 // Optional: Fetches new data every 5000 ms\n});\n\n// Mount kue JSON api\napp.use('/api', kue.app);\n// Mount UI\napp.use('/kue', ui.app);\n\napp.listen(3000);\n```\n\nNote that with the above configuration you can still access the built-in Kue UI at /api/active in the browser.\n\n### Standalone app\nYou can publish the application with any backend by serving the main index file. The application is built with Ember and only has one `.jade` file.\n```javascript\nvar template = require('kue-ui').index\n// -> absolute path to lib/client/dist/build.jade\n```\n\nThe index file needs to be compiled with jade. You have to define the following locals:\n\n* baseURL: namespace of the application (in previous example: `/kue`),\n* apiURL: kue's JSON api (in previous example: `/api`)\n* [optional] updateInterval: Time between each refresh of the app (in previous example: 5000)\n\n\n\n## Development\n\nAn example is provided in `example/many.js`. Run it alongside redis (`redis-server`)\n\n $ node example/many.js\n\nThe app is now accessible on `localhost:3000/kue/`.\n\nYou can modify the app in `lib/client/app` and build it with `grunt build`.\n\n### Errors\n\n\n- Forgot to run redis-server\n```\nevents.js:72\n throw er; // Unhandled 'error' event\n ^\nError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED\n```\n\n- Stats route not implemented yet on kue. Update kue to `>=0.8.10`\n\n```\nGET http://localhost:3000/api/jobs/video%20conversion/inactive/stats 404 (Not Found)\n```\n\n\n\n### License\n`kue-ui` is released under the MIT license. See LICENSE.txt for the complete text.\n\n### Contributors\n\n* [Arnaud Benard](github.com/arnaudbenard)\n* [Peter Kadlot](github.com/daralthus)\n* [Alex Loizou](github.com/alexloi)\n", "readmeFilename": "README.md", "_id": "kue-ui@0.1.0", - "_shasum": "890cd35c3b7362160b33c20e977260e88c55d8c7", + "_shasum": "ae4c2308461c8f80b579ae045fff80bb8acb01f5", "_from": "git+https://github.com/nyurik/kue-ui.git", "_resolved": "git+https://github.com/nyurik/kue-ui.git#67cf0834e917b38278a707aaa62b1873e66f5d50" } diff --git a/node_modules/kue/node_modules/stylus/node_modules/source-map/node_modules/amdefine/package.json b/node_modules/kue/node_modules/stylus/node_modules/source-map/node_modules/amdefine/package.json index 148f4c8..47ccd2f 100644 --- a/node_modules/kue/node_modules/stylus/node_modules/source-map/node_modules/amdefine/package.json +++ b/node_modules/kue/node_modules/stylus/node_modules/source-map/node_modules/amdefine/package.json @@ -42,5 +42,6 @@ "tarball": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/kue/node_modules/stylus/node_modules/source-map/package.json b/node_modules/kue/node_modules/stylus/node_modules/source-map/package.json index 7d796c8..44fbad5 100644 --- a/node_modules/kue/node_modules/stylus/node_modules/source-map/package.json +++ b/node_modules/kue/node_modules/stylus/node_modules/source-map/package.json @@ -127,7 +127,7 @@ ], "repository": { "type": "git", - "url": "http://github.com/mozilla/source-map.git" + "url": "git+ssh://g...@github.com/mozilla/source-map.git" }, "directories": { "lib": "./lib" @@ -157,7 +157,7 @@ }, "_id": "source-map@0.1.43", "_shasum": "c24bc146ca517c1471f5dacbe2571b2b7f9e3346", - "_from": "source-map@>=0.1.7 <0.2.0", + "_from": "source-map@>=0.1.0 <0.2.0", "_npmVersion": "1.4.9", "_npmUser": { "name": "nickfitzgerald", @@ -181,5 +181,6 @@ "shasum": "c24bc146ca517c1471f5dacbe2571b2b7f9e3346", "tarball": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" }, - "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz" + "_resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json b/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json index 0d80298..4059a40 100644 --- a/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json +++ b/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json @@ -62,5 +62,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json b/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json index 0d80298..4059a40 100644 --- a/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json +++ b/node_modules/kue/node_modules/yargs/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json @@ -62,5 +62,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/package.json b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/package.json index fd561e5..28d1392 100644 --- a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/package.json +++ b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/package.json @@ -66,5 +66,6 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json index 1e95848..576fc6f 100644 --- a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json +++ b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json @@ -5,7 +5,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/chalk/strip-ansi" + "url": "git+https://github.com/chalk/strip-ansi.git" }, "author": { "name": "Sindre Sorhus", @@ -85,5 +85,6 @@ "tmp": "tmp/strip-ansi-3.0.1.tgz_1456057278183_0.28958667791448534" }, "directories": {}, - "_resolved": "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", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json index 842d22b..de3bfd5 100644 --- a/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +++ b/node_modules/mapnik/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json @@ -58,5 +58,6 @@ "host": "packages-16-east.internal.npmjs.com", "tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005" }, - "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/osm-bright-source/node_modules/postgis-vt-util/package.json b/node_modules/osm-bright-source/node_modules/postgis-vt-util/package.json index 4727fca..df04079 100644 --- a/node_modules/osm-bright-source/node_modules/postgis-vt-util/package.json +++ b/node_modules/osm-bright-source/node_modules/postgis-vt-util/package.json @@ -10,7 +10,7 @@ "readme": "postgis-vt-util\n========\n\npostgres helper functions for making vector tiles in [Mapbox Studio]()\n\n## z\n\nGiven the !scale_denominator! mapnik token, returns a zoom level. Lets you to control at which zoom levels features appear.\n\n**Arguments:** !scale_denominator! [mapnik token]\n\n**Example:**\n\n```sql\n( SELECT\n some, attributes,\n geom_generalized\n FROM your_table\n where z(!scale_denominator!) in (10,11,12)\n union ALL\n SELECT\n some, attributes,\n geom_not_generalized\n FROM your_table\n where z(!scale_denominator!) >= 13\n) as data\n```\n\n## labelgrid\n\nDe-duplicates features based on a given grid size, letting you control feature density. All features are snapped to a grid, but only 1 feature per grid cell is returend when selecting `DISTINCT ON` the labelgrid function.\n\n**Arguments:** geometry [geometry], grid size [an integer that divides evenly into 256], `!pixel_width!` [mapnik token]\n\n**Example:**\n\n```sql\n( SELECT\n disctinct on(labelgrid(geom, 128, !pixel_width!))\n some, other, attributes\n FROM your_table\n) AS data\n```\n\n## linelabel\n\nSelect only those line geometries long enough to be labeled; drops all line geometries too short for mapnik to place a label. Linelabel compares line length to the length of a user-supplied label field.\n\n**Arguments:** zoom [integer], label [text field], geometry [geometry]\n\n**Example:**\n\n```sql\n( SELECT\n name, geom\n FROM your_table\n WHERE linelabel(z(!scale_denominator!), name, geom)\n) AS data\n```\n\n## merc_buffer\n\nWrapper for ST_Buffer that adjusts distance by latitude to approximate real-world measurements. Assumes input geometries are Web Mercator and input distances are real-world meters. Accuracy decreases for larger buffer distances and at extreme latitudes.\n\n**Arguments:** geometry [geometry], distance in meters [numeric]\n\n## merc_dwithin\n\nWrapper for ST_DWithin that adjusts distance by latitude to approximate real-world measurements. Assumes input geometries are Web Mercator and input distances are real-world meters. Accuracy decreases for larger distances and at extreme latitudes.\n\n**Arguments:** geometry a [geometry], geometry b [geometry], distance in meters [numeric]\n\n## merc_length\n\nWrapper for ST_Length that adjusts distance by latitude to approximate real-world measurements. Assumes input geometries are Web Mercator. Accuracy decreases for larger y-axis ranges of the input.\n\n**Arguments:** geometry [geometry]\n\n## tile_bbox\n\nGiven a Web Mercator tile ID as (z, x, y), returns a bounding-box geometry of the area covered by that tile.\n\n**Arguments:** zoom_level [integer], x_tile [integer], y_tile [integer]\n", "readmeFilename": "README.md", "_id": "postgis-vt-util@0.3.0", - "_shasum": "7bde88bbdd11955463ebeb45571a01734165467b", + "_shasum": "d77e2fcf7abf1ff771040525ec9a2b73dd12e2c7", "_from": "git+https://github.com/mapbox/postgis-vt-util.git#v0.3.0", "_resolved": "git+https://github.com/mapbox/postgis-vt-util.git#5a62bbd3478a52716209fcbd2c9c474dbab29152" } diff --git a/node_modules/osm-bright-source/package.json b/node_modules/osm-bright-source/package.json index 314892c..a56afaa 100644 --- a/node_modules/osm-bright-source/package.json +++ b/node_modules/osm-bright-source/package.json @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/nyurik/osm-bright.tm2source#readme", "_id": "osm-bright-source@0.0.1", - "_shasum": "de9a37acd77c1986fa5e95c3db64093c9d0ffb4c", + "_shasum": "a512c6d3faaff23c88f6c6dc0846cd83715d779d", "_from": "git+https://github.com/kartotherian/osm-bright.tm2source.git", "_resolved": "git+https://github.com/kartotherian/osm-bright.tm2source.git#7f24a683bb3d7884a8653d4b901ea50e7997ce51" } diff --git a/node_modules/osm-bright-style/node_modules/osm-bright-fonts/package.json b/node_modules/osm-bright-style/node_modules/osm-bright-fonts/package.json index b3a0a5f..c3639a1 100644 --- a/node_modules/osm-bright-style/node_modules/osm-bright-fonts/package.json +++ b/node_modules/osm-bright-style/node_modules/osm-bright-fonts/package.json @@ -15,7 +15,7 @@ "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/osm-bright.fonts#readme", "_id": "osm-bright-fonts@1.0.1", - "_shasum": "70465e65a338fa9801f758fe1c357e55ee81dbc6", + "_shasum": "03b7ab40801d14789b52203b2071e80adb211286", "_from": "git+https://github.com/kartotherian/osm-bright.fonts.git", "_resolved": "git+https://github.com/kartotherian/osm-bright.fonts.git#3ac717a55a58d27d5afa0f1c88075fd3b22648a1" } diff --git a/node_modules/osm-bright-style/package.json b/node_modules/osm-bright-style/package.json index 29e11a0..eb4becb 100644 --- a/node_modules/osm-bright-style/package.json +++ b/node_modules/osm-bright-style/package.json @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/kartotherian/osm-bright.tm2#readme", "_id": "osm-bright-style@2.1.2", - "_shasum": "26bb2b2ea2c7a02267c656ee135e917382284824", + "_shasum": "ff121ccac3a6040f918e7ab954b6d2002a7f0915", "_from": "git+https://github.com/kartotherian/osm-bright.tm2.git", "_resolved": "git+https://github.com/kartotherian/osm-bright.tm2.git#93fd6098cc0c90aa234f39c6afe4fc837b8143a2" } diff --git a/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json b/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json index 94d66ff..2f82e60 100644 --- a/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json +++ b/node_modules/service-runner/node_modules/limitation/node_modules/kad/package.json @@ -75,7 +75,7 @@ }, "homepage": "https://github.com/kadtools/kad#readme", "_id": "kad@1.3.6", - "_shasum": "8c31049d5e4e0c1d61639643f63f7e0ce7a3db92", + "_shasum": "621dcc9a4a406a8ebce8a5e1ec1e180638bb9d08", "_from": "git+https://github.com/gwicke/kad.git#master", "_resolved": "git+https://github.com/gwicke/kad.git#31449a27a289b6f0ecbeec193d8bac9db8b9f513" } diff --git a/node_modules/service-runner/node_modules/yargs/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/node_modules/service-runner/node_modules/yargs/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/package.json index 80bf90b..74d76d5 100644 --- a/node_modules/service-runner/node_modules/yargs/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/package.json +++ b/node_modules/service-runner/node_modules/yargs/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/package.json @@ -5,7 +5,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/sindresorhus/ansi-regex.git" + "url": "https://github.com/sindresorhus/ansi-regex" }, "author": { "name": "Sindre Sorhus", @@ -81,6 +81,5 @@ "tarball": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" } diff --git a/node_modules/tilelive-vector/node_modules/s3urls/node_modules/minimist/package.json b/node_modules/tilelive-vector/node_modules/s3urls/node_modules/minimist/package.json index 5a9fc09..0e68b47 100644 --- a/node_modules/tilelive-vector/node_modules/s3urls/node_modules/minimist/package.json +++ b/node_modules/tilelive-vector/node_modules/s3urls/node_modules/minimist/package.json @@ -66,6 +66,5 @@ } ], "directories": {}, - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" } diff --git a/node_modules/tilerator-jobprocessor/index.js b/node_modules/tilerator-jobprocessor/index.js index 1142ab5..96c098a 100644 --- a/node_modules/tilerator-jobprocessor/index.js +++ b/node_modules/tilerator-jobprocessor/index.js @@ -1,5 +1,6 @@ 'use strict'; module.exports.fileParser = require('./lib/fileParser'); +module.exports.processAll = require('./lib/processAll'); module.exports.Job = require('./lib/Job'); module.exports.JobProcessor = require('./lib/JobProcessor'); diff --git a/node_modules/tilerator-jobprocessor/lib/fileParser.js b/node_modules/tilerator-jobprocessor/lib/fileParser.js index 3320a5e..fda8ea5 100644 --- a/node_modules/tilerator-jobprocessor/lib/fileParser.js +++ b/node_modules/tilerator-jobprocessor/lib/fileParser.js @@ -175,7 +175,7 @@ /** * Parse given file and enque the jobs - * @param filepath + * @param {string|string[]} filepath * @param options * @param addJobCallback * @returns {*} @@ -199,7 +199,8 @@ return createTempFile().spread(function (path, fd, cleanupCallback) { tmpFile = path; tmpFileCleanupCb = cleanupCallback; - return Promise.each(filepath.split('|'), function (file) { + filepath = typeof filepath === 'string' ? filepath.split('|') : filepath; + return Promise.each(filepath, function (file) { return parseSourceFile(file, options, fd); }); }).then(function () { diff --git a/node_modules/tilerator-jobprocessor/lib/processAll.js b/node_modules/tilerator-jobprocessor/lib/processAll.js new file mode 100644 index 0000000..c1fc5bc --- /dev/null +++ b/node_modules/tilerator-jobprocessor/lib/processAll.js @@ -0,0 +1,54 @@ +'use strict'; + +var Promise = require('bluebird'); +var pathLib = require('path'); +var fs = Promise.promisifyAll(require('fs')); + +var core = require('kartotherian-core'); +var Err = core.Err; +var fileParser = require('./fileParser'); + + +/** + * Parse given file and enque the jobs + * @param {string} expDirPath + * @param {string} stateFile + * @param {string} mask + * @param {object} options + * @param {Function} addJobCallback + * @returns {*} + */ +module.exports = function processAll(expDirPath, stateFile, mask, options, addJobCallback) { + var lastFileParsed, parsedFiles; + return fs.statAsync(stateFile).then(function (stat) { + if (!stat.isFile()) throw new Err(stateFile + ' is not a file'); + return fs.accessAsync(stateFile, fs.R_OK + fs.W_OK); + }, function (err) { + if (err.code !== 'ENOENT') throw err; + // File does not exist, try to create an empty one + return fs.writeFileAsync(stateFile, ''); + }).then(function () { + // File now exists, all checks have passed + return fs.readFileAsync(stateFile, {encoding: 'utf8'}); + }).then(function (content) { + lastFileParsed = content; + return fs.readdir(expDirPath); + }).then(function (files) { + let re = new RegExp(mask); + files = files.filter(function (file) { + return re.test(file) && file > lastFileParsed; + }); + return Promise.map(files, function (file) { + file = pathLib.resolve(expDirPath, file); + return fs.statAsync(file).then(function (stat) { + if (!stat.isFile()) throw new Err(file + ' is not a file'); + return fs.accessAsync(file, fs.R_OK); + }).return(file); + }); + }).then(function (files) { + parsedFiles = files.sort(); + return fileParser(parsedFiles, options, addJobCallback); + }).then(function (parseResult) { + return fs.writeFileAsync(stateFile, pathLib.basename(parsedFiles[parsedFiles.length - 1])).return(parseResult); + }); +}; diff --git a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/lib/core.js b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/lib/core.js index ac3987a..8947551 100644 --- a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/lib/core.js +++ b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/lib/core.js @@ -551,7 +551,7 @@ if (!source) { throw new Err('Unknown source').metrics('err.req.source'); } - if (!source.public) { + if (!source.public && !core.getConfiguration().allSourcesPublic) { throw new Err('Source is not public').metrics('err.req.source'); } return source; @@ -564,9 +564,10 @@ * @param dataHeaders */ core.setResponseHeaders = function setResponseHeaders(res, source, dataHeaders) { - if (_app.conf.defaultHeaders) res.set(_app.conf.defaultHeaders); + var conf = core.getConfiguration(); + if (conf.defaultHeaders) res.set(conf.defaultHeaders); if (source && source.defaultHeaders) res.set(source.defaultHeaders); if (dataHeaders) res.set(dataHeaders); - if (_app.conf.overrideHeaders) res.set(_app.conf.overrideHeaders); + if (conf.overrideHeaders) res.set(conf.overrideHeaders); if (source && source.headers) res.set(source.headers); }; diff --git a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/node_modules/xmldoc/package.json b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/node_modules/xmldoc/package.json index 2a62ed4..27ea8ff 100644 --- a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/node_modules/xmldoc/package.json +++ b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/node_modules/xmldoc/package.json @@ -33,7 +33,7 @@ }, "homepage": "https://github.com/nfarina/xmldoc#readme", "_id": "xmldoc@0.3.1", - "_shasum": "83818a894f058d097344a27ad562145b611d2d2e", + "_shasum": "7b7704cfa5ba3aea650047fa056f87ee4408f379", "_from": "git+https://github.com/nyurik/xmldoc.git", "_resolved": "git+https://github.com/nyurik/xmldoc.git#3107ca5fe10227539299fb1bb82992d5b824bc37" } diff --git a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/package.json b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/package.json index c77b855..7d22b22 100644 --- a/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/package.json +++ b/node_modules/tilerator-jobprocessor/node_modules/kartotherian-core/package.json @@ -1,6 +1,6 @@ { "name": "kartotherian-core", - "version": "0.0.7", + "version": "0.0.8", "description": "The core components of the Kartotherian maps tile service", "main": "index.js", "scripts": { @@ -24,12 +24,12 @@ "underscore": "^1.8.3", "xmldoc": "git+https://github.com/nyurik/xmldoc.git" }, - "gitHead": "51266ac0a0289f9f1fa3b5966d2f47d28857933a", - "readme": "# kartotherian-core\n\nThe core components of the Kartotherian maps tile service\n\n## Sources\nSources is a way to set up data processing pipelines for Kartotherian and Tilerator.\nSources could be either stored in a set of standalone files, or be embedded in the\nmain configuration file, or a mix of both. The sources value in the config file\ncould be a string (file), an object defining the source, or an array of strings and objects.\n\n`uri` is the only mandatory field, and it specifies how [tilelive.js](https://github.com/mapbox/tilelive.js)\nwill locate and initialize the new source. The protocol determines which tile provider will be used.\n\nSince sometimes not everything can be added as query parameters to the Uri, there is a set of additional keys to help.\nValues can either be hardcoded as strings/numbers/booleans, or can be calculated on the fly.\n\nA simple source configuration to set up a tile storage as files in the ./vectors dir:\n```\nfilestore:\n uri: file://./vectors\n```\nThe path can also be set via a parameter:\n```\nfilestore:\n uri: file://\n pathname: ./vectors\n```\nThe value does not have to be given in the source, but instead could be dynamically generated.\nFor example, the `var` generator pulls the value from the variable store.\nThe variables are defined in a separate file(s), similar to sources.\n```\nfilestore:\n uri: file://\n pathname: {var: tilepath} # Uses a variable named tilepath\n```\n\nMore parameters can be set using `params` - a set of additional values to be set in URI:\n```\noz:\n # \"overzoom:\" is a tile source that will attempt to get a tile from another source,\n # and if tile is missing, attempt to get a portion of the lower-zoom tile.\n uri: overzoom://\n # Specify the tile source - this adds a properly escaped query parameter\n # ?source=sourceref:///?ref=gen\n param:\n source: {ref: gen}\n```\n\n## Value substitutions\n\nIn general, these value substitutions are available:\n* `{var:varname}` - the value becomes the value of the variable `varname` from the variables file / variables conf section of the main config file. This might be useful if you want to make all the settings public except for the passwords that are stored in a secure location.\n* `{ref:sourceId}` - the value becomes a reference to another source. Some sources function as filters/converters, pulling data internally from other sources and converting the result on the fly. For example, the [overzoom](https://github.com/kartotherian/kartotherian-overzoom) source pulls data from another source, and if it's not available, tries to find a lower-zoom tile above the given one, and extract a portion of it. Internally, it uses a forwarding sourceref: source.\n* `{npmloader: npm-module-name}` or `{npmloader: ['npm-module-name', 'arg1', 'arg2', ...]}` - if npm module supports loading customization, it should be loaded via the npmloader. Npmloader is only available inside the source's `xml` key.\n* `{npmpath: ['npm-module-name', 'subdir', 'subdir', 'filename']}` - some files may be located inside the NPM modules added to the Kartotherian project, i.e. [osm-bright-source](https://github.com/kartotherian/osm-bright.tm2source). To reference a file inside npm, set npm's value to an array, with the first value being the name of the npm module (resolves to the root of the npm module), and all subsequent strings being subdirs and lastly - the name of the file. Subdirs may be omitted. `npmpath: [\"osm-bright-source\", \"data.xml\"]` would resolve to a rooted path `/.../node_modules/osm-bright-source/data.xml`\n\n## XML-based sources\nThe `xml` parameter is used to load and alter XML for some sources like\n[tilelive-bridge](https://github.com/mapbox/tilelive-bridge) (SQL→VectorTile or TIFF→RasterTile) and\n[tilelive-vector](https://github.com/mapbox/tilelive-vector) (Style VectorTile → PNG).\nThe `xml` field must evaluate to the xml file path.\n\n```\ngen: # The name of the source (could be referenced later)\n uri: bridge:// # Required - the URI used to construct the source\n xml: # Init source with this xml instead of the URI's other parameters\n # Set xml to the location of the 'data.xml', which is located inside the osm-bright-source npm\n npmpath: [\"osm-bright-source\", \"data.xml\"]\n xmlSetDataSource: # Before loading, update the datasource section of the standard mapnik config file\n if: # Only update datasources that match all these values (logical AND)\n dbname: gis # Instead of 'gis', you can use {npmpath:...}, {ref:..}, and {var:...}\n host: ''\n type: postgis\n set: # Replace these keys with the new values\n host: localhost\n user: {var: osmdb-user} # Instead of hardcoding, use the value from the variables file or conf section\n password: {var: osmdb-pswd}\n```\n\n* `xmlSetAttrs` - for xml, overrides the attributes of the root element with the new ones. For example, you may change the font directory of the `<Map>` element:\n```\ns2:\n uri: vector://\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetAttrs:\n # Note that this is not needed for osm-bright-style because that module does this internally\n font-directory: {npmpath: [\"osm-bright-fonts\", \"fonts/\"]}\n```\n* `xmlSetParams` - for xml, overrides the top level `<Parameters>` values with the new ones. For example, the `vector` source requires xml stylesheet to point to the proper source of PBFs:\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetParams:\n source: {ref: gen} # set source parameter to the 'gen' source\n```\n* `xmlLayers` - keep all non-layer data, but only keep those layers that are listed in this value (whitelist):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlLayers: ['landuse', 'road'] # Only include these layers when rendering\n```\n* `xmlExceptLayers` - same as `xmlLayers`, but instead of whitelisting, blacklist (allow all except these):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlExceptLayers: ['water'] # Exclude water layer when rendering\n```\n* `xmlSetDataSource` - change all layer's datasources' parameters if they match conditions:\n`if` is a set of parameter values that all must match,\n`xmlLayers` and `xmlExcludeLayers` just like above set which layers to address,\nand `set` specifies the new parameter values to be set.\n\nInstead of an object, `xmlSetDataSource` can be set to an array of objects to provide\nmultple change sets.\n\n## Kartotherian-specific parameters:\n* `public` (boolean) - should this be source be accessible via `/<sourceId>/z/x/y.format` requests\n* `minzoom` (int) - minimum allowable zoom for the public request (public requests only)\n* `maxzoom` (int) - maximum allowable zoom for the public request (public requests only)\n* `defaultHeaders` (object) - a set of extra headers that will be sent to the user unless the source provides its own. (public requests only)\n* `headers` (object) - a set of extra headers that will be sent to the user instead of the headers returned by the source. (public requests only)\n* `formats` (array of strings) - one string or a list of string values specifying allowed formats, e.g. `['png','jpeg']`\n* `scales` (array of numbers) - one number or a list of number values specifying allowed scalings, e.g. `[1.3, 1.5, 2, 2.6, 3]`\n* `setInfo` (object) - provide values that will be reported to the client via the `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n* `overrideInfo` (object) - override values produced by the source's getInfo(), or if value is null, remove it. Result will be accessible via `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n", + "gitHead": "3ddcd4a145aefb1bbe221bd9ea54ce1b7bbddbf0", + "readme": "# kartotherian-core\n\nThe core components of the Kartotherian maps tile service\n\n## Sources\nSources is a way to set up data processing pipelines for Kartotherian and Tilerator.\nSources could be either stored in a set of standalone files, or be embedded in the\nmain configuration file, or a mix of both. The sources value in the config file\ncould be a string (file), an object defining the source, or an array of strings and objects.\n\n`uri` is the only mandatory field, and it specifies how [tilelive.js](https://github.com/mapbox/tilelive.js)\nwill locate and initialize the new source. The protocol determines which tile provider will be used.\n\nSince sometimes not everything can be added as query parameters to the Uri, there is a set of additional keys to help.\nValues can either be hardcoded as strings/numbers/booleans, or can be calculated on the fly.\n\nA simple source configuration to set up a tile storage as files in the ./vectors dir:\n```\nfilestore:\n uri: file://./vectors\n```\nThe path can also be set via a parameter:\n```\nfilestore:\n uri: file://\n pathname: ./vectors\n```\nThe value does not have to be given in the source, but instead could be dynamically generated.\nFor example, the `var` generator pulls the value from the variable store.\nThe variables are defined in a separate file(s), similar to sources.\n```\nfilestore:\n uri: file://\n pathname: {var: tilepath} # Uses a variable named tilepath\n```\n\nMore parameters can be set using `params` - a set of additional values to be set in URI:\n```\noz:\n # \"overzoom:\" is a tile source that will attempt to get a tile from another source,\n # and if tile is missing, attempt to get a portion of the lower-zoom tile.\n uri: overzoom://\n # Specify the tile source - this adds a properly escaped query parameter\n # ?source=sourceref:///?ref=gen\n param:\n source: {ref: gen}\n```\n\n## Value substitutions\n\nIn general, these value substitutions are available:\n* `{var:varname}` - the value becomes the value of the variable `varname` from the variables file / variables conf section of the main config file. This might be useful if you want to make all the settings public except for the passwords that are stored in a secure location.\n* `{ref:sourceId}` - the value becomes a reference to another source. Some sources function as filters/converters, pulling data internally from other sources and converting the result on the fly. For example, the [overzoom](https://github.com/kartotherian/kartotherian-overzoom) source pulls data from another source, and if it's not available, tries to find a lower-zoom tile above the given one, and extract a portion of it. Internally, it uses a forwarding sourceref: source.\n* `{npmloader: npm-module-name}` or `{npmloader: ['npm-module-name', 'arg1', 'arg2', ...]}` - if npm module supports loading customization, it should be loaded via the npmloader. Npmloader is only available inside the source's `xml` key.\n* `{npmpath: ['npm-module-name', 'subdir', 'subdir', 'filename']}` - some files may be located inside the NPM modules added to the Kartotherian project, i.e. [osm-bright-source](https://github.com/kartotherian/osm-bright.tm2source). To reference a file inside npm, set npm's value to an array, with the first value being the name of the npm module (resolves to the root of the npm module), and all subsequent strings being subdirs and lastly - the name of the file. Subdirs may be omitted. `npmpath: [\"osm-bright-source\", \"data.xml\"]` would resolve to a rooted path `/.../node_modules/osm-bright-source/data.xml`\n\n## XML-based sources\nThe `xml` parameter is used to load and alter XML for some sources like\n[tilelive-bridge](https://github.com/mapbox/tilelive-bridge) (SQL→VectorTile or TIFF→RasterTile) and\n[tilelive-vector](https://github.com/mapbox/tilelive-vector) (Style VectorTile → PNG).\nThe `xml` field must evaluate to the xml file path.\n\n```\ngen: # The name of the source (could be referenced later)\n uri: bridge:// # Required - the URI used to construct the source\n xml: # Init source with this xml instead of the URI's other parameters\n # Set xml to the location of the 'data.xml', which is located inside the osm-bright-source npm\n npmpath: [\"osm-bright-source\", \"data.xml\"]\n xmlSetDataSource: # Before loading, update the datasource section of the standard mapnik config file\n if: # Only update datasources that match all these values (logical AND)\n dbname: gis # Instead of 'gis', you can use {npmpath:...}, {ref:..}, and {var:...}\n host: ''\n type: postgis\n set: # Replace these keys with the new values\n host: localhost\n user: {var: osmdb-user} # Instead of hardcoding, use the value from the variables file or conf section\n password: {var: osmdb-pswd}\n```\n\n* `xmlSetAttrs` - for xml, overrides the attributes of the root element with the new ones. For example, you may change the font directory of the `<Map>` element:\n```\ns2:\n uri: vector://\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetAttrs:\n # Note that this is not needed for osm-bright-style because that module does this internally\n font-directory: {npmpath: [\"osm-bright-fonts\", \"fonts/\"]}\n```\n* `xmlSetParams` - for xml, overrides the top level `<Parameters>` values with the new ones. For example, the `vector` source requires xml stylesheet to point to the proper source of PBFs:\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlSetParams:\n source: {ref: gen} # set source parameter to the 'gen' source\n```\n* `xmlLayers` - keep all non-layer data, but only keep those layers that are listed in this value (whitelist):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlLayers: ['landuse', 'road'] # Only include these layers when rendering\n```\n* `xmlExceptLayers` - same as `xmlLayers`, but instead of whitelisting, blacklist (allow all except these):\n```\ns2:\n public: true\n uri: vector://\n formats: [png,json,headers,svg,jpeg]\n xml:\n npmloader: osm-bright-style # stylesheet xml is in npm\n xmlExceptLayers: ['water'] # Exclude water layer when rendering\n```\n* `xmlSetDataSource` - change all layer's datasources' parameters if they match conditions:\n`if` is a set of parameter values that all must match,\n`xmlLayers` and `xmlExcludeLayers` just like above set which layers to address,\nand `set` specifies the new parameter values to be set.\n\nInstead of an object, `xmlSetDataSource` can be set to an array of objects to provide\nmultple change sets.\n\n## Kartotherian-specific parameters:\n* `public` (boolean) - should this be source be accessible via `/<sourceId>/z/x/y.format` requests. You may also set configuration parameter `allSourcesPublic` to true to make all sources public (might be dangerous)\n* `minzoom` (int) - minimum allowable zoom for the public request (public requests only)\n* `maxzoom` (int) - maximum allowable zoom for the public request (public requests only)\n* `defaultHeaders` (object) - a set of extra headers that will be sent to the user unless the source provides its own. (public requests only)\n* `headers` (object) - a set of extra headers that will be sent to the user instead of the headers returned by the source. (public requests only)\n* `formats` (array of strings) - one string or a list of string values specifying allowed formats, e.g. `['png','jpeg']`\n* `scales` (array of numbers) - one number or a list of number values specifying allowed scalings, e.g. `[1.3, 1.5, 2, 2.6, 3]`\n* `setInfo` (object) - provide values that will be reported to the client via the `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n* `overrideInfo` (object) - override values produced by the source's getInfo(), or if value is null, remove it. Result will be accessible via `/<sourceId>/info.json`. See https://github.com/mapbox/tilejson-spec\n", "readmeFilename": "README.md", "homepage": "https://github.com/kartotherian/kartotherian-core#readme", - "_id": "kartotherian-core@0.0.7", - "_shasum": "4444dccadafcaefbbb3283ad40c4a4fd43acb322", + "_id": "kartotherian-core@0.0.8", + "_shasum": "e2786196de1b43ebe4377e0200d58eb19a3fa57f", "_from": "git+https://github.com/kartotherian/kartotherian-core.git", - "_resolved": "git+https://github.com/kartotherian/kartotherian-core.git#51266ac0a0289f9f1fa3b5966d2f47d28857933a" + "_resolved": "git+https://github.com/kartotherian/kartotherian-core.git#3ddcd4a145aefb1bbe221bd9ea54ce1b7bbddbf0" } diff --git a/node_modules/tilerator-jobprocessor/node_modules/tmp/package.json b/node_modules/tilerator-jobprocessor/node_modules/tmp/package.json index 7105197..fb1db4e 100644 --- a/node_modules/tilerator-jobprocessor/node_modules/tmp/package.json +++ b/node_modules/tilerator-jobprocessor/node_modules/tmp/package.json @@ -42,7 +42,7 @@ "readme": "# Tmp\n\nA simple temporary file and directory creator for [node.js.][1]\n\n[![Build Status](https://travis-ci.org/raszi/node-tmp.svg?branch=master)](https://travis-ci.org/raszi/node-tmp)\n[![Dependencies](https://david-dm.org/raszi/node-tmp.svg)](https://david-dm.org/raszi/node-tmp)\n\n## About\n\nThis is a [widely used library][2] to create temporary files and directories\nin a [node.js][1] environment.\n\nTmp offers both an asynchronous and a synchronous API. For all API calls, all\nthe parameters are optional.\n\nTmp uses crypto for determining random file names, or, when using templates,\na six letter random identifier. And just in case that you do not have that much\nentropy left on your system, Tmp will fall back to pseudo random numbers.\n\nYou can set whether you want to remove the temporary file on process exit or\nnot, and the destination directory can also be set.\n\n## How to install\n\n```bash\nnpm install tmp\n```\n\n## Usage\n\n### Asynchronous file creation\n\nSimple temporary file creation, the file will be closed and unlinked on process exit.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.file(function _tempFileCreated(err, path, fd, cleanupCallback) {\n if (err) throw err;\n\n console.log(\"File: \", path);\n console.log(\"Filedescriptor: \", fd);\n \n // If we don't need the file anymore we could manually call the cleanupCallback\n // But that is not necessary if we didn't pass the keep option because the library\n // will clean after itself.\n cleanupCallback();\n});\n```\n\n### Synchronous file creation\n\nA synchronous version of the above.\n\n```javascript\nvar tmp = require('tmp');\n\nvar tmpobj = tmp.fileSync();\nconsole.log(\"File: \", tmpobj.name);\nconsole.log(\"Filedescriptor: \", tmpobj.fd);\n \n// If we don't need the file anymore we could manually call the removeCallback\n// But that is not necessary if we didn't pass the keep option because the library\n// will clean after itself.\ntmpobj.removeCallback();\n```\n\nNote that this might throw an exception if either the maximum limit of retries\nfor creating a temporary name fails, or, in case that you do not have the permission\nto write to the directory where the temporary file should be created in.\n\n### Asynchronous directory creation\n\nSimple temporary directory creation, it will be removed on process exit.\n\nIf the directory still contains items on process exit, then it won't be removed.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.dir(function _tempDirCreated(err, path, cleanupCallback) {\n if (err) throw err;\n\n console.log(\"Dir: \", path);\n \n // Manual cleanup\n cleanupCallback();\n});\n```\n\nIf you want to cleanup the directory even when there are entries in it, then\nyou can pass the `unsafeCleanup` option when creating it.\n\n### Synchronous directory creation\n\nA synchronous version of the above.\n\n```javascript\nvar tmp = require('tmp');\n\nvar tmpobj = tmp.dirSync();\nconsole.log(\"Dir: \", tmpobj.name);\n// Manual cleanup\ntmpobj.removeCallback();\n```\n\nNote that this might throw an exception if either the maximum limit of retries\nfor creating a temporary name fails, or, in case that you do not have the permission\nto write to the directory where the temporary directory should be created in.\n\n### Asynchronous filename generation\n\nIt is possible with this library to generate a unique filename in the specified\ndirectory.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.tmpName(function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log(\"Created temporary filename: \", path);\n});\n```\n\n### Synchronous filename generation\n\nA synchronous version of the above.\n\n```javascript\nvar tmp = require('tmp');\n\nvar name = tmp.tmpNameSync();\nconsole.log(\"Created temporary filename: \", name);\n```\n\n## Advanced usage\n\n### Asynchronous file creation\n\nCreates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.file({ mode: 0644, prefix: 'prefix-', postfix: '.txt' }, function _tempFileCreated(err, path, fd) {\n if (err) throw err;\n\n console.log(\"File: \", path);\n console.log(\"Filedescriptor: \", fd);\n});\n```\n\n### Synchronous file creation\n\nA synchronous version of the above.\n\n```javascript\nvar tmp = require('tmp');\n\nvar tmpobj = tmp.fileSync({ mode: 0644, prefix: 'prefix-', postfix: '.txt' });\nconsole.log(\"File: \", tmpobj.name);\nconsole.log(\"Filedescriptor: \", tmpobj.fd);\n```\n\n### Asynchronous directory creation\n\nCreates a directory with mode `0755`, prefix will be `myTmpDir_`.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.dir({ mode: 0750, prefix: 'myTmpDir_' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log(\"Dir: \", path);\n});\n```\n\n### Synchronous directory creation\n\nAgain, a synchronous version of the above.\n\n```javascript\nvar tmp = require('tmp');\n\nvar tmpobj = tmp.dirSync({ mode: 0750, prefix: 'myTmpDir_' });\nconsole.log(\"Dir: \", tmpobj.name);\n```\n\n### mkstemp like, asynchronously\n\nCreates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`.\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.dir({ template: '/tmp/tmp-XXXXXX' }, function _tempDirCreated(err, path) {\n if (err) throw err;\n\n console.log(\"Dir: \", path);\n});\n```\n\n### mkstemp like, synchronously\n\nThis will behave similarly to the asynchronous version.\n\n```javascript\nvar tmp = require('tmp');\n\nvar tmpobj = tmp.dirSync({ template: '/tmp/tmp-XXXXXX' });\nconsole.log(\"Dir: \", tmpobj.name);\n```\n\n### Asynchronous filename generation\n\nThe `tmpName()` function accepts the `prefix`, `postfix`, `dir`, etc. parameters also:\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.tmpName({ template: '/tmp/tmp-XXXXXX' }, function _tempNameGenerated(err, path) {\n if (err) throw err;\n\n console.log(\"Created temporary filename: \", path);\n});\n```\n\n### Synchronous filename generation\n\nThe `tmpNameSync()` function works similarly to `tmpName()`.\n\n```javascript\nvar tmp = require('tmp');\nvar tmpname = tmp.tmpNameSync({ template: '/tmp/tmp-XXXXXX' });\nconsole.log(\"Created temporary filename: \", tmpname);\n```\n\n## Graceful cleanup\n\nOne may want to cleanup the temporary files even when an uncaught exception\noccurs. To enforce this, you can call the `setGracefulCleanup()` method:\n\n```javascript\nvar tmp = require('tmp');\n\ntmp.setGracefulCleanup();\n```\n\n## Options\n\nAll options are optional :)\n\n * `mode`: the file mode to create with, it fallbacks to `0600` on file creation and `0700` on directory creation\n * `prefix`: the optional prefix, fallbacks to `tmp-` if not provided\n * `postfix`: the optional postfix, fallbacks to `.tmp` on file creation\n * `template`: [`mkstemp`][3] like filename template, no default\n * `dir`: the optional temporary directory, fallbacks to system default (guesses from environment)\n * `tries`: how many times should the function try to get a unique filename before giving up, default `3`\n * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false`, means delete\n * Please keep in mind that it is recommended in this case to call the provided `cleanupCallback` function manually.\n * `unsafeCleanup`: recursively removes the created temporary directory, even when it's not empty. default is `false`\n\n[1]: http://nodejs.org/\n[2]: https://www.npmjs.com/browse/depended/tmp\n[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html\n", "readmeFilename": "README.md", "_id": "tmp@0.0.28", - "_shasum": "b68958ed33b28f1159ceee1a2180cb877a4082d6", + "_shasum": "8167062fcfbbd2fef41d2256fb2e28c2412d4a8d", "_from": "git+https://github.com/nyurik/node-tmp.git", "_resolved": "git+https://github.com/nyurik/node-tmp.git#9b3c2c5ecadbf4ff0ae77e5089e937d7255ee870" } diff --git a/node_modules/tilerator-jobprocessor/package.json b/node_modules/tilerator-jobprocessor/package.json index cc091f7..aa7adc8 100644 --- a/node_modules/tilerator-jobprocessor/package.json +++ b/node_modules/tilerator-jobprocessor/package.json @@ -1,6 +1,6 @@ { "name": "tilerator-jobprocessor", - "version": "0.0.5", + "version": "0.0.6", "description": "Processes tile generation jobs", "main": "index.js", "scripts": { @@ -34,11 +34,11 @@ "devDependencies": { "mocha": "^2.5.2" }, - "gitHead": "afb5e9e2cc9c6c67c222810c0d1158bfba55732e", + "gitHead": "81c2a6c2240a27dba236fd013ead5b5db4860294", "readme": "# tilerator-jobprocessor [![Build Status](https://travis-ci.org/kartotherian/tilerator-jobprocessor.svg?branch=master)](https://travis-ci.org/kartotherian/tilerator-jobprocessor)\n\nThe job processing components of the Tilerator maps tile generation service\n\nSee [Kartotherian](https://github.com/kartotherian/kartotherian)\n", "readmeFilename": "README.md", - "_id": "tilerator-jobprocessor@0.0.5", - "_shasum": "b04719727845c04347c372d98435c2d862229540", + "_id": "tilerator-jobprocessor@0.0.6", + "_shasum": "360e030756ef7d6aff8af963bb2684708f720a6d", "_from": "git+https://github.com/kartotherian/tilerator-jobprocessor.git", - "_resolved": "git+https://github.com/kartotherian/tilerator-jobprocessor.git#afb5e9e2cc9c6c67c222810c0d1158bfba55732e" + "_resolved": "git+https://github.com/kartotherian/tilerator-jobprocessor.git#81c2a6c2240a27dba236fd013ead5b5db4860294" } diff --git a/node_modules/type-is/node_modules/media-typer/package.json b/node_modules/type-is/node_modules/media-typer/package.json index f6d6712..e280284 100644 --- a/node_modules/type-is/node_modules/media-typer/package.json +++ b/node_modules/type-is/node_modules/media-typer/package.json @@ -9,7 +9,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/jshttp/media-typer.git" + "url": "https://github.com/jshttp/media-typer" }, "devDependencies": { "istanbul": "0.3.2", @@ -53,6 +53,5 @@ "tarball": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" } diff --git a/src b/src index 84a7f15..8c0eb61 160000 --- a/src +++ b/src -Subproject commit 84a7f15a535c30dc74557904479502ecc47af634 +Subproject commit 8c0eb61139c997a60ce64460542f9270a560ea4d -- To view, visit https://gerrit.wikimedia.org/r/294225 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If66f60aa527b959437044c04e64c53c135f62afc Gerrit-PatchSet: 1 Gerrit-Project: maps/tilerator/deploy Gerrit-Branch: master Gerrit-Owner: Yurik <yu...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits