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: {