|
|
@@ -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
|