docs: function makeLocalDevConfig(EXAMPLE_DIR = LIB_DIR, linkToLuma) {
    const LUMA_LINK_ALIASES = {
      '@luma.gl/constants': `${ROOT_DIR}/../luma.gl/modules/constants/src`,
      '@luma.gl/core': `${ROOT_DIR}/../luma.gl/modules/core/src`,
      '@luma.gl/debug': `${ROOT_DIR}/../luma.gl/modules/debug/src`,
      '@luma.gl/webgl': `${ROOT_DIR}/../luma.gl/modules/webgl/src`,
      '@luma.gl/webgl-state-tracker': `${ROOT_DIR}/../luma.gl/modules/webgl-state-tracker/src`,
      '@luma.gl/webgl2-polyfill': `${ROOT_DIR}/../luma.gl/modules/webgl2-polyfill/src`,
      '@luma.gl/shadertools': `${ROOT_DIR}/../luma.gl/modules/shadertools/src`,
      '@luma.gl/addons': `${ROOT_DIR}/../luma.gl/modules/addons/src`
    };
    const LUMA_LOCAL_ALIASES = {
      '@luma.gl/core': `${ROOT_DIR}/node_modules/@luma.gl/core`,
      '@luma.gl/webgl': `${ROOT_DIR}/node_modules/@luma.gl/webgl`,
      '@luma.gl/webgl-state-tracker': `${ROOT_DIR}/node_modules/@luma.gl/webgl-state-tracker`,
      '@luma.gl/webgl2-polyfill': `${ROOT_DIR}/node_modules/@luma.gl/webgl2-polyfill`,
      '@luma.gl/shadertools': `${ROOT_DIR}/node_modules/@luma.gl/shadertools`,
      // @luma.gl/addons is not available in the root node_modules, must be imported
      // where required.
      '@loaders.gl/core': `${ROOT_DIR}/node_modules/@loaders.gl/core`
    };
  
    const LUMA_ALIASES = linkToLuma ? LUMA_LINK_ALIASES : LUMA_LOCAL_ALIASES;
    // console.warn(JSON.stringify(LUMA_ALIASES, null, 2)); // uncomment to debug config
    // require('fs').writeFileSync('/tmp/ocular.log', JSON.stringify(config, null, 2));
  
    return {
      // TODO - Uncomment when all examples use webpack 4 for faster bundling
      // mode: 'development',
  
      // suppress warnings about bundle size
      devServer: {
        stats: {
          warnings: false
        }
      },
  
      devtool: 'source-map',
  
      resolve: {
        // mainFields: ['esnext', 'module', 'main'],
  
        alias: Object.assign({}, ALIASES, LUMA_ALIASES, {
          // Use luma.gl installed in parallel with deck.gl
          // Important: ensure shared dependencies come from the main node_modules dir
          // Versions will be controlled by the deck.gl top level package.json
          'math.gl': resolve(LIB_DIR, './node_modules/math.gl'),
          'viewport-mercator-project': resolve(LIB_DIR, './node_modules/viewport-mercator-project'),
          seer: resolve(LIB_DIR, './node_modules/seer'),
          react: resolve(LIB_DIR, './node_modules/react')
        })
      },
      module: {
        rules: [
          {
            // Unfortunately, webpack doesn't import library sourcemaps on its own...
            test: /\.js$/,
            use: ['source-map-loader'],
            enforce: 'pre'
          },
          {
            // Compile source using babel. This is not necessary for src to run in the browser
            // However class inheritance cannot happen between transpiled/non-transpiled code
            // Which affects some examples
            test: /\.js$/,
            loader: 'babel-loader',
            options: {
              presets: ['@babel/env']
            },
            include: [`${ROOT_DIR}/modules`, `${ROOT_DIR}/../luma.gl/modules`]
          }
        ]
      }
    };
  }