text: /**
   * @file index.js
   * @author sfe-sy(sfe-sy@baidu.com)
   */
  
  import Vue from 'core/index'
  import config from 'core/config'
  import {extend, noop} from 'shared/util'
  import {mountComponent} from 'core/instance/lifecycle'
  import {
    devtools,
    inBrowser,
    isChrome
  } from 'core/util/index'
  
  import {
    query,
    mustUseProp,
    isReservedTag,
    isReservedAttr,
    getTagNamespace,
    isUnknownElement
  } from 'web/util/index'
  
  import {patch} from './patch'
  import platformDirectives from './directives/index'
  import platformComponents from './components/index'
  
  // install platform specific utils
  Vue.config.mustUseProp = mustUseProp
  Vue.config.isReservedTag = isReservedTag
  Vue.config.isReservedAttr = isReservedAttr
  Vue.config.getTagNamespace = getTagNamespace
  Vue.config.isUnknownElement = isUnknownElement
  
  // install platform runtime directives & components
  extend(Vue.options.directives, platformDirectives)
  extend(Vue.options.components, platformComponents)
  
  // install platform patch function
  Vue.prototype.__patch__ = inBrowser ? patch : noop
  
  // public mount method
  Vue.prototype.$mount = function (el, hydrating) {
    el = el && inBrowser ? query(el) : undefined
    return mountComponent(this, el, hydrating)
  }
  
  // devtools global hook
  
  /* istanbul ignore next */
  Vue.nextTick(() => {
    if (config.devtools) {
      if (devtools) {
        devtools.emit('init', Vue)
      } else if (process.env.NODE_ENV !== 'production' && isChrome) {
        // console[console.info ? 'info' : 'log'](
        //     'Download the Vue Devtools extension for a better development experience:\n'
        //     + 'https://github.com/vuejs/vue-devtools'
        // );
      }
    }
  
    // if (process.env.NODE_ENV !== 'production' &&
    //       config.productionTip !== false &&
    //       inBrowser &&
    //       typeof console !== 'undefined'
    // ) {
    //   console[console.info ? 'info' : 'log'](
    //     'You are running Vue in development mode.\n' +
    //     'Make sure to turn on production mode when deploying for production.\n' +
    //     'See more tips at https://vuejs.org/guide/deployment.html\n'
    //   )
    // }
  }, 0)
  
  export default Vue
  