[webpack] use babel to ensure legacy browser compatibility (#645)

This commit is contained in:
Spencer
2018-03-15 14:53:43 -07:00
committed by GitHub
parent f28bbfc349
commit 4be86b402b
5 changed files with 41 additions and 18 deletions

View File

@ -45,10 +45,13 @@
]
},
"devDependencies": {
"@babel/core": "^7.0.0-beta.41",
"@babel/preset-env": "^7.0.0-beta.41",
"@spalger/eslint-config-personal": "^0.4.0",
"aliasify": "^2.1.0",
"async": "~0.8.0",
"babel-eslint": "^6.0.4",
"babel-eslint": "^8.2.2",
"babel-loader": "^8.0.0-beta",
"blanket": "^1.2.3",
"bluebird": "^2.9.14",
"browserify": "^16.1.1",
@ -76,7 +79,7 @@
"grunt-prompt": "^1.3.3",
"grunt-run": "^0.6.0",
"grunt-saucelabs": "^8.6.2",
"grunt-webpack": "^1.0.11",
"grunt-webpack": "^3.1.1",
"jquery": "^3.3.1",
"js-yaml": "^3.6.0",
"load-grunt-config": "^0.19.2",
@ -94,8 +97,8 @@
"split": "~0.3.2",
"through2": "~0.6.3",
"through2-map": "~1.4.0",
"webpack": "^1.13.0",
"webpack-dev-server": "^1.14.1",
"webpack": "^3.10.0",
"webpack-dev-server": "^2.11.1",
"xmlbuilder": "~0.4.3"
},
"license": "Apache-2.0",
@ -107,6 +110,9 @@
"lodash.isempty": "^4.4.0",
"lodash.trimend": "^4.5.1"
},
"resolutions": {
"grunt-webpack/deep-for-each": "https://github.com/spalger/js-deep-for-each/releases/download/v2.0.2-fix-missing-lodash-dep/deep-for-each-2.0.2.tgz"
},
"repository": {
"type": "git",
"url": "http://github.com/elastic/elasticsearch-js.git"
@ -120,4 +126,4 @@
"engines": {
"node": ">=0.8"
}
}
}

View File

@ -1,5 +1,5 @@
const DefinePlugin = require('webpack/lib/DefinePlugin')
const { ignoreLoader, rel } = require('./lib')
const webpack = require('webpack')
const { jsLoader, ignoreLoader, rel } = require('./lib')
module.exports = {
context: rel('src'),
@ -9,7 +9,8 @@ module.exports = {
path: rel('dist'),
},
module: {
loaders: [
rules: [
jsLoader(),
ignoreLoader([
'src/lib/connectors/jquery.js',
'src/lib/connectors/xhr.js',
@ -18,7 +19,7 @@ module.exports = {
],
},
plugins: [
new DefinePlugin({
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
}),
],

View File

@ -1,5 +1,5 @@
const DefinePlugin = require('webpack/lib/DefinePlugin')
const { ignoreLoader, rel } = require('./lib')
const webpack = require('webpack')
const { jsLoader, ignoreLoader, rel } = require('./lib')
module.exports = {
context: rel('src'),
@ -11,7 +11,8 @@ module.exports = {
libraryTarget: 'umd'
},
module: {
loaders: [
rules: [
jsLoader(),
ignoreLoader([
'src/lib/connectors/jquery.js',
'src/lib/connectors/angular.js'
@ -19,7 +20,7 @@ module.exports = {
],
},
plugins: [
new DefinePlugin({
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
}),
],

View File

@ -1,5 +1,5 @@
const DefinePlugin = require('webpack/lib/DefinePlugin')
const { ignoreLoader, rel } = require('./lib')
const webpack = require('webpack')
const { jsLoader, ignoreLoader, rel } = require('./lib')
module.exports = {
context: rel('src'),
@ -9,7 +9,8 @@ module.exports = {
path: rel('dist'),
},
module: {
loaders: [
rules: [
jsLoader(),
ignoreLoader([
'src/lib/connectors/angular.js',
'src/lib/connectors/xhr.js',
@ -18,7 +19,7 @@ module.exports = {
],
},
plugins: [
new DefinePlugin({
new webpack.DefinePlugin({
'process.env.NODE_ENV': '"production"',
}),
],

View File

@ -12,9 +12,23 @@ function ignoreLoader(ignores) {
function jsLoader() {
return {
loader: 'babel-loader',
test: /\.js$/,
include: rel('src'),
loader: 'babel-loader',
options: {
babelrc: false,
presets: [
['@babel/preset-env', {
targets: {
browsers: [
'last 2 versions',
'> 5%',
'Safari 7', // for PhantomJS support
]
}
}]
]
}
}
}