       throw new Error "couldn\'t load config #{fullPath}. #{error}"
 
   setConfigDefaults config, configPath
+  addDefaultServer config
   warnAboutConfigDeprecations config
   applyOverrides config, options
   deepExtend config, options
   replaceConfigSlashes config
   normalizeConfig config
-  config._normalized.packageInfo = {}
-
-  loadNpm config, (npmRes) ->
-    config._normalized.packageInfo.npm = npmRes
-
-    loadComponents config, 'bower', (bowerRes)->
-      config._normalized.packageInfo.bower = bowerRes
-
-      loadComponents config, 'component', (componentRes) ->
-        config._normalized.packageInfo.component = componentRes
-        deepFreeze config
-        callback null, config
+
+  addPackageManagers config, ->
+    deepFreeze config
+    callback null, config

      files: [file]
      version: json.dependencies[dep]
  cb components: items

exports.loadConfig = (configPath = 'brunch-config', options = {}, callback) ->
  try

    config.paths.packageConfig
    config.paths.bowerConfig
  ].concat Object.keys normalized.paths.possibleConfigFiles
  normalized.packageInfo = {}
  config._normalized = normalized
  ['on', 'off', 'only'].forEach (key) ->
    if typeof config.plugins[key] is 'string'
      config.plugins[key] = [config.plugins[key]]
  config

addDefaultServer = (config) ->
  return config if config.server.path
  defaultServerPath = 'brunch-server'
  try
    resolved = require.resolve sysPath.resolve defaultServerPath
    require resolved
    config.server.path ?= resolved
  catch e
    # Do nothing.
  config

loadComponents = (config, type, callback) ->
