diff --git a/.eslintrc.js b/.eslintrc.js
index 4474b35fad..6ba3910c42 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -21,7 +21,7 @@ module.exports = {
settings: {
'import/resolver': {
node: {
- extensions: ['.js', 'json', '.tsx'],
+ extensions: ['.js', '.jsx', 'json', '.tsx'],
},
},
},
diff --git a/package.json b/package.json
index 490da66864..48f0657e42 100644
--- a/package.json
+++ b/package.json
@@ -37,12 +37,7 @@
"packages/*"
],
"nohoist": [
- "**/customize-cra",
- "**/customize-cra/**",
- "**/react-scripts",
- "**/react-scripts/**",
- "**/react-app-rewired",
- "**/react-app-rewired/**"
+ "**/parse5"
]
},
"scripts": {
diff --git a/packages/jaeger-ui/.eslintrc.js b/packages/jaeger-ui/.eslintrc.js
new file mode 100644
index 0000000000..342cf2df9a
--- /dev/null
+++ b/packages/jaeger-ui/.eslintrc.js
@@ -0,0 +1,7 @@
+module.exports = {
+ globals: {
+ __REACT_APP_GA_DEBUG__: false,
+ __REACT_APP_VSN_STATE__: false,
+ __APP_ENVIRONMENT__: false,
+ },
+};
diff --git a/packages/jaeger-ui/config-overrides-antd-vars.less b/packages/jaeger-ui/config-overrides-antd-vars.less
deleted file mode 100644
index 31ecdf902d..0000000000
--- a/packages/jaeger-ui/config-overrides-antd-vars.less
+++ /dev/null
@@ -1,24 +0,0 @@
-@primary-color: #199;
-
-@font-size-base: 14px;
-@text-color-dark: #e4e4e4;
-@text-color-secondary-dark: #fff;
-
-// Layout
-@layout-body-background :#fff;
-@layout-header-background : #404040;
-@layout-footer-background : @layout-body-background;
-@layout-header-height : 64px;
-@layout-header-padding : 0 50px;
-@layout-footer-padding : 24px 50px;
-@layout-sider-background : @layout-header-background;
-@layout-trigger-height : 48px;
-@layout-trigger-background : tint(@heading-color, 20%);
-@layout-trigger-color : #fff;
-@layout-zero-trigger-width : 36px;
-@layout-zero-trigger-height : 42px;
-
-@menu-dark-bg: #151515;
-
-// Table
-@table-row-hover-bg:#e5f2f2;
diff --git a/packages/jaeger-ui/config-overrides.js b/packages/jaeger-ui/config-overrides.js
deleted file mode 100644
index 0ad31c08b7..0000000000
--- a/packages/jaeger-ui/config-overrides.js
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright (c) 2017 Uber Technologies, Inc.
-//
-// Licensed 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.
-
-/* eslint-disable import/no-extraneous-dependencies */
-const fs = require('fs');
-const { addBabelPlugin, addLessLoader } = require('customize-cra');
-const lessToJs = require('less-vars-to-js');
-const ManifestPlugin = require('webpack-manifest-plugin');
-const stringify = require('json-stable-stringify');
-
-function useEslintRc(config) {
- const { rules } = config.module;
- const preRule = rules.find(rule => rule.enforce === 'pre');
- if (!preRule) {
- throw new Error('Unable to find estlint rule, pre');
- }
- const use = Array.isArray(preRule.use) ? preRule.use[0] : null;
- if (!use) {
- throw new Error('Unable to find estlint rule, use');
- }
- const isEslintRule = /node_modules\/eslint-loader\//.test(use.loader);
- if (!isEslintRule || !use.options) {
- throw new Error('Unable to find estlint rule, eslint loader');
- }
- use.options.useEslintrc = true;
- return config;
-}
-
-/* configureStableSerializationWebpackManifestPlugin makes webpack-manifest-plugin
- provide a stable output format. Stable output allows the resulting manifest to be packaged
- without changing checksums. This overrides any existing formats for all instances
- of the plugin loaded at the time that this is run.
-*/
-function configureStableSerializationWebpackManifestPlugin(_config) {
- const serializeFunc = manifest => stringify(manifest, { space: 2 });
- const config = _config;
- config.plugins.forEach(_p => {
- const p = _p;
- if (p instanceof ManifestPlugin) {
- p.opts.serialize = serializeFunc;
- }
- });
- return config;
-}
-
-// Convert less vars to JS
-const loadedVarOverrides = fs.readFileSync('config-overrides-antd-vars.less', 'utf8');
-const modifyVars = lessToJs(loadedVarOverrides);
-
-function webpack(_config) {
- let config = _config;
- config = addLessLoader({
- modifyVars,
- javascriptEnabled: true,
- })(config);
- config = configureStableSerializationWebpackManifestPlugin(config);
- config = addBabelPlugin(['import', { libraryName: 'antd', style: true }])(config);
- useEslintRc(config);
- return config;
-}
-
-module.exports = { webpack };
diff --git a/packages/jaeger-ui/public/favicon.ico b/packages/jaeger-ui/favicon.ico
similarity index 100%
rename from packages/jaeger-ui/public/favicon.ico
rename to packages/jaeger-ui/favicon.ico
diff --git a/packages/jaeger-ui/public/index.html b/packages/jaeger-ui/index.html
similarity index 75%
rename from packages/jaeger-ui/public/index.html
rename to packages/jaeger-ui/index.html
index 9a0f706b81..62371fde1b 100644
--- a/packages/jaeger-ui/public/index.html
+++ b/packages/jaeger-ui/index.html
@@ -12,7 +12,7 @@