mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
ESLint rules for Spaces and Security (#93644)
This commit is contained in:
parent
7c9e08e269
commit
171567d70a
20 changed files with 62 additions and 40 deletions
49
.eslintrc.js
49
.eslintrc.js
|
@ -1330,6 +1330,55 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
|
||||
/**
|
||||
* Platform Security Team overrides
|
||||
*/
|
||||
{
|
||||
files: [
|
||||
'src/plugins/security_oss/**/*.{js,mjs,ts,tsx}',
|
||||
'src/plugins/spaces_oss/**/*.{js,mjs,ts,tsx}',
|
||||
'x-pack/plugins/encrypted_saved_objects/**/*.{js,mjs,ts,tsx}',
|
||||
'x-pack/plugins/security/**/*.{js,mjs,ts,tsx}',
|
||||
'x-pack/plugins/spaces/**/*.{js,mjs,ts,tsx}',
|
||||
],
|
||||
rules: {
|
||||
'@typescript-eslint/consistent-type-imports': 1,
|
||||
'import/order': [
|
||||
// This rule sorts import declarations
|
||||
'error',
|
||||
{
|
||||
groups: [
|
||||
'unknown',
|
||||
['builtin', 'external'],
|
||||
'internal',
|
||||
['parent', 'sibling', 'index'],
|
||||
],
|
||||
pathGroups: [
|
||||
{
|
||||
pattern: '{@kbn/**,src/**,kibana{,/**}}',
|
||||
group: 'internal',
|
||||
},
|
||||
],
|
||||
pathGroupsExcludedImportTypes: [],
|
||||
alphabetize: {
|
||||
order: 'asc',
|
||||
caseInsensitive: true,
|
||||
},
|
||||
'newlines-between': 'always',
|
||||
},
|
||||
],
|
||||
'import/no-duplicates': ['error'],
|
||||
'sort-imports': [
|
||||
// This rule sorts imports of multiple members (destructured imports)
|
||||
'error',
|
||||
{
|
||||
ignoreCase: true,
|
||||
ignoreDeclarationSort: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
files: [
|
||||
// core-team owned code
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"@typescript-eslint/consistent-type-imports": 1
|
||||
}
|
||||
}
|
|
@ -7,7 +7,6 @@
|
|||
*/
|
||||
|
||||
import { nextTick } from '@kbn/test/jest';
|
||||
|
||||
import { coreMock } from 'src/core/public/mocks';
|
||||
|
||||
import { mockAppStateService } from '../app_state/app_state_service.mock';
|
||||
|
|
|
@ -11,8 +11,8 @@ import { distinctUntilChanged, map } from 'rxjs/operators';
|
|||
|
||||
import type { CoreSetup, CoreStart, MountPoint, Toast } from 'src/core/public';
|
||||
|
||||
import type { ConfigType } from '../config';
|
||||
import type { AppStateServiceStart } from '../app_state';
|
||||
import type { ConfigType } from '../config';
|
||||
import { defaultAlertText, defaultAlertTitle } from './components';
|
||||
|
||||
interface SetupDeps {
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"@typescript-eslint/consistent-type-imports": 1
|
||||
}
|
||||
}
|
|
@ -6,8 +6,8 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { Observable } from 'rxjs';
|
||||
import type { ReactElement } from 'react';
|
||||
import type { Observable } from 'rxjs';
|
||||
|
||||
import type { Space } from '../common';
|
||||
|
||||
|
|
|
@ -6,9 +6,8 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { spacesApiMock } from '../api.mock';
|
||||
|
||||
import type { SpacesOssPluginSetup, SpacesOssPluginStart } from '../';
|
||||
import { spacesApiMock } from '../api.mock';
|
||||
|
||||
const createSetupContract = (): jest.Mocked<SpacesOssPluginSetup> => ({
|
||||
registerSpacesApi: jest.fn(),
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
import type { Plugin } from 'src/core/public';
|
||||
|
||||
import type { SpacesOssPluginSetup, SpacesOssPluginStart } from './types';
|
||||
import type { SpacesApi } from './api';
|
||||
import type { SpacesOssPluginSetup, SpacesOssPluginStart } from './types';
|
||||
|
||||
export class SpacesOssPlugin implements Plugin<SpacesOssPluginSetup, SpacesOssPluginStart, {}, {}> {
|
||||
private api?: SpacesApi;
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"@typescript-eslint/consistent-type-imports": 1
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"@typescript-eslint/consistent-type-imports": 1
|
||||
}
|
||||
}
|
|
@ -49,11 +49,11 @@ import type {
|
|||
RoleIndexPrivilege,
|
||||
} from '../../../../common/model';
|
||||
import {
|
||||
copyRole,
|
||||
getExtendedRoleDeprecationNotice,
|
||||
isRoleDeprecated as checkIfRoleDeprecated,
|
||||
isRoleReadOnly as checkIfRoleReadOnly,
|
||||
isRoleReserved as checkIfRoleReserved,
|
||||
copyRole,
|
||||
getExtendedRoleDeprecationNotice,
|
||||
prepareRoleClone,
|
||||
} from '../../../../common/model';
|
||||
import type { UserAPIClient } from '../../users';
|
||||
|
|
|
@ -11,6 +11,7 @@ import { nextTick } from '@kbn/test/jest';
|
|||
import { coreMock, elasticsearchServiceMock, loggingSystemMock } from 'src/core/server/mocks';
|
||||
|
||||
// Note: this import must be before other relative imports for the mocks to work as intended.
|
||||
// eslint-disable-next-line import/order
|
||||
import {
|
||||
mockAuthorizationModeFactory,
|
||||
mockCheckPrivilegesDynamicallyWithRequestFactory,
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
import { uniq } from 'lodash';
|
||||
|
||||
import type {
|
||||
KibanaFeature,
|
||||
PluginSetupContract as FeaturesPluginSetup,
|
||||
KibanaFeature,
|
||||
} from '../../../../features/server';
|
||||
import type { SecurityLicense } from '../../../common/licensing';
|
||||
import type { RawKibanaPrivileges } from '../../../common/model';
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"rules": {
|
||||
"@typescript-eslint/consistent-type-imports": 1
|
||||
}
|
||||
}
|
|
@ -28,11 +28,11 @@ import type { ProcessedImportResponse } from 'src/plugins/saved_objects_manageme
|
|||
import type { Space } from 'src/plugins/spaces_oss/common';
|
||||
|
||||
import { processImportResponse } from '../../../../../../src/plugins/saved_objects_management/public';
|
||||
import { useSpaces } from '../../spaces_context';
|
||||
import type { CopyOptions, ImportRetry, SavedObjectTarget } from '../types';
|
||||
import { CopyToSpaceFlyoutFooter } from './copy_to_space_flyout_footer';
|
||||
import { CopyToSpaceForm } from './copy_to_space_form';
|
||||
import { ProcessingCopyToSpace } from './processing_copy_to_space';
|
||||
import { useSpaces } from '../../spaces_context';
|
||||
|
||||
export interface CopyToSpaceFlyoutProps {
|
||||
onClose: () => void;
|
||||
|
|
|
@ -11,8 +11,8 @@ import type {
|
|||
SavedObjectsManagementRecord,
|
||||
} from 'src/plugins/saved_objects_management/public';
|
||||
|
||||
import { summarizeCopyResult } from './summarize_copy_result';
|
||||
import type { SavedObjectTarget } from '../types';
|
||||
import { summarizeCopyResult } from './summarize_copy_result';
|
||||
|
||||
// Sample data references:
|
||||
//
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import type { FeatureCatalogueEntry } from 'src/plugins/home/public';
|
||||
|
||||
import { FeatureCatalogueCategory } from '../../../../src/plugins/home/public';
|
||||
|
|
|
@ -9,7 +9,7 @@ import React, { useMemo } from 'react';
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import type { SavedObjectsManagementRecord } from 'src/plugins/saved_objects_management/public';
|
||||
import type { SpacesApiUi, ShareToSpaceFlyoutProps } from 'src/plugins/spaces_oss/public';
|
||||
import type { ShareToSpaceFlyoutProps, SpacesApiUi } from 'src/plugins/spaces_oss/public';
|
||||
|
||||
import { SavedObjectsManagementAction } from '../../../../../src/plugins/saved_objects_management/public';
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import React, { useMemo } from 'react';
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import type { SavedObjectsManagementColumn } from 'src/plugins/saved_objects_management/public';
|
||||
import type { SpacesApiUi, SpaceListProps } from 'src/plugins/spaces_oss/public';
|
||||
import type { SpaceListProps, SpacesApiUi } from 'src/plugins/spaces_oss/public';
|
||||
|
||||
interface WrapperProps {
|
||||
spacesApiUi: SpacesApiUi;
|
||||
|
|
|
@ -14,7 +14,7 @@ import type { SpacesContextProps } from 'src/plugins/spaces_oss/public';
|
|||
import type { SpacesManager } from '../spaces_manager';
|
||||
import type { ShareToSpacesData, ShareToSpaceTarget } from '../types';
|
||||
import { createSpacesReactContext } from './context';
|
||||
import type { SpacesReactContext, InternalProps } from './types';
|
||||
import type { InternalProps, SpacesReactContext } from './types';
|
||||
|
||||
interface Services {
|
||||
application: ApplicationStart;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue