Files
vue-cli/packages/@vue/cli-service/lib/options.js
2018-01-10 16:20:29 -05:00

66 lines
1.3 KiB
JavaScript

const { createSchema, validate } = require('@vue/cli-shared-utils')
const schema = createSchema(joi => joi.object({
baseUrl: joi.string(),
outputDir: joi.string(),
compiler: joi.boolean(),
cssModules: joi.boolean(),
vueLoaderOptions: joi.object(),
productionSourceMap: joi.boolean(),
cssSourceMap: joi.boolean(),
extractCSS: joi.boolean(),
devServer: joi.object(),
// known options from offical plugins
lintOnSave: joi.boolean(),
pwa: joi.object()
}))
exports.validate = options => validate(
options,
schema,
// so that plugins can make use of custom options
{ allowUnknown: true }
)
exports.defaults = {
// project deployment base
baseUrl: '/',
// where to output built files
outputDir: 'dist',
// boolean, use full build?
compiler: false,
// apply css modules to CSS files that doesn't end with .mdoule.css?
cssModules: false,
// vue-loader options
vueLoaderOptions: {},
// sourceMap for production build?
productionSourceMap: true,
// enable css source map?
cssSourceMap: false,
// boolean | Object, extract css?
extractCSS: true,
// whether to use eslint-loader
lintOnSave: false,
devServer: {
/*
open: process.platform === 'darwin',
host: '0.0.0.0',
port: 8080,
https: false,
hotOnly: false,
proxy: null, // string | Object
before: app => {}
*/
}
}