Sha256: 68a24ea07c5276fffd8670526c5aab8c33772fc89f0ecd912dfbaa76d1287496

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

// @flow

import * as misc from './misc';

function mergeCompilerConfig(
  target: WebpackConfig = {},
  source: WebpackConfig = {}
): WebpackConfig {
  const output = misc.merge(target, source);
  return Object.assign(output, {
    output: misc.merge(target.output, source.output),
    module: misc.merge(target.module, source.module),
    resolve: misc.merge(target.resolve, source.resolve),
  });
}

function mergeDevServerConfig(
  target: WebpackDevServerConfig = {},
  source: WebpackDevServerConfig = {}
): WebpackDevServerConfig {
  const output = misc.merge(target, source);
  return Object.assign(output, {
    stats: misc.merge(target.stats, source.stats),
  });
}

export function mergeProjectConfig(target: ProjectConfig, source: ProjectConfig): ProjectConfig {
  const output = misc.merge(target, source);
  return Object.assign(output, {
    entries: source.entries || target.entries || {},
    devServer: mergeDevServerConfig(target.devServer, source.devServer),
    compiler: mergeCompilerConfig(target.compiler, source.compiler),
  });
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hauler-0.3.4 src/utils/merge_config.js
hauler-0.3.3 src/utils/merge_config.js
hauler-0.3.2 src/utils/merge_config.js
hauler-0.3.1 src/utils/merge_config.js
hauler-0.3.0 src/utils/merge_config.js
hauler-0.2.0 src/utils/merge_config.js