forked from vuejs/vuepress
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconstants.js
33 lines (29 loc) · 1.5 KB
/
constants.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
'use strict'
const PLUGIN_OPTION_META_MAP = {
// hooks
READY: { name: 'ready', types: [Function] },
COMPILED: { name: 'compiled', types: [Function] },
UPDATED: { name: 'updated', types: [Function] },
GENERATED: { name: 'generated', types: [Function], async: true },
// options
CHAIN_WEBPACK: { name: 'chainWebpack', types: [Function] },
ENHANCE_DEV_SERVER: { name: 'enhanceDevServer', types: [Function] },
ENHANCE_APP_FILES: { name: 'enhanceAppFiles', types: [String, Object, Array, Function] },
OUT_FILES: { name: 'outFiles', types: [Object] },
EXTEND_PAGE_DATA: { name: 'extendPageData', types: [Function] },
EXTEND_MARKDOWN: { name: 'extendMarkdown', types: [Function] },
CHAIN_MARKDOWN: { name: 'chainMarkdown', types: [Function] },
CLIENT_DYNAMIC_MODULES: { name: 'clientDynamicModules', types: [Object, Function] },
CLIENT_ROOT_MIXIN: { name: 'clientRootMixin', types: [String] },
ADDITIONAL_PAGES: { name: 'additionalPages', types: [Function, Array] },
GLOBAL_UI_COMPONENTS: { name: 'globalUIComponents', types: [String, Array] },
DEFINE: { name: 'define', types: [Function, Object] },
ALIAS: { name: 'alias', types: [Function, Object] }
}
const PLUGIN_OPTION_MAP = {}
Object.keys(PLUGIN_OPTION_META_MAP).forEach(key => {
PLUGIN_OPTION_MAP[key] = Object.assign({ key }, PLUGIN_OPTION_META_MAP[key])
})
const OPTION_NAMES = Object.keys(PLUGIN_OPTION_META_MAP).map(key => PLUGIN_OPTION_META_MAP[key].name)
exports.PLUGIN_OPTION_MAP = PLUGIN_OPTION_MAP
exports.OPTION_NAMES = OPTION_NAMES