Via the command line

Prepare computer for building the configuration

Mapeo is built with JavaScript programming language. To get started, you'll need to install Node.js development environment. If you already have Node.js installed you can skip this section.

You need to be at least on Node.js version 8 (or higher) for the mapeo-settings-builder to work properly. Head over to Node.js download page and select installer for your operating system.

Alternatively you can also use NVM (Node Version Manager) to install and manage multiple versions of Node.js on your computer.

Install nvm

touch ~/.bash_profile
curl -o- <> | bash

Then close terminal and open again

Install homebrew (macOS)

Install puppeteer dependencies (Windows Subsystem for Linux)

If you are using Windows Subsystem for Linux (WSL) to build a configuration, you need to install some dependencies for puppeteer.

sudo apt install libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2

Install npm

Install and use node 12

nvm install 12
nvm alias default 12

Install Mapeo Settings Builder

You'll see output on the terminal, but this is OK

npm install -g mapeo-settings-builder

Is your computer ready?

If your computer is ready to create configurations, type


You should see output that looks something like

β†’ Using version x.x.x of mapeo-settings-builder
Usage: mapeo-settings-builder [options] [command]

  -h, --help                   display help for command

  build [options] [sourceDir]  Build config from presets in current working dir
  lint [sourceDir]             Lint preset files for errors
  extract-messages [options]   Extract messages for translation
  generate-key                 Generate a random project key
  help [command]               display help for command

Now you're ready to move to build your configuration!

Package Config Assets for MAPEO

Prep folder and build

Type, 'cd`, then a space, then drag and drop the folder where the prepared assets are and press enter. It will look something like this

cd /Users/jen/Documents/Dd_LOCAL_project-files/Dd-Tools/Mapeo/Presets/CREATION\\ LAB/Strathcona-KX-v1.0.0

You will then be ready to run scripts directly in the folder.

npm install
npm run -s build

This -s tells npm to be silent, so that you only see errors that are meaningful to you.

You will see something like the following output. Errors will be highlighted in RED with hopefully some helpful description so that you can remedy the issue.

β†’ Using version x.x.x. of mapeo-settings-builder
! Warning: no category json files found in /home/okdistribute/node_modules/mapeo-default-settings/mapeo-default-settings-2.1.0/categories
βœ“ Built presets and categories (37ms)
βœ“ Generated svg sprite for iD (544ms)
βœ“ Generated png sprite for Mapbox (81ms)
βœ“ Generated png icons for Mapeo Mobile (607ms)
βœ“ Successfully created file 'build/mapeo-default-settings-v2.1.0.mapeosettings' (total 1299ms)

You'll also see a .mapeosettings file inside of the build directory.

What is a .mapeosettings file?

A .mapeosettings file is a tar file, similar to a zip file. You can see the contents of the file by changing the file extension to .tar and using any application that can extract tar files (such as 7zip, mentioned above).

Troubleshooting Checklist

Type the following into the terminal

node -v

You need to be at least on Node version 8 for the mapeo-settings-builder to work properly. If you need help, review the 'Preparing Computer' section and ensure you're on the latest version of mapeo-settings-builder.

npm install -g mapeo-settings-builder@latest

You also may want to delete node_modules and install updated versions of the dependencies.

In Mac or Linux, in the terminal:

npm install

If you're having more issues, please open an issue on the GitHub repository or e-mail our support hotline.


It's important to increment the version when releasing new changes to your configuration. When you are ready to release a new version, you can use standard-version in the command line to automatically increment your config version and update the file in your repository.

Last updated