In order to run your tests, wallaby.js needs to know a couple of things about your files and your environment. To generate a sandbox to run your tests, wallaby.js needs to know where your source and test files.

Also, if you are using a compiler or a module bundler, it needs a configuration for the compiler, such as Babel or TypeScript compiler, or the module bundler, such as Browserify or Webpack.

Generally speaking, wallaby.js configuration file lists your files/tests and describes the build process for your testing environment.

These things are configured in wallaby.js configuration file (JSON or JavaScript file), that should be placed to your project root folder. Recommended names are wallaby.js/wallaby.json or wallaby.conf.js.

The configuration file is a simple JSON or JavaScript file, with a root object containing the properties listed below or exporting a function that returns an object of the same structure.

For example:

module.exports = function (wallaby) {
  return {
    files: [
      'src/**/*.js'
    ],

    tests: [
      'test/**/*Spec.js'
    ]
    ...
    // for node.js tests you need to set env property as well
    // https://wallabyjs.com/docs/integration/node.html
  };
};

or

{
  "files": [
    "src/**/*.js"
  ],

  "tests": [
    "test/**/*Spec.js"
  ]

  ...
}

By default wallaby.js is using PhantomJs to run tests. If you want to use wallaby.js to run your node.js tests, or run your tests in the latest Chromium/V8 via Electron, or run your tests in a different version of PhantomJs, you will also need to specify env configuration property.

You may read more about various configuration settings, such as files, in the corresponding documentation sections. For example, how to configure wallaby to use Webpack or Babel.