You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Windshaft-cartodb/README.md

4.7 KiB

Windshaft-CartoDB Build Status

The CARTO Maps API tiler. It extends Windshaft and exposes a complete web service with extra functionality:

Build

Requirements:

Optional:

PostGIS setup

A template_postgis database is expected. One can be set up with

$ createdb --owner postgres --template template0 template_postgis
$ psql -d template_postgis -c 'CREATE EXTENSION postgis;'

Install

To fetch and build all node-based dependencies, run:

$ npm install

Run

Create the ./config/environments/<env>.js file (there are .example files to start from). Look at ./lib/cartodb/server-options.js for more on config.

$ node app.js <env>

Where <env> is the name of a configuration file under ./config/environments/.

Test

$ npm test

Coverage

$ npm run cover

Open ./coverage/lcov-report/index.html.

Docker support

We provide docker images just for testing and continuous integration purposes:

And useful npm scripts:

  • Run test in a docker image with a specific Node.js version:
$ DOCKER_IMAGE=carto/nodejs-xenial-pg1121:latest NODE_VERSION=10.15.1 npm run test:docker
  • In case you need to debug:
$ DOCKER_IMAGE=carto/nodejs-xenial-pg1121:latest npm run docker:bash

Documentation

You can find an overview, guides, full reference, and support in CARTO's developer center. The docs directory contains different documentation resources, from a higher level to more detailed ones.

Contributing

Developing with a custom Windshaft version

If you plan or want to use a custom / not released yet version of windshaft (or any other dependency), the best option is to use npm link. You can read more about it at npm-link: symlink a package folder.

$ cd /path/to/Windshaft
$ npm install
$ npm link
$ cd /path/to/Windshaft-cartodb
$ npm link windshaft

Versioning

We follow SemVer for versioning. For available versions, see the tags on this repository.

License

This project is licensed under the BSD 3-clause "New" or "Revised" License. See the LICENSE file for details.