Repository: ignite
Updated Branches:
  refs/heads/master 57cf9e605 -> 7cafac501


IGNITE-9028 Web Console: updated to Babel 7.


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

Branch: refs/heads/master
Commit: 7cafac501ceabf201bcff6c11f0078d4f580c145
Parents: 57cf9e6
Author: Ilya Borisov <ibori...@gridgain.com>
Authored: Tue Aug 21 10:17:32 2018 +0700
Committer: Andrey Novikov <anovi...@gridgain.com>
Committed: Tue Aug 21 10:17:32 2018 +0700

----------------------------------------------------------------------
 modules/web-console/frontend/.babelrc           |  16 ++-
 modules/web-console/frontend/.eslintrc          |   2 +-
 .../frontend/app/browserUpdate/index.js         |   8 +-
 .../components/activities-user-dialog/index.js  |  26 +++--
 .../app/components/page-configure/states.js     |   3 +-
 .../app/directives/auto-focus.directive.js      |   2 +-
 .../app/directives/bs-affix-update.directive.js |   2 +-
 .../frontend/app/directives/btn-ignite-link.js  |  22 ++--
 .../directives/centered/centered.directive.js   |   2 +-
 .../directives/copy-to-clipboard.directive.js   |   2 +-
 .../hide-on-state-change.directive.js           |   2 +-
 .../information/information.directive.js        |   2 +-
 .../app/directives/on-click-focus.directive.js  |   2 +-
 .../directives/on-enter-focus-move.directive.js |   2 +-
 .../app/directives/on-enter.directive.js        |   2 +-
 .../app/directives/on-escape.directive.js       |   2 +-
 .../directives/restore-input-focus.directive.js |   2 +-
 .../directives/retain-selection.directive.js    |   2 +-
 .../ui-ace-docker/ui-ace-docker.directive.js    |   2 +-
 .../ui-ace-java/ui-ace-java.directive.js        |   4 +-
 .../ui-ace-pojos/ui-ace-pojos.directive.js      |   2 +-
 .../ui-ace-pom/ui-ace-pom.directive.js          |   2 +-
 .../ui-ace-sharp/ui-ace-sharp.directive.js      |   4 +-
 .../ui-ace-spring/ui-ace-spring.directive.js    |   4 +-
 .../app/directives/ui-ace-tabs.directive.js     |   4 +-
 .../frontend/app/modules/ace.module.js          |   2 +-
 .../app/modules/agent/AgentManager.service.js   |   2 +
 .../app/modules/agent/AgentModal.service.js     |   2 +-
 .../app/modules/branding/features.directive.js  |   2 +-
 .../app/modules/branding/footer.directive.js    |   2 +-
 .../modules/branding/header-logo.directive.js   |   2 +-
 .../configuration/configuration.module.js       |   6 +-
 .../generator/PlatformGenerator.js              |   4 +-
 .../frontend/app/modules/demo/Demo.module.js    |   6 +-
 .../app/modules/dialog/dialog.factory.js        |   2 +-
 .../app/modules/form/panel/chevron.directive.js |   2 +-
 .../modules/form/services/FormGUID.service.js   |   2 +-
 .../app/modules/loading/loading.service.js      |   2 +-
 .../frontend/app/modules/socket.module.js       |   2 +-
 .../frontend/app/modules/states/logout.state.js |   2 +-
 .../frontend/app/modules/user/user.module.js    |   2 +-
 .../services/AngularStrapSelect.decorator.js    |   2 +-
 .../services/AngularStrapTooltip.decorator.js   |   2 +-
 .../frontend/app/services/Confirm.service.js    |   4 +-
 .../app/services/CopyToClipboard.service.js     |   2 +-
 .../frontend/app/services/Focus.service.js      |   2 +-
 .../frontend/app/services/FormUtils.service.js  |   2 +-
 .../app/services/LegacyTable.service.js         |   2 +-
 .../app/services/LegacyUtils.service.js         |   2 +-
 .../frontend/app/services/Messages.service.js   |   2 +-
 .../app/services/ModelNormalizer.service.js     |   2 +-
 .../app/services/UnsavedChangesGuard.service.js |   2 +-
 modules/web-console/frontend/app/vendor.js      |   1 -
 modules/web-console/frontend/package.json       |  41 ++++---
 .../frontend/public/images/icons/index.js       |  56 ++++-----
 .../frontend/test/karma.conf.babel.js           | 113 -------------------
 modules/web-console/frontend/test/karma.conf.js |  97 +++++++++++++++-
 .../frontend/webpack/webpack.common.js          |  71 +++---------
 .../frontend/webpack/webpack.dev.babel.js       |  92 ---------------
 .../web-console/frontend/webpack/webpack.dev.js |  92 +++++++++++++++
 .../frontend/webpack/webpack.prod.babel.js      |  61 ----------
 .../frontend/webpack/webpack.prod.js            |  61 ++++++++++
 .../frontend/webpack/webpack.test.js            |   7 +-
 63 files changed, 417 insertions(+), 464 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/.babelrc
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/.babelrc 
b/modules/web-console/frontend/.babelrc
index 1759c44..bc7244a 100644
--- a/modules/web-console/frontend/.babelrc
+++ b/modules/web-console/frontend/.babelrc
@@ -1,4 +1,14 @@
 {
-  "presets": ["es2015", "stage-1"],
-  "plugins": ["add-module-exports", "transform-object-rest-spread"]
-}
+    "presets": [
+        ["@babel/env", {
+            "targets": {
+                "browsers": [">1%", "not ie 11", "not op_mini all"]
+            }
+        }]
+    ],
+    "plugins": [
+        ["@babel/plugin-proposal-class-properties", { "loose" : true }],
+        "@babel/plugin-proposal-object-rest-spread",
+        "@babel/plugin-syntax-dynamic-import"
+    ]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/.eslintrc
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/.eslintrc 
b/modules/web-console/frontend/.eslintrc
index 805b339..b6adbff 100644
--- a/modules/web-console/frontend/.eslintrc
+++ b/modules/web-console/frontend/.eslintrc
@@ -150,7 +150,7 @@ rules:
     no-sparse-arrays: 1
     no-sync: 0
     no-ternary: 0
-    no-trailing-spaces: 2
+    no-trailing-spaces: ["error", {"ignoreComments": true}]
     no-throw-literal: 0
     no-this-before-super: 2
     no-unexpected-multiline: 2

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/browserUpdate/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/browserUpdate/index.js 
b/modules/web-console/frontend/app/browserUpdate/index.js
index 799c4fc..3930ac7 100644
--- a/modules/web-console/frontend/app/browserUpdate/index.js
+++ b/modules/web-console/frontend/app/browserUpdate/index.js
@@ -30,11 +30,7 @@ browserUpdate({
     l: 'en',
     mobile: false,
     api: 5,
-    text: `
-        <b>Outdated or unsupported browser detected.</b>
-        Web Console may work incorrectly. Please update to one of modern fully 
supported browser!
-        <a {up_but}>Update</a>
-        <a {ignore_but}>Ignore</a>
-    `,
+    // This should work in older browsers
+    text: '<b>Outdated or unsupported browser detected.</b> Web Console may 
work incorrectly. Please update to one of modern fully supported browsers! <a 
{up_but}>Update</a> <a {ignore_but}>Ignore</a>',
     reminder: 0
 });

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/components/activities-user-dialog/index.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/activities-user-dialog/index.js 
b/modules/web-console/frontend/app/components/activities-user-dialog/index.js
index 13c1d95..673c3cc 100644
--- 
a/modules/web-console/frontend/app/components/activities-user-dialog/index.js
+++ 
b/modules/web-console/frontend/app/components/activities-user-dialog/index.js
@@ -18,17 +18,19 @@
 import controller from './activities-user-dialog.controller';
 import templateUrl from './activities-user-dialog.tpl.pug';
 
-export default ['$modal', ($modal) => ({ show = true, user }) => {
-    const ActivitiesUserDialog = $modal({
-        templateUrl,
-        show,
-        resolve: {
-            user: () => user
-        },
-        controller,
-        controllerAs: 'ctrl'
-    });
+export default ['$modal', function($modal) {
+    return ({ show = true, user }) => {
+        const ActivitiesUserDialog = $modal({
+            templateUrl,
+            show,
+            resolve: {
+                user: () => user
+            },
+            controller,
+            controllerAs: 'ctrl'
+        });
 
-    return ActivitiesUserDialog.$promise
-         .then(() => ActivitiesUserDialog);
+        return ActivitiesUserDialog.$promise
+             .then(() => ActivitiesUserDialog);
+    };
 }];

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/components/page-configure/states.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/components/page-configure/states.js 
b/modules/web-console/frontend/app/components/page-configure/states.js
index ed43f48..3ba5bb7 100644
--- a/modules/web-console/frontend/app/components/page-configure/states.js
+++ b/modules/web-console/frontend/app/components/page-configure/states.js
@@ -24,10 +24,9 @@ import {Observable} from 'rxjs/Observable';
 
 const idRegex = `new|[a-z0-9]+`;
 
-const shortCachesResolve = ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', (ConfigSelectors, ConfigureState, {etp}, 
$transition$) => {
+const shortCachesResolve = ['ConfigSelectors', 'ConfigureState', 
'ConfigEffects', '$transition$', function(ConfigSelectors, ConfigureState, 
{etp}, $transition$) {
     if ($transition$.params().clusterID === 'new')
         return Promise.resolve();
-
     return Observable.fromPromise($transition$.injector().getAsync('_cluster'))
         .switchMap(() => 
ConfigureState.state$.let(ConfigSelectors.selectCluster($transition$.params().clusterID)).take(1))
         .switchMap((cluster) => {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/auto-focus.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/auto-focus.directive.js 
b/modules/web-console/frontend/app/directives/auto-focus.directive.js
index 326fe1f..9c17192 100644
--- a/modules/web-console/frontend/app/directives/auto-focus.directive.js
+++ b/modules/web-console/frontend/app/directives/auto-focus.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to auto-focus specified element.
-export default ['igniteAutoFocus', ['$timeout', ($timeout) => {
+export default ['igniteAutoFocus', ['$timeout', function($timeout) {
     return {
         restrict: 'AC',
         link(scope, element) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/bs-affix-update.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/bs-affix-update.directive.js 
b/modules/web-console/frontend/app/directives/bs-affix-update.directive.js
index 925722c..c2b1323 100644
--- a/modules/web-console/frontend/app/directives/bs-affix-update.directive.js
+++ b/modules/web-console/frontend/app/directives/bs-affix-update.directive.js
@@ -17,7 +17,7 @@
 
 import angular from 'angular';
 
-export default ['igniteBsAffixUpdate', ['$window', '$timeout', ($window, 
$timeout) => {
+export default ['igniteBsAffixUpdate', ['$window', '$timeout', 
function($window, $timeout) {
     let update = null;
 
     const link = ({$last}) => {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/btn-ignite-link.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/btn-ignite-link.js 
b/modules/web-console/frontend/app/directives/btn-ignite-link.js
index 5180c62..02aaf8f 100644
--- a/modules/web-console/frontend/app/directives/btn-ignite-link.js
+++ b/modules/web-console/frontend/app/directives/btn-ignite-link.js
@@ -15,13 +15,15 @@
  * limitations under the License.
  */
 
-export default () => ({
-    restrict: 'C',
-    link: (scope, $element) => {
-        $element.contents()
-            .filter(function() {
-                return this.nodeType === 3;
-            })
-            .wrap('<span></span>');
-    }
-});
+export default function() {
+    return {
+        restrict: 'C',
+        link: (scope, $element) => {
+            $element.contents()
+                .filter(function() {
+                    return this.nodeType === 3;
+                })
+                .wrap('<span></span>');
+        }
+    };
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/centered/centered.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/centered/centered.directive.js 
b/modules/web-console/frontend/app/directives/centered/centered.directive.js
index 77bbb94..5e3b1c8 100644
--- a/modules/web-console/frontend/app/directives/centered/centered.directive.js
+++ b/modules/web-console/frontend/app/directives/centered/centered.directive.js
@@ -17,7 +17,7 @@
 
 import './centered.scss';
 
-export default ['centered', [() => {
+export default ['centered', [function() {
     return {
         restrict: 'E',
         transclude: true,

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/copy-to-clipboard.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/copy-to-clipboard.directive.js 
b/modules/web-console/frontend/app/directives/copy-to-clipboard.directive.js
index ee2110e..027cb09 100644
--- a/modules/web-console/frontend/app/directives/copy-to-clipboard.directive.js
+++ b/modules/web-console/frontend/app/directives/copy-to-clipboard.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive for copy to clipboard.
-export default ['igniteCopyToClipboard', ['IgniteCopyToClipboard', 
(CopyToClipboard) => {
+export default ['igniteCopyToClipboard', ['IgniteCopyToClipboard', 
function(CopyToClipboard) {
     return {
         restrict: 'A',
         link(scope, element, attrs) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
 
b/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
index 152e942..6c8d702 100644
--- 
a/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
+++ 
b/modules/web-console/frontend/app/directives/hide-on-state-change/hide-on-state-change.directive.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-export default ['hideOnStateChange', ['$transitions', ($transitions) => {
+export default ['hideOnStateChange', ['$transitions', function($transitions) {
     const link = (scope, element) => {
         $transitions.onSuccess({}, () => element.fadeOut('slow'));
     };

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/information/information.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/information/information.directive.js
 
b/modules/web-console/frontend/app/directives/information/information.directive.js
index 6f304ef..3036262 100644
--- 
a/modules/web-console/frontend/app/directives/information/information.directive.js
+++ 
b/modules/web-console/frontend/app/directives/information/information.directive.js
@@ -17,7 +17,7 @@
 
 import template from './information.pug';
 
-export default ['igniteInformation', [() => {
+export default ['igniteInformation', [function() {
     return {
         scope: {
             title: '@'

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/on-click-focus.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/on-click-focus.directive.js 
b/modules/web-console/frontend/app/directives/on-click-focus.directive.js
index 5c9ee88..593a677 100644
--- a/modules/web-console/frontend/app/directives/on-click-focus.directive.js
+++ b/modules/web-console/frontend/app/directives/on-click-focus.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to describe element that should be focused on click.
-export default ['igniteOnClickFocus', ['IgniteFocus', (Focus) => {
+export default ['igniteOnClickFocus', ['IgniteFocus', function(Focus) {
     return function(scope, elem, attrs) {
         elem.on('click', () => Focus.move(attrs.igniteOnClickFocus));
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/on-enter-focus-move.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/on-enter-focus-move.directive.js 
b/modules/web-console/frontend/app/directives/on-enter-focus-move.directive.js
index 2dd2884..75ae1e2 100644
--- 
a/modules/web-console/frontend/app/directives/on-enter-focus-move.directive.js
+++ 
b/modules/web-console/frontend/app/directives/on-enter-focus-move.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to move focus to specified element on ENTER key.
-export default ['igniteOnEnterFocusMove', ['IgniteFocus', (Focus) => {
+export default ['igniteOnEnterFocusMove', ['IgniteFocus', function(Focus) {
     return function(scope, elem, attrs) {
         elem.on('keydown keypress', (event) => {
             if (event.which === 13) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/on-enter.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/on-enter.directive.js 
b/modules/web-console/frontend/app/directives/on-enter.directive.js
index 459220e..2ec75f9 100644
--- a/modules/web-console/frontend/app/directives/on-enter.directive.js
+++ b/modules/web-console/frontend/app/directives/on-enter.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to bind ENTER key press with some user action.
-export default ['igniteOnEnter', ['$timeout', ($timeout) => {
+export default ['igniteOnEnter', ['$timeout', function($timeout) {
     return function(scope, elem, attrs) {
         elem.on('keydown keypress', (event) => {
             if (event.which === 13) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/on-escape.directive.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/directives/on-escape.directive.js 
b/modules/web-console/frontend/app/directives/on-escape.directive.js
index aa1accd..dafc176 100644
--- a/modules/web-console/frontend/app/directives/on-escape.directive.js
+++ b/modules/web-console/frontend/app/directives/on-escape.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to bind ESC key press with some user action.
-export default ['igniteOnEscape', ['$timeout', ($timeout) => {
+export default ['igniteOnEscape', ['$timeout', function($timeout) {
     return function(scope, elem, attrs) {
         elem.on('keydown keypress', (event) => {
             if (event.which === 27) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/restore-input-focus.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/restore-input-focus.directive.js 
b/modules/web-console/frontend/app/directives/restore-input-focus.directive.js
index 32e6622..97a1491 100644
--- 
a/modules/web-console/frontend/app/directives/restore-input-focus.directive.js
+++ 
b/modules/web-console/frontend/app/directives/restore-input-focus.directive.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-export default [() => {
+export default [function() {
     return ($scope, $element) => {
         $element.on('click', () => {
             $element.siblings('.input-tip').find('input').focus();

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/retain-selection.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/retain-selection.directive.js 
b/modules/web-console/frontend/app/directives/retain-selection.directive.js
index 74d6872..24a55d1 100644
--- a/modules/web-console/frontend/app/directives/retain-selection.directive.js
+++ b/modules/web-console/frontend/app/directives/retain-selection.directive.js
@@ -16,7 +16,7 @@
  */
 
 // Directive to workaround known issue with type ahead edit lost cursor 
position.
-export default ['igniteRetainSelection', ['$timeout', ($timeout) => {
+export default ['igniteRetainSelection', ['$timeout', function($timeout) {
     let promise;
 
     return function(scope, elem) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.directive.js
index 9042acb..e83c315 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-docker/ui-ace-docker.directive.js
@@ -18,7 +18,7 @@
 import template from './ui-ace-docker.pug';
 import controller from './ui-ace-docker.controller';
 
-export default ['igniteUiAceDocker', [() => {
+export default ['igniteUiAceDocker', [function() {
     const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
         if (igniteUiAceTabs.onLoad)
             $scope.onLoad = igniteUiAceTabs.onLoad;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.directive.js
index 62eb376..b4f945d 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-java/ui-ace-java.directive.js
@@ -18,7 +18,7 @@
 import template from './ui-ace-java.pug';
 import IgniteUiAceJava from './ui-ace-java.controller';
 
-export default () => {
+export default function() {
     return {
         priority: 1,
         restrict: 'E',
@@ -41,4 +41,4 @@ export default () => {
             ngModelCtrl: '?ngModel'
         }
     };
-};
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
index 8a8d047..864f705 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-pojos/ui-ace-pojos.directive.js
@@ -18,7 +18,7 @@
 import template from './ui-ace-pojos.pug';
 import controller from './ui-ace-pojos.controller';
 
-export default ['igniteUiAcePojos', [() => {
+export default ['igniteUiAcePojos', [function() {
     const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
         if (igniteUiAceTabs.onLoad)
             $scope.onLoad = igniteUiAceTabs.onLoad;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.directive.js
index 664d3a0..87083ab 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-pom/ui-ace-pom.directive.js
@@ -18,7 +18,7 @@
 import template from './ui-ace-pom.pug';
 import controller from './ui-ace-pom.controller';
 
-export default ['igniteUiAcePom', [() => {
+export default ['igniteUiAcePom', [function() {
     const link = ($scope, $el, $attrs, [igniteUiAceTabs]) => {
         if (igniteUiAceTabs.onLoad)
             $scope.onLoad = igniteUiAceTabs.onLoad;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.directive.js
index 5a37b80..094028b 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-sharp/ui-ace-sharp.directive.js
@@ -15,10 +15,12 @@
  * limitations under the License.
  */
 
+import _ from 'lodash';
+
 import template from './ui-ace-sharp.pug';
 import controller from './ui-ace-sharp.controller';
 
-export default ['igniteUiAceSharp', ['IgniteSharpTransformer', (generator) => {
+export default ['igniteUiAceSharp', ['IgniteSharpTransformer', 
function(generator) {
     const link = (scope, $el, attrs, [ctrl, igniteUiAceTabs, formCtrl, 
ngModelCtrl]) => {
         if (formCtrl && ngModelCtrl)
             formCtrl.$removeControl(ngModelCtrl);

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.directive.js
 
b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.directive.js
index 8655fd1..532ba42 100644
--- 
a/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.directive.js
+++ 
b/modules/web-console/frontend/app/directives/ui-ace-spring/ui-ace-spring.directive.js
@@ -18,7 +18,7 @@
 import template from './ui-ace-spring.pug';
 import IgniteUiAceSpring from './ui-ace-spring.controller';
 
-export default () => {
+export default function() {
     return {
         priority: 1,
         restrict: 'E',
@@ -41,4 +41,4 @@ export default () => {
             ngModelCtrl: '?ngModel'
         }
     };
-};
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/directives/ui-ace-tabs.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/directives/ui-ace-tabs.directive.js 
b/modules/web-console/frontend/app/directives/ui-ace-tabs.directive.js
index 2b90a72..6d11f58 100644
--- a/modules/web-console/frontend/app/directives/ui-ace-tabs.directive.js
+++ b/modules/web-console/frontend/app/directives/ui-ace-tabs.directive.js
@@ -15,7 +15,9 @@
  * limitations under the License.
  */
 
-export default ['igniteUiAceTabs', [() => {
+import _ from 'lodash';
+
+export default ['igniteUiAceTabs', [function() {
     return {
         scope: true,
         restrict: 'AE',

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/ace.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/ace.module.js 
b/modules/web-console/frontend/app/modules/ace.module.js
index 44e51ca..4decbe1 100644
--- a/modules/web-console/frontend/app/modules/ace.module.js
+++ b/modules/web-console/frontend/app/modules/ace.module.js
@@ -21,7 +21,7 @@ import _ from 'lodash';
 angular
     .module('ignite-console.ace', [])
     .constant('igniteAceConfig', {})
-    .directive('igniteAce', ['igniteAceConfig', (aceConfig) => {
+    .directive('igniteAce', ['igniteAceConfig', function(aceConfig) {
         if (_.isUndefined(window.ace))
             throw new Error('ignite-ace need ace to work... (o rly?)');
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/agent/AgentManager.service.js 
b/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
index a1c0ff9..e06a7a7 100644
--- a/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
+++ b/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
@@ -20,6 +20,8 @@ import {nonEmpty, nonNil} from 'app/utils/lodashMixins';
 
 import { BehaviorSubject } from 'rxjs/BehaviorSubject';
 import 'rxjs/add/operator/first';
+import 'rxjs/add/operator/partition';
+import 'rxjs/add/operator/takeUntil';
 
 import AgentModal from './AgentModal.service';
 // @ts-ignore

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/agent/AgentModal.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/agent/AgentModal.service.js 
b/modules/web-console/frontend/app/modules/agent/AgentModal.service.js
index 15a08a2..857a71e 100644
--- a/modules/web-console/frontend/app/modules/agent/AgentModal.service.js
+++ b/modules/web-console/frontend/app/modules/agent/AgentModal.service.js
@@ -33,7 +33,7 @@ export default class AgentModal {
             show: false,
             backdrop: 'static',
             keyboard: false,
-            controller: () => self,
+            controller() { return self;},
             controllerAs: 'ctrl'
         });
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/branding/features.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/branding/features.directive.js 
b/modules/web-console/frontend/app/modules/branding/features.directive.js
index 9226a3f..d99b885 100644
--- a/modules/web-console/frontend/app/modules/branding/features.directive.js
+++ b/modules/web-console/frontend/app/modules/branding/features.directive.js
@@ -17,7 +17,7 @@
 
 const template = '<div class="features" ng-bind-html="features.html"></div>';
 
-export default ['igniteFeatures', ['IgniteBranding', (branding) => {
+export default ['igniteFeatures', ['IgniteBranding', function(branding) {
     function controller() {
         const ctrl = this;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/branding/footer.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/branding/footer.directive.js 
b/modules/web-console/frontend/app/modules/branding/footer.directive.js
index f0b1994..7f09e11 100644
--- a/modules/web-console/frontend/app/modules/branding/footer.directive.js
+++ b/modules/web-console/frontend/app/modules/branding/footer.directive.js
@@ -17,7 +17,7 @@
 
 const template = '<div class="footer" ng-bind-html="footer.html"></div>';
 
-export default ['igniteFooter', ['IgniteBranding', (branding) => {
+export default ['igniteFooter', ['IgniteBranding', function(branding) {
     function controller() {
         const ctrl = this;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/branding/header-logo.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/branding/header-logo.directive.js 
b/modules/web-console/frontend/app/modules/branding/header-logo.directive.js
index 231411b..18dff1c 100644
--- a/modules/web-console/frontend/app/modules/branding/header-logo.directive.js
+++ b/modules/web-console/frontend/app/modules/branding/header-logo.directive.js
@@ -17,7 +17,7 @@
 
 import template from './header-logo.pug';
 
-export default ['igniteHeaderLogo', ['IgniteBranding', (branding) => {
+export default ['igniteHeaderLogo', ['IgniteBranding', function(branding) {
     function controller() {
         const ctrl = this;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/configuration/configuration.module.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/configuration/configuration.module.js
 
b/modules/web-console/frontend/app/modules/configuration/configuration.module.js
index a350871..844c87f 100644
--- 
a/modules/web-console/frontend/app/modules/configuration/configuration.module.js
+++ 
b/modules/web-console/frontend/app/modules/configuration/configuration.module.js
@@ -42,10 +42,10 @@ angular
 .module('ignite-console.configuration', [
 
 ])
-.service('IgniteConfigurationGenerator', () => IgniteConfigurationGenerator)
+.service('IgniteConfigurationGenerator', function() { return 
IgniteConfigurationGenerator;})
 .service('IgnitePlatformGenerator', IgnitePlatformGenerator)
-.service('SpringTransformer', () => IgniteSpringTransformer)
-.service('JavaTransformer', () => IgniteJavaTransformer)
+.service('SpringTransformer', function() { return IgniteSpringTransformer;})
+.service('JavaTransformer', function() { return IgniteJavaTransformer;})
 .service('IgniteSharpTransformer', SharpTransformer)
 .service('IgniteEventGroups', IgniteEventGroups)
 .service('IgniteClusterDefaults', IgniteClusterDefaults)

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
 
b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
index 99b93cc..f4a712d4 100644
--- 
a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
+++ 
b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
@@ -15,10 +15,12 @@
  * limitations under the License.
  */
 
+import _ from 'lodash';
+
 import {nonEmpty} from 'app/utils/lodashMixins';
 import { EmptyBean, Bean } from './Beans';
 
-export default ['JavaTypes', 'igniteClusterPlatformDefaults', 
'igniteCachePlatformDefaults', (JavaTypes, clusterDflts, cacheDflts) => {
+export default ['JavaTypes', 'igniteClusterPlatformDefaults', 
'igniteCachePlatformDefaults', function(JavaTypes, clusterDflts, cacheDflts) {
     class PlatformGenerator {
         static igniteConfigurationBean(cluster) {
             return new Bean('Apache.Ignite.Core.IgniteConfiguration', 'cfg', 
cluster, clusterDflts);

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/demo/Demo.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/demo/Demo.module.js 
b/modules/web-console/frontend/app/modules/demo/Demo.module.js
index 2e1a627..6ca19d6 100644
--- a/modules/web-console/frontend/app/modules/demo/Demo.module.js
+++ b/modules/web-console/frontend/app/modules/demo/Demo.module.js
@@ -78,7 +78,7 @@ angular
         return {enabled};
     }];
 }])
-.factory('demoInterceptor', ['Demo', (Demo) => {
+.factory('demoInterceptor', ['Demo', function(Demo) {
     const isApiRequest = (url) => /\/api\/v1/ig.test(url);
 
     return {
@@ -90,7 +90,7 @@ angular
         }
     };
 }])
-.controller('demoController', ['$scope', '$state', '$window', 'IgniteConfirm', 
($scope, $state, $window, Confirm) => {
+.controller('demoController', ['$scope', '$state', '$window', 'IgniteConfirm', 
function($scope, $state, $window, Confirm) {
     const _openTab = (stateName) => $window.open($state.href(stateName), 
'_blank');
 
     $scope.startDemo = () => {
@@ -119,7 +119,7 @@ angular
         return items;
     }];
 }])
-.service('DemoInfo', ['$rootScope', '$modal', '$state', '$q', 
'igniteDemoInfo', 'AgentManager', ($rootScope, $modal, $state, $q, 
igniteDemoInfo, agentMgr) => {
+.service('DemoInfo', ['$rootScope', '$modal', '$state', '$q', 
'igniteDemoInfo', 'AgentManager', function($rootScope, $modal, $state, $q, 
igniteDemoInfo, agentMgr) {
     const scope = $rootScope.$new();
 
     let closePromise = null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/dialog/dialog.factory.js 
b/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
index 599433a..749f833 100644
--- a/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
+++ b/modules/web-console/frontend/app/modules/dialog/dialog.factory.js
@@ -17,7 +17,7 @@
 
 import templateUrl from './dialog.tpl.pug';
 
-export default ['IgniteDialog', ['$modal', ($modal) => {
+export default ['IgniteDialog', ['$modal', function($modal) {
     const defaults = {
         templateUrl,
         show: false

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js 
b/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js
index f5ad957..17e918a 100644
--- a/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js
+++ b/modules/web-console/frontend/app/modules/form/panel/chevron.directive.js
@@ -18,7 +18,7 @@
 const template = `<img ng-src="{{ isOpen ? '/images/collapse.svg' : 
'/images/expand.svg' }}" style='width:13px;height:13px;' />`;
 
 export default ['igniteFormPanelChevron', ['$timeout', ($timeout) => {
-    const controller = [() => {}];
+    const controller = [function() {}];
 
     const link = ($scope, $element, $attrs, [bsCollapseCtrl]) => {
         const $target = 
$element.parent().parent().find('[bs-collapse-target]');

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js 
b/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
index b886851..a018500 100644
--- a/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
+++ b/modules/web-console/frontend/app/modules/form/services/FormGUID.service.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-export default [() => {
+export default [function() {
     let guid = 0;
 
     return () => `form-field-${guid++}`;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/loading/loading.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/modules/loading/loading.service.js 
b/modules/web-console/frontend/app/modules/loading/loading.service.js
index bdc80b8..a5c9e7e 100644
--- a/modules/web-console/frontend/app/modules/loading/loading.service.js
+++ b/modules/web-console/frontend/app/modules/loading/loading.service.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-export default ['IgniteLoading', [() => {
+export default ['IgniteLoading', [function() {
     const _overlays = {};
 
     const start = (key) => {

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/socket.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/socket.module.js 
b/modules/web-console/frontend/app/modules/socket.module.js
index 17856c4..3f50295 100644
--- a/modules/web-console/frontend/app/modules/socket.module.js
+++ b/modules/web-console/frontend/app/modules/socket.module.js
@@ -32,7 +32,7 @@ angular
     };
 
     this.$get = ['socketFactory', function(socketFactory) {
-        return () => {
+        return function() {
             const ioSocket = io.connect(_options);
 
             return socketFactory({ioSocket});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/states/logout.state.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/logout.state.js 
b/modules/web-console/frontend/app/modules/states/logout.state.js
index 9f9c7c6..a46f871 100644
--- a/modules/web-console/frontend/app/modules/states/logout.state.js
+++ b/modules/web-console/frontend/app/modules/states/logout.state.js
@@ -25,7 +25,7 @@ angular.module('ignite-console.states.logout', [
     $stateProvider.state('logout', {
         url: '/logout',
         permission: 'logout',
-        controller: ['Auth', (Auth) => Auth.logout()],
+        controller: ['Auth', function(Auth) {Auth.logout();}],
         tfMetaTags: {
             title: 'Logout'
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/modules/user/user.module.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/user/user.module.js 
b/modules/web-console/frontend/app/modules/user/user.module.js
index 889ee5e..24dfc8f 100644
--- a/modules/web-console/frontend/app/modules/user/user.module.js
+++ b/modules/web-console/frontend/app/modules/user/user.module.js
@@ -26,7 +26,7 @@ angular.module('ignite-console.user', [
     'ignite-console.config',
     'ignite-console.core'
 ])
-.factory('sessionRecoverer', ['$injector', '$q', ($injector, $q) => {
+.factory('sessionRecoverer', ['$injector', '$q', function($injector, $q) {
     return {
         responseError: (response) => {
             // Session has expired

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js 
b/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
index 32fa167..44ed8ed 100644
--- a/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
+++ b/modules/web-console/frontend/app/services/AngularStrapSelect.decorator.js
@@ -23,7 +23,7 @@ import _ from 'lodash';
  * If this problem will be fixed in AngularStrap we can remove this delegate.
  */
 export default angular.module('mgcrea.ngStrap.select')
-    .decorator('$select', ['$delegate', ($delegate) => {
+    .decorator('$select', ['$delegate', function($delegate) {
         function SelectFactoryDecorated(element, controller, config) {
             const delegate = $delegate(element, controller, config);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js 
b/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
index fa59f32..f1f8673 100644
--- a/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
+++ b/modules/web-console/frontend/app/services/AngularStrapTooltip.decorator.js
@@ -26,7 +26,7 @@ export default angular
     /**
      * Don't hide tooltip when mouse move from element to tooltip.
      */
-    .decorator('$tooltip', ['$delegate', ($delegate) => {
+    .decorator('$tooltip', ['$delegate', function($delegate) {
         function TooltipFactoryDecorated(element, config) {
             let tipElementEntered = false;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/Confirm.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Confirm.service.js 
b/modules/web-console/frontend/app/services/Confirm.service.js
index c2eaf35..8c88a40 100644
--- a/modules/web-console/frontend/app/services/Confirm.service.js
+++ b/modules/web-console/frontend/app/services/Confirm.service.js
@@ -39,7 +39,7 @@ export class Confirm {
                 templateUrl,
                 backdrop: true,
                 onBeforeHide: () => reject(new CancellationError()),
-                controller: ['$scope', ($scope) => {
+                controller: ['$scope', function($scope) {
                     $scope.yesNo = yesNo;
                     $scope.content = content;
                     $scope.confirmCancel = $scope.confirmNo = () => {
@@ -57,7 +57,7 @@ export class Confirm {
 }
 
 // Confirm popup service.
-export default ['IgniteConfirm', ['$rootScope', '$q', '$modal', '$animate', 
($root, $q, $modal, $animate) => {
+export default ['IgniteConfirm', ['$rootScope', '$q', '$modal', '$animate', 
function($root, $q, $modal, $animate) {
     const scope = $root.$new();
 
     const modal = $modal({templateUrl, scope, show: false, backdrop: true});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/CopyToClipboard.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/CopyToClipboard.service.js 
b/modules/web-console/frontend/app/services/CopyToClipboard.service.js
index df0bb8a..52285a6 100644
--- a/modules/web-console/frontend/app/services/CopyToClipboard.service.js
+++ b/modules/web-console/frontend/app/services/CopyToClipboard.service.js
@@ -16,7 +16,7 @@
  */
 
 // Service to copy some value to OS clipboard.
-export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', 
($window, Messages) => {
+export default ['IgniteCopyToClipboard', ['$window', 'IgniteMessages', 
function($window, Messages) {
     const body = angular.element($window.document.body);
 
     const textArea = angular.element('<textarea/>');

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/Focus.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Focus.service.js 
b/modules/web-console/frontend/app/services/Focus.service.js
index a07e181..a285fbc 100644
--- a/modules/web-console/frontend/app/services/Focus.service.js
+++ b/modules/web-console/frontend/app/services/Focus.service.js
@@ -16,7 +16,7 @@
  */
 
 // Service to transfer focus for specified element.
-export default ['IgniteFocus', ['$timeout', ($timeout) => {
+export default ['IgniteFocus', ['$timeout', function($timeout) {
     return {
         move(id) {
             // Timeout makes sure that is invoked after any other event has 
been triggered.

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/FormUtils.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/FormUtils.service.js 
b/modules/web-console/frontend/app/services/FormUtils.service.js
index 2c81c57..00b399b 100644
--- a/modules/web-console/frontend/app/services/FormUtils.service.js
+++ b/modules/web-console/frontend/app/services/FormUtils.service.js
@@ -16,7 +16,7 @@
  */
 import _ from 'lodash';
 
-export default ['IgniteFormUtils', ['$window', 'IgniteFocus', '$rootScope', 
($window, Focus, $rootScope) => {
+export default ['IgniteFormUtils', ['$window', 'IgniteFocus', '$rootScope', 
function($window, Focus, $rootScope) {
     function ensureActivePanel(ui, pnl, focusId) {
         if (ui && ui.loadPanel) {
             const collapses = $('[bs-collapse-target]');

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/LegacyTable.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/LegacyTable.service.js 
b/modules/web-console/frontend/app/services/LegacyTable.service.js
index 38b041a..2d795ce 100644
--- a/modules/web-console/frontend/app/services/LegacyTable.service.js
+++ b/modules/web-console/frontend/app/services/LegacyTable.service.js
@@ -17,7 +17,7 @@
 
 // TODO: Refactor this service for legacy tables with more than one input 
field.
 export default ['IgniteLegacyTable',
-    ['IgniteLegacyUtils', 'IgniteFocus', 'IgniteErrorPopover', (LegacyUtils, 
Focus, ErrorPopover) => {
+    ['IgniteLegacyUtils', 'IgniteFocus', 'IgniteErrorPopover', 
function(LegacyUtils, Focus, ErrorPopover) {
         function _model(item, field) {
             let path = field.path;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/LegacyUtils.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/LegacyUtils.service.js 
b/modules/web-console/frontend/app/services/LegacyUtils.service.js
index a169343..1aea642 100644
--- a/modules/web-console/frontend/app/services/LegacyUtils.service.js
+++ b/modules/web-console/frontend/app/services/LegacyUtils.service.js
@@ -18,7 +18,7 @@
 import saver from 'file-saver';
 
 // TODO: Refactor this service for legacy tables with more than one input 
field.
-export default ['IgniteLegacyUtils', ['IgniteErrorPopover', (ErrorPopover) => {
+export default ['IgniteLegacyUtils', ['IgniteErrorPopover', 
function(ErrorPopover) {
     function isDefined(v) {
         return !_.isNil(v);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/Messages.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/services/Messages.service.js 
b/modules/web-console/frontend/app/services/Messages.service.js
index 1337e24..b5e1b3c 100644
--- a/modules/web-console/frontend/app/services/Messages.service.js
+++ b/modules/web-console/frontend/app/services/Messages.service.js
@@ -18,7 +18,7 @@
 import {CancellationError} from 'app/errors/CancellationError';
 
 // Service to show various information and error messages.
-export default ['IgniteMessages', ['$alert', 'IgniteErrorParser', ($alert, 
errorParser) => {
+export default ['IgniteMessages', ['$alert', 'IgniteErrorParser', 
function($alert, errorParser) {
     // Common instance of alert modal.
     let msgModal;
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/ModelNormalizer.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/ModelNormalizer.service.js 
b/modules/web-console/frontend/app/services/ModelNormalizer.service.js
index 4c7052b..a617784 100644
--- a/modules/web-console/frontend/app/services/ModelNormalizer.service.js
+++ b/modules/web-console/frontend/app/services/ModelNormalizer.service.js
@@ -16,7 +16,7 @@
  */
 
 // Service to normalize objects for dirty checks.
-export default ['IgniteModelNormalizer', () => {
+export default ['IgniteModelNormalizer', function() {
     /**
      * Normalize object for dirty checks.
      *

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/services/UnsavedChangesGuard.service.js
----------------------------------------------------------------------
diff --git 
a/modules/web-console/frontend/app/services/UnsavedChangesGuard.service.js 
b/modules/web-console/frontend/app/services/UnsavedChangesGuard.service.js
index 91244b0..1f7dea6 100644
--- a/modules/web-console/frontend/app/services/UnsavedChangesGuard.service.js
+++ b/modules/web-console/frontend/app/services/UnsavedChangesGuard.service.js
@@ -18,7 +18,7 @@
 const MSG = 'You have unsaved changes.\n\nAre you sure you want to discard 
them?';
 
 // Service that show confirmation about unsaved changes on user change 
location.
-export default ['IgniteUnsavedChangesGuard', ['$rootScope', ($root) => {
+export default ['IgniteUnsavedChangesGuard', ['$rootScope', function($root) {
     return {
         install(scope, customDirtyCheck = () => scope.ui.inputForm.$dirty) {
             scope.$on('$destroy', () => window.onbeforeunload = null);

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/app/vendor.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/vendor.js 
b/modules/web-console/frontend/app/vendor.js
index 84dea92..6961e96 100644
--- a/modules/web-console/frontend/app/vendor.js
+++ b/modules/web-console/frontend/app/vendor.js
@@ -15,7 +15,6 @@
  * limitations under the License.
  */
 
-import 'babel-polyfill';
 import 'jquery';
 import 'angular';
 import 'angular-acl';

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/package.json
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/package.json 
b/modules/web-console/frontend/package.json
index 2702494..9d0af07 100644
--- a/modules/web-console/frontend/package.json
+++ b/modules/web-console/frontend/package.json
@@ -5,9 +5,9 @@
   "private": true,
   "main": "index.js",
   "scripts": {
-    "start": "webpack-dev-server --config ./webpack/webpack.dev.babel.js",
+    "start": "webpack-dev-server --config ./webpack/webpack.dev.js",
     "dev": "npm start",
-    "build": "webpack --config ./webpack/webpack.prod.babel.js",
+    "build": "webpack --config ./webpack/webpack.prod.js",
     "test": "karma start ./test/karma.conf.js",
     "test-watch": "npm test -- --no-single-run",
     "eslint": "eslint --format node_modules/eslint-friendly-formatter app/ -- 
--eff-by-issue"
@@ -68,11 +68,16 @@
     "outdent": "0.5.0",
     "pako": "1.0.6",
     "roboto-font": "0.1.0",
-    "rxjs": "5.4.2",
+    "rxjs": "^5.5.11",
     "socket.io-client": "1.7.3",
     "tf-metatags": "2.0.0"
   },
   "devDependencies": {
+    "@babel/core": "^7.0.0-rc.1",
+    "@babel/plugin-proposal-class-properties": "^7.0.0-rc.1",
+    "@babel/plugin-proposal-object-rest-spread": "^7.0.0-rc.1",
+    "@babel/plugin-syntax-dynamic-import": "^7.0.0-rc.1",
+    "@babel/preset-env": "^7.0.0-rc.1",
     "@types/angular": "1.6.48",
     "@types/angular-animate": "1.5.10",
     "@types/angular-mocks": "1.5.12",
@@ -83,6 +88,7 @@
     "@types/lodash": "4.14.110",
     "@types/mini-css-extract-plugin": "0.2.0",
     "@types/mocha": "2.2.48",
+    "@types/node": "10.5.1",
     "@types/sinon": "4.0.0",
     "@types/socket.io-client": "1.4.32",
     "@types/ui-grid": "0.0.38",
@@ -90,25 +96,17 @@
     "@types/webpack-merge": "4.1.3",
     "angular-mocks": "1.6.9",
     "app-root-path": "2.0.1",
-    "babel-core": "6.26.0",
-    "babel-eslint": "7.2.3",
-    "babel-loader": "7.1.4",
-    "babel-plugin-add-module-exports": "0.2.1",
-    "babel-plugin-transform-object-rest-spread": "6.26.0",
-    "babel-plugin-transform-runtime": "6.23.0",
-    "babel-polyfill": "6.26.0",
-    "babel-preset-es2015": "6.24.1",
-    "babel-preset-stage-1": "6.24.1",
-    "babel-runtime": "6.26.0",
+    "babel-eslint": "^8.2.5",
+    "babel-loader": "^8.0.0-beta.4",
     "bootstrap-sass": "3.3.7",
     "chai": "4.1.0",
     "chalk": "2.1.0",
     "copy-webpack-plugin": "4.5.2",
     "css-loader": "0.28.7",
-    "eslint": "4.3.0",
+    "eslint": "^4.19.1",
     "eslint-friendly-formatter": "3.0.0",
-    "eslint-loader": "1.9.0",
-    "eslint-plugin-babel": "4.1.1",
+    "eslint-loader": "^2.0.0",
+    "eslint-plugin-babel": "^5.1.0",
     "expose-loader": "0.7.5",
     "file-loader": "1.1.11",
     "glob": "7.1.2",
@@ -119,7 +117,7 @@
     "jasmine-core": "2.6.4",
     "json-loader": "0.5.7",
     "karma": "2.0.0",
-    "karma-babel-preprocessor": "6.0.1",
+    "karma-babel-preprocessor": "^8.0.0-beta.0",
     "karma-chrome-launcher": "2.2.0",
     "karma-mocha": "1.3.0",
     "karma-mocha-reporter": "2.2.3",
@@ -139,14 +137,13 @@
     "sinon": "2.3.8",
     "slash": "1.0.0",
     "style-loader": "0.19.0",
-    "svg-sprite-loader": "3.9.0",
+    "svg-sprite-loader": "^3.9.0",
     "teamcity-service-messages": "0.1.9",
-    "type-detect": "4.0.3",
     "uglifyjs-webpack-plugin": "1.2.4",
     "webpack": "4.12.0",
-    "webpack-cli": "2.0.14",
-    "webpack-dev-server": "3.1.4",
-    "webpack-merge": "4.1.3",
+    "webpack-cli": "^3.1.0",
+    "webpack-dev-server": "^3.1.5",
+    "webpack-merge": "^4.1.4",
     "worker-loader": "2.0.0",
     "yargs": "9.0.1"
   }

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/public/images/icons/index.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/images/icons/index.js 
b/modules/web-console/frontend/public/images/icons/index.js
index 24ffac1..0951d32 100644
--- a/modules/web-console/frontend/public/images/icons/index.js
+++ b/modules/web-console/frontend/public/images/icons/index.js
@@ -15,31 +15,31 @@
  * limitations under the License.
  */
 
-export alert from './alert.icon.svg';
-export attention from './attention.icon.svg';
-export check from './check.icon.svg';
-export checkmark from './checkmark.icon.svg';
-export clock from './clock.icon.svg';
-export collapse from './collapse.icon.svg';
-export connectedClusters from './connectedClusters.icon.svg';
-export copy from './copy.icon.svg';
-export cross from './cross.icon.svg';
-export csv from './csv.icon.svg';
-export download from './download.icon.svg';
-export exclamation from './exclamation.icon.svg';
-export exit from './exit.icon.svg';
-export expand from './expand.icon.svg';
-export eyeClosed from './eyeClosed.icon.svg';
-export eyeOpened from './eyeOpened.icon.svg';
-export filter from './filter.icon.svg';
-export gear from './gear.icon.svg';
-export home from './home.icon.svg';
-export info from './info.icon.svg';
-export lockClosed from './lockClosed.icon.svg';
-export lockOpened from './lockOpened.icon.svg';
-export manual from './manual.icon.svg';
-export plus from './plus.icon.svg';
-export refresh from './refresh.icon.svg';
-export search from './search.icon.svg';
-export sort from './sort.icon.svg';
-export structure from './structure.icon.svg';
+export {default as alert} from './alert.icon.svg';
+export {default as attention} from './attention.icon.svg';
+export {default as check} from './check.icon.svg';
+export {default as checkmark} from './checkmark.icon.svg';
+export {default as clock} from './clock.icon.svg';
+export {default as collapse} from './collapse.icon.svg';
+export {default as connectedClusters} from './connectedClusters.icon.svg';
+export {default as copy} from './copy.icon.svg';
+export {default as cross} from './cross.icon.svg';
+export {default as csv} from './csv.icon.svg';
+export {default as download} from './download.icon.svg';
+export {default as exclamation} from './exclamation.icon.svg';
+export {default as exit} from './exit.icon.svg';
+export {default as expand} from './expand.icon.svg';
+export {default as eyeClosed} from './eyeClosed.icon.svg';
+export {default as eyeOpened} from './eyeOpened.icon.svg';
+export {default as filter} from './filter.icon.svg';
+export {default as gear} from './gear.icon.svg';
+export {default as home} from './home.icon.svg';
+export {default as info} from './info.icon.svg';
+export {default as lockClosed} from './lockClosed.icon.svg';
+export {default as lockOpened} from './lockOpened.icon.svg';
+export {default as manual} from './manual.icon.svg';
+export {default as plus} from './plus.icon.svg';
+export {default as refresh} from './refresh.icon.svg';
+export {default as search} from './search.icon.svg';
+export {default as sort} from './sort.icon.svg';
+export {default as structure} from './structure.icon.svg';

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/test/karma.conf.babel.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/test/karma.conf.babel.js 
b/modules/web-console/frontend/test/karma.conf.babel.js
deleted file mode 100644
index dcf6cb0..0000000
--- a/modules/web-console/frontend/test/karma.conf.babel.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import path from 'path';
-
-import testCfg from '../webpack/webpack.test';
-
-export default (/** @type {import('karma').Config} */ config) => {
-    config.set({
-        // Base path that will be used to resolve all patterns (eg. files, 
exclude).
-        basePath: path.resolve('./'),
-
-        // Frameworks to use available frameworks: 
https://npmjs.org/browse/keyword/karma-adapter
-        frameworks: ['mocha'],
-
-        // List of files / patterns to load in the browser.
-        files: [
-            'node_modules/babel-polyfill/dist/polyfill.js',
-            'node_modules/angular/angular.js',
-            'node_modules/angular-mocks/angular-mocks.js',
-            'app/**/*.spec.js',
-            'test/**/*.test.js'
-        ],
-
-        plugins: [
-            require('karma-chrome-launcher'),
-            require('karma-teamcity-reporter'),
-            require('karma-mocha-reporter'),
-            require('karma-webpack'),
-            require('karma-mocha')
-        ],
-
-        // Preprocess matching files before serving them to the browser
-        // available preprocessors: 
https://npmjs.org/browse/keyword/karma-preprocessor.
-        preprocessors: {
-            '+(app|test)/**/*.js': ['webpack']
-        },
-
-        webpack: testCfg,
-
-        webpackMiddleware: {
-            noInfo: true
-        },
-
-        // Test results reporter to use
-        // possible values: 'dots', 'progress'
-        // available reporters: 
https://npmjs.org/browse/keyword/karma-reporter.
-        reporters: [process.env.TEST_REPORTER || 'mocha'],
-
-        mochaReporter: {
-            showDiff: true
-        },
-
-        // web server port
-        port: 9876,
-
-        // enable / disable colors in the output (reporters and logs)
-        colors: true,
-
-        // level of logging
-        // possible values: config.LOG_DISABLE || config.LOG_ERROR || 
config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-        logLevel: config.LOG_INFO,
-
-        // enable / disable watching file and executing tests whenever any 
file changes
-        autoWatch: true,
-
-        // start these browsers
-        // available browser launchers: 
https://npmjs.org/browse/keyword/karma-launcher
-        browsers: ['ChromeHeadlessNoSandbox'],
-        customLaunchers: {
-            ChromeHeadlessNoSandbox: {
-                base: 'ChromeHeadless',
-                flags: ['--no-sandbox']
-            },
-            ChromeDebug: {
-                base: 'Chrome',
-                flags: [
-                    '--start-maximized',
-                    '--auto-open-devtools-for-tabs'
-                ],
-                debug: true
-            }
-        },
-
-        // Continuous Integration mode
-        // if true, Karma captures browsers, runs the tests and exits
-        singleRun: true,
-
-        // Concurrency level
-        // how many browser should be started simultaneous
-        concurrency: Infinity,
-
-        client: {
-            mocha: {
-                ui: 'tdd'
-            }
-        }
-    });
-};

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/test/karma.conf.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/test/karma.conf.js 
b/modules/web-console/frontend/test/karma.conf.js
index e354482..b8c0886 100644
--- a/modules/web-console/frontend/test/karma.conf.js
+++ b/modules/web-console/frontend/test/karma.conf.js
@@ -15,5 +15,98 @@
  * limitations under the License.
  */
 
-require('babel-core/register');
-module.exports = require('./karma.conf.babel.js');
+const path = require('path');
+
+const testCfg = require('../webpack/webpack.test');
+
+module.exports = (/** @type {import('karma').Config} */ config) => {
+    config.set({
+        // Base path that will be used to resolve all patterns (eg. files, 
exclude).
+        basePath: path.resolve('./'),
+
+        // Frameworks to use available frameworks: 
https://npmjs.org/browse/keyword/karma-adapter
+        frameworks: ['mocha'],
+
+        // List of files / patterns to load in the browser.
+        files: [
+            'node_modules/angular/angular.js',
+            'node_modules/angular-mocks/angular-mocks.js',
+            'app/**/*.spec.js',
+            'test/**/*.test.js'
+        ],
+
+        plugins: [
+            require('karma-chrome-launcher'),
+            require('karma-teamcity-reporter'),
+            require('karma-mocha-reporter'),
+            require('karma-webpack'),
+            require('karma-mocha')
+        ],
+
+        // Preprocess matching files before serving them to the browser
+        // available preprocessors: 
https://npmjs.org/browse/keyword/karma-preprocessor.
+        preprocessors: {
+            '+(app|test)/**/*.js': ['webpack']
+        },
+
+        webpack: testCfg,
+
+        webpackMiddleware: {
+            noInfo: true
+        },
+
+        // Test results reporter to use
+        // possible values: 'dots', 'progress'
+        // available reporters: 
https://npmjs.org/browse/keyword/karma-reporter.
+        reporters: [process.env.TEST_REPORTER || 'mocha'],
+
+        mochaReporter: {
+            showDiff: true
+        },
+
+        // web server port
+        port: 9876,
+
+        // enable / disable colors in the output (reporters and logs)
+        colors: true,
+
+        // level of logging
+        // possible values: config.LOG_DISABLE || config.LOG_ERROR || 
config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
+        logLevel: config.LOG_INFO,
+
+        // enable / disable watching file and executing tests whenever any 
file changes
+        autoWatch: true,
+
+        // start these browsers
+        // available browser launchers: 
https://npmjs.org/browse/keyword/karma-launcher
+        browsers: ['ChromeHeadlessNoSandbox'],
+        customLaunchers: {
+            ChromeHeadlessNoSandbox: {
+                base: 'ChromeHeadless',
+                flags: ['--no-sandbox']
+            },
+            ChromeDebug: {
+                base: 'Chrome',
+                flags: [
+                    '--start-maximized',
+                    '--auto-open-devtools-for-tabs'
+                ],
+                debug: true
+            }
+        },
+
+        // Continuous Integration mode
+        // if true, Karma captures browsers, runs the tests and exits
+        singleRun: true,
+
+        // Concurrency level
+        // how many browser should be started simultaneous
+        concurrency: Infinity,
+
+        client: {
+            mocha: {
+                ui: 'tdd'
+            }
+        }
+    });
+};

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.common.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.common.js 
b/modules/web-console/frontend/webpack/webpack.common.js
index f2901e1..d8e4ce2 100644
--- a/modules/web-console/frontend/webpack/webpack.common.js
+++ b/modules/web-console/frontend/webpack/webpack.common.js
@@ -15,22 +15,17 @@
  * limitations under the License.
  */
 
-import path from 'path';
-import webpack from 'webpack';
+const path = require('path');
+const webpack = require('webpack');
 
-import transformRuntime from 'babel-plugin-transform-runtime';
-import presetEs2015 from 'babel-preset-es2015';
-import presetStage1 from 'babel-preset-stage-1';
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const ProgressBarPlugin = require('progress-bar-webpack-plugin');
 
-import CopyWebpackPlugin from 'copy-webpack-plugin';
-import HtmlWebpackPlugin from 'html-webpack-plugin';
-import ProgressBarPlugin from 'progress-bar-webpack-plugin';
-
-import eslintFormatter from 'eslint-friendly-formatter';
+const eslintFormatter = require('eslint-friendly-formatter');
 
 const basedir = path.join(__dirname, '../');
 const contentBase = path.join(basedir, 'public');
-const node_modules = path.join(basedir, 'node_modules');
 const app = path.join(basedir, 'app');
 
 /** @type {webpack.Configuration} */
@@ -53,7 +48,6 @@ const config = {
 
     // Resolves modules.
     resolve: {
-        modules: [node_modules],
         // A list of module source folders.
         alias: {
             app,
@@ -62,21 +56,13 @@ const config = {
         }
     },
 
-    // Resolve loader use postfix.
-    resolveLoader: {
-        modules: [
-            node_modules
-        ],
-        moduleExtensions: ['-loader']
-    },
-
     module: {
         rules: [
             // Exclude tpl.pug files to import in bundle.
             {
                 test: /^(?:(?!tpl\.pug$).)*\.pug$/, // TODO: check this regexp 
for correct.
                 use: {
-                    loader: 'pug-html',
+                    loader: 'pug-html-loader',
                     options: {
                         basedir
                     }
@@ -87,8 +73,8 @@ const config = {
             {
                 test: /\.tpl\.pug$/,
                 use: [
-                    
'file?exports=false&name=assets/templates/[name].[hash].html',
-                    `pug-html?exports=false&basedir=${basedir}`
+                    
'file-loader?exports=false&name=assets/templates/[name].[hash].html',
+                    `pug-html-loader?exports=false&basedir=${basedir}`
                 ]
             },
             { test: /\.worker\.js$/, use: { loader: 'worker-loader' } },
@@ -97,10 +83,8 @@ const config = {
                 enforce: 'pre',
                 exclude: [/node_modules/],
                 use: [{
-                    loader: 'eslint',
+                    loader: 'eslint-loader',
                     options: {
-                        failOnWarning: false,
-                        failOnError: false,
                         formatter: eslintFormatter,
                         context: process.cwd()
                     }
@@ -108,25 +92,13 @@ const config = {
             },
             {
                 test: /\.js$/,
-                exclude: [node_modules],
-                use: [{
-                    loader: 'babel-loader',
-                    options: {
-                        cacheDirectory: true,
-                        plugins: [
-                            transformRuntime
-                        ],
-                        presets: [
-                            presetEs2015,
-                            presetStage1
-                        ]
-                    }
-                }]
+                exclude: /node_modules/,
+                use: 'babel-loader'
             },
             {
                 test: /\.(ttf|eot|svg|woff(2)?)(\?v=[\d.]+)?(\?[a-z0-9#-]+)?$/,
                 exclude: [contentBase, /\.icon\.svg$/],
-                use: 'file?name=assets/fonts/[name].[ext]'
+                use: 'file-loader?name=assets/fonts/[name].[ext]'
             },
             {
                 test: /\.icon\.svg$/,
@@ -141,11 +113,11 @@ const config = {
             {
                 test: /.*\.url\.svg$/,
                 include: [contentBase],
-                use: 'file?name=assets/fonts/[name].[ext]'
+                use: 'file-loader?name=assets/fonts/[name].[ext]'
             },
             {
                 test: /\.(jpe?g|png|gif)$/i,
-                use: 'file?name=assets/images/[name].[hash].[ext]'
+                use: 'file-loader?name=assets/images/[name].[hash].[ext]'
             },
             {
                 test: require.resolve('jquery'),
@@ -169,17 +141,6 @@ const config = {
 
     // Load plugins.
     plugins: [
-        new webpack.LoaderOptionsPlugin({
-            options: {
-                pug: {
-                    basedir
-                },
-                eslint: {
-                    configFile: path.join(basedir, '.eslintrc')
-                },
-                target: 'web'
-            }
-        }),
         new webpack.ProvidePlugin({
             $: 'jquery',
             'window.jQuery': 'jquery',
@@ -198,4 +159,4 @@ const config = {
     ]
 };
 
-export default config;
+module.exports = config;

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.dev.babel.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.dev.babel.js 
b/modules/web-console/frontend/webpack/webpack.dev.babel.js
deleted file mode 100644
index c5950ee..0000000
--- a/modules/web-console/frontend/webpack/webpack.dev.babel.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import merge from 'webpack-merge';
-
-import path from 'path';
-
-import commonCfg from './webpack.common';
-
-const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-
-const backendPort = process.env.BACKEND_PORT || 3000;
-const devServerPort = process.env.PORT || 9000;
-const devServerHost = process.env.HOST || '0.0.0.0';
-
-export default merge(commonCfg, {
-    mode: 'development',
-    devtool: 'source-map',
-    watch: true,
-    module: {
-        exprContextCritical: false,
-        rules: [
-            {
-                test: /\.css$/,
-                use: ['style', 'css']
-            },
-            {
-                test: /\.scss$/,
-                use: [
-                    MiniCssExtractPlugin.loader, // style-loader does not work 
with styles in IgniteModules
-                    {
-                        loader: 'css-loader',
-                        options: {
-                            sourceMap: true
-                        }
-                    },
-                    {
-                        loader: 'sass-loader',
-                        options: {
-                            sourceMap: true,
-                            includePaths: [ path.join(__dirname, '../') ]
-                        }
-                    }
-                ]
-            }
-        ]
-    },
-    plugins: [
-        new MiniCssExtractPlugin({filename: 'assets/css/[name].css'})
-    ],
-    devServer: {
-        compress: true,
-        historyApiFallback: true,
-        disableHostCheck: true,
-        contentBase: path.resolve('build'),
-        inline: true,
-        proxy: {
-            '/socket.io': {
-                target: `http://localhost:${backendPort}`,
-                ws: true
-            },
-            '/agents': {
-                target: `http://localhost:${backendPort}`,
-                ws: true
-            },
-            '/api/*': {
-                target: `http://localhost:${backendPort}`
-            }
-        },
-        watchOptions: {
-            aggregateTimeout: 1000,
-            poll: 2000
-        },
-        stats: 'errors-only',
-        host: devServerHost,
-        port: devServerPort
-    }
-});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.dev.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.dev.js 
b/modules/web-console/frontend/webpack/webpack.dev.js
new file mode 100644
index 0000000..3af6377
--- /dev/null
+++ b/modules/web-console/frontend/webpack/webpack.dev.js
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const merge = require('webpack-merge');
+
+const path = require('path');
+
+const commonCfg = require('./webpack.common');
+
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
+
+const backendPort = process.env.BACKEND_PORT || 3000;
+const devServerPort = process.env.PORT || 9000;
+const devServerHost = process.env.HOST || '0.0.0.0';
+
+module.exports = merge(commonCfg, {
+    mode: 'development',
+    devtool: 'source-map',
+    watch: true,
+    module: {
+        exprContextCritical: false,
+        rules: [
+            {
+                test: /\.css$/,
+                use: ['style-loader', 'css-loader']
+            },
+            {
+                test: /\.scss$/,
+                use: [
+                    MiniCssExtractPlugin.loader, // style-loader does not work 
with styles in IgniteModules
+                    {
+                        loader: 'css-loader',
+                        options: {
+                            sourceMap: true
+                        }
+                    },
+                    {
+                        loader: 'sass-loader',
+                        options: {
+                            sourceMap: true,
+                            includePaths: [ path.join(__dirname, '../') ]
+                        }
+                    }
+                ]
+            }
+        ]
+    },
+    plugins: [
+        new MiniCssExtractPlugin({filename: 'assets/css/[name].css'})
+    ],
+    devServer: {
+        compress: true,
+        historyApiFallback: true,
+        disableHostCheck: true,
+        contentBase: path.resolve('build'),
+        inline: true,
+        proxy: {
+            '/socket.io': {
+                target: `http://localhost:${backendPort}`,
+                ws: true
+            },
+            '/agents': {
+                target: `http://localhost:${backendPort}`,
+                ws: true
+            },
+            '/api/*': {
+                target: `http://localhost:${backendPort}`
+            }
+        },
+        watchOptions: {
+            aggregateTimeout: 1000,
+            poll: 2000
+        },
+        stats: 'errors-only',
+        host: devServerHost,
+        port: devServerPort
+    }
+});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.prod.babel.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.prod.babel.js 
b/modules/web-console/frontend/webpack/webpack.prod.babel.js
deleted file mode 100644
index a5aa1c6..0000000
--- a/modules/web-console/frontend/webpack/webpack.prod.babel.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import path from 'path';
-import merge from 'webpack-merge';
-
-const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-import UglifyJSPlugin from 'uglifyjs-webpack-plugin';
-
-import commonCfg from './webpack.common';
-
-const basedir = path.join(__dirname, '../');
-
-export default merge(commonCfg, {
-    bail: true, // Cancel build on error.
-    mode: 'production',
-    module: {
-        rules: [
-            {
-                test: /\.css$/,
-                use: [MiniCssExtractPlugin.loader, 'css-loader']
-            },
-            {
-                test: /\.scss$/,
-                use: [MiniCssExtractPlugin.loader, 'css-loader', {
-                    loader: 'sass',
-                    options: {
-                        includePaths: [basedir]
-                    }
-                }]
-            }
-        ]
-    },
-    plugins: [
-        new MiniCssExtractPlugin({filename: 'assets/css/[name].[hash].css'})
-    ],
-    optimization: {
-        minimizer: [
-            new UglifyJSPlugin({
-                uglifyOptions: {
-                    keep_fnames: true,
-                    keep_classnames: true
-                }
-            })
-        ]
-    }
-});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.prod.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.prod.js 
b/modules/web-console/frontend/webpack/webpack.prod.js
new file mode 100644
index 0000000..fa6374e
--- /dev/null
+++ b/modules/web-console/frontend/webpack/webpack.prod.js
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+const path = require('path');
+const merge = require('webpack-merge');
+
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
+const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
+
+const commonCfg = require('./webpack.common');
+
+const basedir = path.join(__dirname, '../');
+
+module.exports = merge(commonCfg, {
+    bail: true, // Cancel build on error.
+    mode: 'production',
+    module: {
+        rules: [
+            {
+                test: /\.css$/,
+                use: [MiniCssExtractPlugin.loader, 'css-loader']
+            },
+            {
+                test: /\.scss$/,
+                use: [MiniCssExtractPlugin.loader, 'css-loader', {
+                    loader: 'sass-loader',
+                    options: {
+                        includePaths: [basedir]
+                    }
+                }]
+            }
+        ]
+    },
+    plugins: [
+        new MiniCssExtractPlugin({filename: 'assets/css/[name].[hash].css'})
+    ],
+    optimization: {
+        minimizer: [
+            new UglifyJSPlugin({
+                uglifyOptions: {
+                    keep_fnames: true,
+                    keep_classnames: true
+                }
+            })
+        ]
+    }
+});

http://git-wip-us.apache.org/repos/asf/ignite/blob/7cafac50/modules/web-console/frontend/webpack/webpack.test.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/webpack/webpack.test.js 
b/modules/web-console/frontend/webpack/webpack.test.js
index 2ade625..c6d90df 100644
--- a/modules/web-console/frontend/webpack/webpack.test.js
+++ b/modules/web-console/frontend/webpack/webpack.test.js
@@ -15,11 +15,10 @@
  * limitations under the License.
  */
 
-import merge from 'webpack-merge';
+const merge = require('webpack-merge');
+const commonCfg = require('./webpack.common');
 
-import commonCfg from './webpack.common';
-
-export default merge(commonCfg, {
+module.exports = merge(commonCfg, {
     mode: 'development',
     cache: true,
     node: {

Reply via email to