feat(linting): restrict direct use of supersetTheme in favor of ThemeProvider (#17001)

* feat: restrict direct use of supersetTheme

* allowing a couple of safe instances of supersetTheme
This commit is contained in:
Evan Rusackas 2021-10-07 08:26:57 -06:00 committed by GitHub
parent 66b0877445
commit 5f73ca85d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 35 additions and 3 deletions

View File

@ -108,7 +108,7 @@ module.exports = {
'no-prototype-builtins': 0,
'no-restricted-properties': 0,
'no-restricted-imports': [
'error',
'warn',
{
paths: [
{
@ -116,6 +116,12 @@ module.exports = {
message:
'Please import Ant components from the index of common/components',
},
{
name: '@superset-ui/core',
importNames: ['supersetTheme'],
message:
'Please use the theme directly from the ThemeProvider rather than importing supersetTheme.',
},
],
},
],

View File

@ -17,6 +17,7 @@
* under the License.
*/
import { shallow as enzymeShallow, mount as enzymeMount } from 'enzyme';
// eslint-disable-next-line no-restricted-imports
import { supersetTheme } from '@superset-ui/core';
import { ReactElement } from 'react';
import { ProviderWrapper } from './ProviderWrapper';

View File

@ -18,6 +18,17 @@
*/
{
"rules": {
"no-restricted-imports": 0
"no-restricted-imports": [
"warn",
{
"paths": [
{
"name": "@superset-ui/core",
"importNames": ["supersetTheme"],
"message": "Please use the theme directly from the ThemeProvider rather than importing supersetTheme."
}
]
}
]
}
}

View File

@ -18,6 +18,19 @@
*/
{
"rules": {
"no-restricted-imports": 0
"no-restricted-imports": [
"warn",
{
"paths": [
{
"name": "@superset-ui/core",
"importNames": [
"supersetTheme"
],
"message": "Please use the theme directly from the ThemeProvider rather than importing supersetTheme."
}
]
}
]
}
}

View File

@ -19,6 +19,7 @@
import { setConfig as setHotLoaderConfig } from 'react-hot-loader';
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';
import moment from 'moment';
// eslint-disable-next-line no-restricted-imports
import { configure, supersetTheme } from '@superset-ui/core';
import { merge } from 'lodash';
import setupClient from './setup/setupClient';