You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2017/04/23 02:20:11 UTC

zeppelin git commit: [ZEPPELIN-2439] Use babel-preset-env to specify browser compatibility explicitly

Repository: zeppelin
Updated Branches:
  refs/heads/master da793f372 -> bc1b4be8c


[ZEPPELIN-2439] Use babel-preset-env to specify browser compatibility explicitly

### What is this PR for?

Use babel-preset-env to specify browser compatibility explicitly.

- This will help to resolve some IE browser issues.
- Additionally, we don't need to add more presets like es2017, just update preset env when we need.

Specified browser lists are

- last 5 versions of major browsers
- `> %5` in the world
- IE 9+
- edge 12+
- safari 7+
- chrome 47+
- firefox 31+ (due to travis CI)

See also - [Browser Compatibility Table](https://kangax.github.io/compat-table/es6/)

### What type of PR is it?
[Improvement]

### Todos
* [x] - Setup babel-preset-env for web
* [x] - Setup babel-preset-env for helium

### What is the Jira issue?

[ZEPPELIN-2439](https://issues.apache.org/jira/browse/ZEPPELIN-2439)

### How should this be tested?

1. should be able to bundle existing helium packages
2. execute `npm run build` in `zeppelin-web`
3. should be able to see message like

```
babel-preset-env: `DEBUG` option

Using targets:
{
  "chrome": 47,
  "edge": 12,
  "firefox": 31,
  "ie": 7,
  "ios": 8,
  "safari": 7
}

Modules transform: commonjs

Using plugins:
  check-es2015-constants {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-arrow-functions {"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-block-scoped-functions {"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-block-scoping {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-classes {"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-computed-properties {"firefox":31,"ie":7,"safari":7}
  transform-es2015-destructuring {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-duplicate-keys {"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-for-of {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-function-name {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-literals {"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-object-super {"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-parameters {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-shorthand-properties {"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-spread {"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-sticky-regex {"chrome":47,"edge":12,"ie":7,"ios":8,"safari":7}
  transform-es2015-template-literals {"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-typeof-symbol {"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-es2015-unicode-regex {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-regenerator {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-exponentiation-operator {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  transform-async-to-generator {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
  syntax-trailing-function-commas {"chrome":47,"edge":12,"firefox":31,"ie":7,"ios":8,"safari":7}
```

### Screenshots (if appropriate)

NONE

### Questions:
* Does the licenses files need update? - NO
* Is there breaking changes for older versions? - NO
* Does this needs documentation? - NO

Author: 1ambda <1a...@gmail.com>

Closes #2273 from 1ambda/ZEPPELIN-2439/use-babel-preset-env and squashes the following commits:

a62d9b3 [1ambda] feat: Apply preset env to helium
244468d [1ambda] feat: Apply preset env to zeppelin-web


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/bc1b4be8
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/bc1b4be8
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/bc1b4be8

Branch: refs/heads/master
Commit: bc1b4be8cf8fb6fd550f1dbeb8bf5af6cf87e657
Parents: da793f3
Author: 1ambda <1a...@gmail.com>
Authored: Fri Apr 21 18:15:28 2017 +0900
Committer: Lee moon soo <mo...@apache.org>
Committed: Sat Apr 22 19:20:08 2017 -0700

----------------------------------------------------------------------
 zeppelin-web/.babelrc                                 | 14 +++++++++++---
 zeppelin-web/package.json                             |  3 +--
 .../src/main/resources/helium/package.json            |  3 +--
 .../src/main/resources/helium/webpack.config.js       | 13 ++++++++++++-
 4 files changed, 25 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bc1b4be8/zeppelin-web/.babelrc
----------------------------------------------------------------------
diff --git a/zeppelin-web/.babelrc b/zeppelin-web/.babelrc
index 49112f1..bebc4f1 100644
--- a/zeppelin-web/.babelrc
+++ b/zeppelin-web/.babelrc
@@ -1,5 +1,13 @@
 {
-
-  "plugins": ["transform-object-rest-spread"],
-  "presets": ["es2015"]
+  "presets": [
+    [
+      "env",
+      {
+        "debug": true,
+        "targets": {
+          "browsers": ["last 5 version", "> 5%", "edge >= 12", "ie >= 9", "safari 7", "chrome 47", "firefox 31"]
+        }
+      }
+    ]
+  ]
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bc1b4be8/zeppelin-web/package.json
----------------------------------------------------------------------
diff --git a/zeppelin-web/package.json b/zeppelin-web/package.json
index 17bcb8d..106d28f 100644
--- a/zeppelin-web/package.json
+++ b/zeppelin-web/package.json
@@ -29,8 +29,7 @@
     "babel-cli": "^6.18.0",
     "babel-core": "^6.21.0",
     "babel-loader": "^6.2.10",
-    "babel-plugin-transform-object-rest-spread": "^6.16.0",
-    "babel-preset-es2015": "^6.18.0",
+    "babel-preset-env": "^1.4.0",
     "bower": "^1.8.0",
     "copy-webpack-plugin": "^4.0.1",
     "css-loader": "^0.26.1",

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bc1b4be8/zeppelin-zengine/src/main/resources/helium/package.json
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/resources/helium/package.json b/zeppelin-zengine/src/main/resources/helium/package.json
index 6e0fe92..610beeb 100644
--- a/zeppelin-zengine/src/main/resources/helium/package.json
+++ b/zeppelin-zengine/src/main/resources/helium/package.json
@@ -11,8 +11,7 @@ DEPENDENCIES
     "webpack": "^1.12.2",
     "babel-core": "^6.23.1",
     "babel-loader": "^6.3.2",
-    "babel-preset-es2015": "^6.22.0",
-    "babel-preset-stage-0": "^6.22.0",
+    "babel-preset-env": "^1.4.0",
     "css-loader": "^0.26.2",
     "style-loader": "^0.13.2",
     "url-loader": "^0.5.8",

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/bc1b4be8/zeppelin-zengine/src/main/resources/helium/webpack.config.js
----------------------------------------------------------------------
diff --git a/zeppelin-zengine/src/main/resources/helium/webpack.config.js b/zeppelin-zengine/src/main/resources/helium/webpack.config.js
index c7d3384..91d9261 100644
--- a/zeppelin-zengine/src/main/resources/helium/webpack.config.js
+++ b/zeppelin-zengine/src/main/resources/helium/webpack.config.js
@@ -24,7 +24,18 @@ module.exports = {
         test: /\.js$/,
         loader: 'babel-loader',
         exclude: /node_modules\/(?!(zeppelin-spell|zeppelin-vis|zeppelin-tabledata)\/).*/,
-        query: { presets: ['es2015', 'stage-0'] },
+        query: {
+          presets: [
+            [
+              "env",
+              {
+                "targets": {
+                  "browsers": ["last 5 version", "> 5%", "edge >= 12", "ie >= 9", "safari 7", "chrome 47", "firefox 31"]
+                }
+              }
+            ]
+          ]
+        },
       },
       { test: /(\.css)$/, loaders: ['style', 'css?sourceMap&importLoaders=1'], },
       { test: /\.woff(\?\S*)?$/, loader: 'url-loader?limit=10000&minetype=application/font-woff', },