diff --git a/src/main.js b/src/main.js index 449a3bc3b1a..cc5c00482ab 100644 --- a/src/main.js +++ b/src/main.js @@ -2,12 +2,14 @@ var config = require('./config'), ViewModel = require('./viewmodel'), utils = require('./utils'), makeHash = utils.hash, - assetTypes = ['directive', 'filter', 'partial', 'effect', 'component'] - -// require these so Browserify can catch them -// so they can be used in Vue.require -require('./observer') -require('./transition') + assetTypes = ['directive', 'filter', 'partial', 'effect', 'component'], + // Internal modules that are exposed for plugins + pluginAPI = { + utils: utils, + config: config, + transition: require('./transition'), + observer: require('./observer') + } ViewModel.options = config.globalAssets = { directives : require('./directives'), @@ -83,8 +85,8 @@ ViewModel.use = function (plugin) { /** * Expose internal modules for plugins */ -ViewModel.require = function (path) { - return require('./' + path) +ViewModel.require = function (module) { + return pluginAPI[module] } ViewModel.extend = extend