Skip to content

Commit

Permalink
Merge branch 'master' into fix-router
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoiver committed Apr 18, 2018
2 parents 14726ba + 9326bd8 commit 659c12f
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 26 deletions.
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ node_js:
- "6.9"
- "7"
- "8"
cache:
directories:
- node_modules
os:
- linux
install:
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

=======

## Lavas-core-vue [1.1.11] - 2018-4-18

- [Fix] Remove `.babelrc` in templates. Use `build.babel` option in `lavas.config.js`.

## Lavas-core-vue [1.1.10] - 2018-4-13

- [Fix] Add postcss-loader to all of CSS preprocessers' rules. ([#134][i134])
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@
"ora": "^1.3.0",
"path-to-regexp": "^2.1.0",
"progress-bar-webpack-plugin": "^1.10.0",
"postcss-loader": "^2.1.3",
"querystring": "^0.2.0",
"request": "^2.83.0",
"request-promise": "^4.2.1",
Expand Down
1 change: 0 additions & 1 deletion packages/lavas-core-vue/core/config-reader.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ const DEFAULT_CONFIG = {
fonts: 'fonts/[name].[hash:8].[ext]'
},
babel: {
presets: ['vue-app'],
babelrc: false
},
cssExtract: false,
Expand Down
29 changes: 17 additions & 12 deletions packages/lavas-core-vue/core/utils/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,35 @@
*/
import ExtractTextPlugin from 'extract-text-webpack-plugin';

export function vueLoaders(options = {}) {
export function vueLoaders({cssSourceMap, cssMinimize, cssExtract, babelOptions}) {
return {
loaders: cssLoaders({
cssSourceMap: options.cssSourceMap,
cssMinimize: options.cssMinimize,
cssExtract: options.cssExtract
})
loaders: Object.assign({
js: {
loader: 'babel-loader',
options: babelOptions
}
}, cssLoaders({
cssSourceMap,
cssMinimize,
cssExtract
}))
};
}

export function cssLoaders(options = {}) {
export function cssLoaders({cssMinimize, cssSourceMap, cssExtract}) {

const cssLoader = {
loader: 'css-loader',
options: {
minimize: options.cssMinimize,
sourceMap: options.cssSourceMap
minimize: cssMinimize,
sourceMap: cssSourceMap
}
};

const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.cssSourceMap
sourceMap: cssSourceMap
}
};

Expand All @@ -39,14 +44,14 @@ export function cssLoaders(options = {}) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.cssSourceMap
sourceMap: cssSourceMap
})
});
}

// Extract CSS when that option is specified
// (which is the case during production build)
if (options.cssExtract) {
if (cssExtract) {
return ExtractTextPlugin.extract({
use: loaders,
fallback: 'vue-style-loader'
Expand Down
33 changes: 27 additions & 6 deletions packages/lavas-core-vue/core/webpack.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,20 @@ export default class WebpackConfig {
});
}

generateBabelOptions(options, isClient) {
if (!options.babelrc && !options.presets) {
options.presets = [
[
'vue-app',
{
targets: isClient ? {ie: 9, uglify: true} : {node: 'current'}
}
]
]
}
return options;
}

/**
* generate webpack base config based on lavas config
*
Expand All @@ -69,8 +83,8 @@ export default class WebpackConfig {
async base(buildConfig = {}) {
let {globals, build} = this.config;
/* eslint-disable fecs-one-var-per-line */
let {path, publicPath, filenames, babel, cssSourceMap, cssMinimize,
cssExtract, jsSourceMap,
let {path, publicPath, filenames, cssSourceMap, cssMinimize,
cssExtract, jsSourceMap, babelOptions,
alias: {base: baseAlias = {}},
defines: {base: baseDefines = {}}
} = Object.assign({}, build, buildConfig);
Expand Down Expand Up @@ -106,14 +120,15 @@ export default class WebpackConfig {
.options(vueLoaders({
cssSourceMap,
cssMinimize,
cssExtract
cssExtract,
babelOptions
}));

baseConfig.module.rule('js')
.test(/\.js$/)
.use('babel')
.loader('babel-loader')
.options(babel)
.options(babelOptions)
.end()
.exclude.add(/node_modules/);

Expand Down Expand Up @@ -197,12 +212,15 @@ export default class WebpackConfig {
/* eslint-disable fecs-one-var-per-line */
let {publicPath, filenames, cssSourceMap, cssMinimize, cssExtract,
jsSourceMap, bundleAnalyzerReport, extend, extendWithWebpackChain,
babel,
defines: {client: clientDefines = {}},
alias: {client: clientAlias = {}},
plugins: {base: basePlugins = [], client: clientPlugins = []}} = Object.assign({}, build, internalBuildConfig);
/* eslint-enable fecs-one-var-per-line */

let clientConfig = await this.base(internalBuildConfig);
let clientConfig = await this.base(Object.assign(internalBuildConfig, {
babelOptions: this.generateBabelOptions(babel, true)
}));

// set output format
clientConfig.output
Expand Down Expand Up @@ -358,13 +376,16 @@ export default class WebpackConfig {
async server(internalBuildConfig = {}) {
/* eslint-disable fecs-one-var-per-line */
let {extend, extendWithWebpackChain, nodeExternalsWhitelist = [],
babel,
defines: {server: serverDefines = {}},
alias: {server: serverAlias = {}},
plugins: {base: basePlugins = [], server: serverPlugins = []}
} = Object.assign({}, this.config.build, internalBuildConfig);
/* eslint-enable fecs-one-var-per-line */

let serverConfig = await this.base(internalBuildConfig);
let serverConfig = await this.base(Object.assign(internalBuildConfig, {
babelOptions: this.generateBabelOptions(babel, false)
}));

// set target & output
serverConfig
Expand Down
2 changes: 1 addition & 1 deletion packages/lavas-core-vue/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lavas-core-vue",
"version": "1.1.10",
"version": "1.1.11",
"description": "Lavas core implemented by Vue",
"main": "dist/index.js",
"files": [
Expand Down
3 changes: 3 additions & 0 deletions packages/lavas-core-vue/test/fixtures/simple/lavas.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ module.exports = {
base: {
'DEFINE_TEST_VAR': '"test-var"'
}
},
babel: {
babelrc: true
}
},
router: {
Expand Down
3 changes: 0 additions & 3 deletions packages/lavas-core-vue/test/fixtures/skeleton/.babelrc

This file was deleted.

3 changes: 0 additions & 3 deletions packages/lavas-core-vue/test/fixtures/vuetify/.babelrc

This file was deleted.

0 comments on commit 659c12f

Please sign in to comment.