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
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;
}