code: function initConfigInfo(buildManager, key, file, info) {
      buildManager.logger.trace('extract file config', file.path, info);
      let {components, config = {}} = info;
  
      if (file.isPageScript) {
          initMixinFile(info.mixins, buildManager, file);
          initFilterConfig(info.filters, buildManager, file);
          config = normalPageConfig(config, components, file, buildManager);
      }
      else if (file.isComponentScript) {
          initMixinFile(info.mixins, buildManager, file);
          initFilterConfig(info.filters, buildManager, file);
          config = normalizeComponentConfig(config, components, file, buildManager);
          config.component = true;
      }
      else {
          initMixinFile(info.mixins, buildManager, file);
      }
  
      file[key] = config;
  }
docs: Initialize the app/component/page config information.
  e.g., the `mixins` info defined in the component, the `config` defined in
  app entry script that will be extracted to `app.json`
  
  @inner
  @param {BuildManager} buildManager the build manager
  @param {string} key the cache key that the `config` info cached to the file
  @param {Object} file the file contains the config info
  @param {Object} info the extract config info