mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
[Lists][Exceptions] - Adding basic linting, i18n and storybook support (#94772)
### Summary In preparation for moving all the exceptions UI components into the lists plugin adds some linting, adds the lists plugin to the i18n config and adds storybook support. Tried to add a bit stricter linting than exists in the security solution right now, rules that we've talked about wanting to enable.
This commit is contained in:
parent
044a94ac46
commit
bbee40c819
5 changed files with 67 additions and 1 deletions
57
.eslintrc.js
57
.eslintrc.js
|
@ -947,7 +947,62 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
{
|
||||
// typescript and javascript for front and back end
|
||||
// typescript for /public and /common
|
||||
files: ['x-pack/plugins/lists/public/*.{ts,tsx}', 'x-pack/plugins/lists/common/*.{ts,tsx}'],
|
||||
rules: {
|
||||
'@typescript-eslint/no-for-in-array': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
// typescript for /public and /common
|
||||
files: ['x-pack/plugins/lists/public/*.{ts,tsx}', 'x-pack/plugins/lists/common/*.{ts,tsx}'],
|
||||
plugins: ['react'],
|
||||
env: {
|
||||
jest: true,
|
||||
},
|
||||
rules: {
|
||||
'react/boolean-prop-naming': 'error',
|
||||
'react/button-has-type': 'error',
|
||||
'react/display-name': 'error',
|
||||
'react/forbid-dom-props': 'error',
|
||||
'react/no-access-state-in-setstate': 'error',
|
||||
'react/no-children-prop': 'error',
|
||||
'react/no-danger-with-children': 'error',
|
||||
'react/no-deprecated': 'error',
|
||||
'react/no-did-mount-set-state': 'error',
|
||||
'react/no-did-update-set-state': 'error',
|
||||
'react/no-direct-mutation-state': 'error',
|
||||
'react/no-find-dom-node': 'error',
|
||||
'react/no-redundant-should-component-update': 'error',
|
||||
'react/no-render-return-value': 'error',
|
||||
'react/no-typos': 'error',
|
||||
'react/no-string-refs': 'error',
|
||||
'react/no-this-in-sfc': 'error',
|
||||
'react/no-unescaped-entities': 'error',
|
||||
'react/no-unsafe': 'error',
|
||||
'react/no-unused-prop-types': 'error',
|
||||
'react/no-unused-state': 'error',
|
||||
'react/sort-comp': 'error',
|
||||
'react/void-dom-elements-no-children': 'error',
|
||||
'react/jsx-no-comment-textnodes': 'error',
|
||||
'react/jsx-no-literals': 'error',
|
||||
'react/jsx-no-target-blank': 'error',
|
||||
'react/jsx-fragments': 'error',
|
||||
'react/jsx-sort-default-props': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['x-pack/plugins/lists/public/**/!(*.test).{js,mjs,ts,tsx}'],
|
||||
plugins: ['react-perf'],
|
||||
rules: {
|
||||
'react-perf/jsx-no-new-object-as-prop': 'error',
|
||||
'react-perf/jsx-no-new-array-as-prop': 'error',
|
||||
'react-perf/jsx-no-new-function-as-prop': 'error',
|
||||
'react/jsx-no-bind': 'error',
|
||||
},
|
||||
},
|
||||
{
|
||||
// typescript and javascript for front and back
|
||||
files: ['x-pack/plugins/lists/**/*.{js,mjs,ts,tsx}'],
|
||||
plugins: ['eslint-plugin-node'],
|
||||
env: {
|
||||
|
|
|
@ -22,4 +22,5 @@ export const storybookAliases = {
|
|||
ui_actions_enhanced: 'x-pack/plugins/ui_actions_enhanced/.storybook',
|
||||
observability: 'x-pack/plugins/observability/.storybook',
|
||||
presentation: 'src/plugins/presentation_util/storybook',
|
||||
lists: 'x-pack/plugins/lists/.storybook',
|
||||
};
|
||||
|
|
|
@ -21,3 +21,4 @@ yarn storybook --site security_solution
|
|||
yarn storybook --site ui_actions_enhanced
|
||||
yarn storybook --site observability
|
||||
yarn storybook --site presentation
|
||||
yarn storybook --site lists
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
"xpack.lens": "plugins/lens",
|
||||
"xpack.licenseMgmt": "plugins/license_management",
|
||||
"xpack.licensing": "plugins/licensing",
|
||||
"xpack.lists": "plugins/lists",
|
||||
"xpack.logstash": ["plugins/logstash"],
|
||||
"xpack.main": "legacy/plugins/xpack_main",
|
||||
"xpack.maps": ["plugins/maps"],
|
||||
|
|
8
x-pack/plugins/lists/.storybook/main.js
Normal file
8
x-pack/plugins/lists/.storybook/main.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
module.exports = require('@kbn/storybook').defaultConfig;
|
Loading…
Add table
Add a link
Reference in a new issue