Configuring Embark


  "contracts": ["contracts/**"],
  "app": {
    "js/dapp.js": ["app/dapp.js"],
    "index.html": "app/index.html",
    "images/": ["app/images/**"]
  "buildDir": "dist/",
  "config": "config/",
  "versions": {
    "web3": "1.0.0-beta.34",
    "solc": "0.4.17",
    "ipfs-api": "17.2.4"
  "plugins": {
  "options": {


List of directories in which embark should look for contracts. These typically are GLOB expressions (e.g ["contracts/**/*.sol"] will match all sol files inside any folders inside contracts/)


The mapping between the output files and the source. e.g "js/dapp.js": ["app/dapp.js"] will run app/dapp.js though the embark pipeline, and output the result into dist/js/dapp.js

build directory

The directory to which embark should output the dapp. (default is dist/)


This is the location of the config files, if it is:

  • A string (e.g "config/") will assume the directory in which the config files are located.
  • An object:
    • Can be the location of each config file
    • Can be set to false to disable a component in embark. e.g
  "config": {
    "contracts": "contracts.js",
    "blockchain": false,
    "storage": false,
    "communication": false,
    "webserver": false

library versions

Here you can optionally specify the versions of the library to be used by Embark. Embark will automatically download the specific library version if necessary. It’s possible to override this in other config files such as contracts.json on a per enviroment basis.


List of plugins. (see plugin section)


You can specify some options for specific components here.

For example to specify options for the solc compiler:

  "options": {
    "solc": {
      "optimize": true,
      "optimize-runs": 200