Updated babel config in package.json to support IE11

This commit is contained in:
Ronnie Garcia 2019-01-16 09:00:48 -08:00
parent 6f4a211ac3
commit ad3f571a96
3 changed files with 3489 additions and 4789 deletions

File diff suppressed because it is too large Load Diff

View File

@ -23,29 +23,46 @@
}, },
"homepage": "https://github.com/RonnieSan/browser-components#readme", "homepage": "https://github.com/RonnieSan/browser-components#readme",
"devDependencies": { "devDependencies": {
"@babel/cli": "^7.2.0",
"@babel/core": "^7.2.2",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"autoprefixer": "^8.3.0", "autoprefixer": "^8.3.0",
"babel-core": "^6.26.0", "babel-loader": "^7.1.5",
"babel-eslint": "^8.2.3",
"babel-loader": "^7.1.4",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"css-loader": "^0.28.11", "css-loader": "^0.28.11",
"extract-text-webpack-plugin": "^3.0.2", "extract-text-webpack-plugin": "^3.0.2",
"file-loader": "^1.1.11", "file-loader": "^1.1.11",
"friendly-errors-webpack-plugin": "^1.7.0", "friendly-errors-webpack-plugin": "^1.7.0",
"less": "^3.0.2", "less": "^3.0.2",
"less-loader": "^4.1.0", "less-loader": "^4.1.0",
"node-sass": "^4.8.3", "node-sass": "^4.11.0",
"optimize-css-assets-webpack-plugin": "^4.0.0", "optimize-css-assets-webpack-plugin": "^4.0.0",
"sass-loader": "^7.0.1", "sass-loader": "^7.0.1",
"string-replace-webpack-plugin": "^0.1.3", "string-replace-webpack-plugin": "^0.1.3",
"url-loader": "^1.0.1", "url-loader": "^1.0.1",
"vue-loader": "^14.2.2", "vue-loader": "^15.4.2",
"vue-style-loader": "^4.1.0", "vue-style-loader": "^4.1.2",
"vue-template-compiler": "^2.5.16", "vue-template-compiler": "^2.5.21",
"webpack": "^4.6.0", "webpack": "^4.6.0",
"webpack-cli": "^2.0.15" "webpack-cli": "^3.2.1"
}, },
"dependencies": { "dependencies": {
"vue": "^2.5.16" "vue": "^2.5.16"
},
"babel": {
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "true",
"targets": {
"browsers" : [
"last 2 versions",
"ie >= 11"
]
}
}
]
]
} }
} }

View File

@ -10,7 +10,8 @@ const path = require('path');
const webpack = require('webpack'); const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin');
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin'); const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin');
const StringReplacePlugin = require("string-replace-webpack-plugin"); const StringReplacePlugin = require('string-replace-webpack-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
function resolve(dir) { function resolve(dir) {
return path.resolve(__dirname, dir); return path.resolve(__dirname, dir);
@ -58,56 +59,59 @@ module.exports = (env) => {
}, },
{ {
test : /\.vue$/, test : /\.vue$/,
loader : 'vue-loader', loader : 'vue-loader'
options : {
loaders : ExtractTextPlugin.extract({
use : {
css : [
'vue-style-loader',
'css-loader'
],
postcss : [
'vue-style-loader',
'css-loader'
],
less : [
'vue-style-loader',
'css-loader',
{
loader : 'less-loader',
options : {
paths : [
path.resolve(__dirname, 'src/less')
],
sourceMap : true
}
}
],
scss : [
'vue-style-loader',
'css-loader',
'sass-loader'
],
sass : [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
]
},
fallback: 'vue-style-loader'
})
}
}, },
{ {
test : /\.js$/, test : /\.js$/,
loader : 'babel-loader', loader : 'babel-loader',
include : [ include : [
resolve('src') resolve('src')
],
exclude: file => (
/node_modules/.test(file) &&
!/\.vue\.js/.test(file)
)
},
{
test : /\.css$/,
use : [
'vue-style-loader',
'css-loader'
]
},
{
test : /\.less$/,
use : [
'vue-style-loader',
'css-loader',
'less-loader'
]
},
{
test : /\.scss$/,
use : [
'vue-style-loader',
'css-loader',
'sass-loader'
]
},
{
test : /\.sass$/,
use : [
'vue-style-loader',
'css-loader',
{
loader : 'sass-loader',
options : {
indentedSyntax : true
}
}
] ]
} }
] ]
}, },
plugins : [ plugins : [
new VueLoaderPlugin(),
new OptimizeCSSPlugin({ new OptimizeCSSPlugin({
cssProcessorOptions: { cssProcessorOptions: {
safe: true safe: true