mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
[eslint] add rule to prevent export* in plugin index files (#109357)
* [eslint] add rule to prevent export* in plugin index files * deduplicate export names for types/instances with the same name * attempt to auto-fix duplicate exports too * capture exported enums too * enforce no_export_all for core too * disable rule by default, allow opting-in for help fixing * update tests * reduce yarn.lock duplication * add rule but no fixes * disable all existing violations * update api docs with new line numbers * revert unnecessary changes to yarn.lock which only had drawbacks * remove unnecessary eslint-disable * rework codegen to split type exports and use babel to generate valid code * check for "export types" deeply * improve test by using fixtures * add comments to some helper functions * disable fix for namespace exports including types * label all eslint-disable comments with related team-specific issue * ensure that child exports of `export type` are always tracked as types Co-authored-by: spalger <spalger@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
4f0a63f575
commit
fecdba7eba
89 changed files with 792 additions and 4 deletions
19
.eslintrc.js
19
.eslintrc.js
|
@ -1656,5 +1656,24 @@ module.exports = {
|
||||||
'@typescript-eslint/prefer-ts-expect-error': 'error',
|
'@typescript-eslint/prefer-ts-expect-error': 'error',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disallow `export *` syntax in plugin/core public/server/common index files and instead
|
||||||
|
* require that plugins/core explicitly export the APIs that should be accessible outside the plugin.
|
||||||
|
*
|
||||||
|
* To add your plugin to this list just update the relevant glob with the name of your plugin
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
files: [
|
||||||
|
'src/core/{server,public,common}/index.ts',
|
||||||
|
'src/plugins/*/{server,public,common}/index.ts',
|
||||||
|
'src/plugins/*/*/{server,public,common}/index.ts',
|
||||||
|
'x-pack/plugins/*/{server,public,common}/index.ts',
|
||||||
|
'x-pack/plugins/*/*/{server,public,common}/index.ts',
|
||||||
|
],
|
||||||
|
rules: {
|
||||||
|
'@kbn/eslint/no_export_all': 'error',
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,6 +6,7 @@ PKG_REQUIRE_NAME = "@kbn/eslint-plugin-eslint"
|
||||||
SOURCE_FILES = glob(
|
SOURCE_FILES = glob(
|
||||||
[
|
[
|
||||||
"rules/**/*.js",
|
"rules/**/*.js",
|
||||||
|
"helpers/**/*.js",
|
||||||
"index.js",
|
"index.js",
|
||||||
"lib.js",
|
"lib.js",
|
||||||
],
|
],
|
||||||
|
|
11
packages/kbn-eslint-plugin-eslint/__fixtures__/bar.ts
Normal file
11
packages/kbn-eslint-plugin-eslint/__fixtures__/bar.ts
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable no-restricted-syntax */
|
||||||
|
|
||||||
|
export class Bar {}
|
13
packages/kbn-eslint-plugin-eslint/__fixtures__/baz.ts
Normal file
13
packages/kbn-eslint-plugin-eslint/__fixtures__/baz.ts
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable no-restricted-syntax */
|
||||||
|
|
||||||
|
export const one = 1;
|
||||||
|
export const two = 2;
|
||||||
|
export const three = 3;
|
31
packages/kbn-eslint-plugin-eslint/__fixtures__/foo.ts
Normal file
31
packages/kbn-eslint-plugin-eslint/__fixtures__/foo.ts
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable no-restricted-syntax */
|
||||||
|
|
||||||
|
export type { Bar as ReexportedClass } from './bar';
|
||||||
|
|
||||||
|
export const someConst = 'bar';
|
||||||
|
|
||||||
|
// eslint-disable-next-line prefer-const
|
||||||
|
export let someLet = 'bar';
|
||||||
|
|
||||||
|
export function someFunction() {}
|
||||||
|
|
||||||
|
export class SomeClass {}
|
||||||
|
|
||||||
|
export interface SomeInterface {
|
||||||
|
prop: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum SomeEnum {
|
||||||
|
a = 'a',
|
||||||
|
b = 'b',
|
||||||
|
}
|
||||||
|
|
||||||
|
export type TypeAlias = string[];
|
11
packages/kbn-eslint-plugin-eslint/__fixtures__/top.ts
Normal file
11
packages/kbn-eslint-plugin-eslint/__fixtures__/top.ts
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* eslint-disable no-restricted-syntax */
|
||||||
|
|
||||||
|
export * from './foo';
|
82
packages/kbn-eslint-plugin-eslint/helpers/codegen.js
Normal file
82
packages/kbn-eslint-plugin-eslint/helpers/codegen.js
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const t = require('@babel/types');
|
||||||
|
const { default: generate } = require('@babel/generator');
|
||||||
|
|
||||||
|
/** @typedef {import('./export_set').ExportSet} ExportSet */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate code for replacing a `export * from './path'`, ie.
|
||||||
|
*
|
||||||
|
* export type { foo } from './path'
|
||||||
|
* export { bar } from './path'
|
||||||
|
|
||||||
|
* @param {ExportSet} exportSet
|
||||||
|
* @param {string} source
|
||||||
|
*/
|
||||||
|
const getExportCode = (exportSet, source) => {
|
||||||
|
const exportedTypes = exportSet.types.size
|
||||||
|
? t.exportNamedDeclaration(
|
||||||
|
undefined,
|
||||||
|
Array.from(exportSet.types).map((n) => t.exportSpecifier(t.identifier(n), t.identifier(n))),
|
||||||
|
t.stringLiteral(source)
|
||||||
|
)
|
||||||
|
: undefined;
|
||||||
|
|
||||||
|
if (exportedTypes) {
|
||||||
|
exportedTypes.exportKind = 'type';
|
||||||
|
}
|
||||||
|
|
||||||
|
const exportedValues = exportSet.values.size
|
||||||
|
? t.exportNamedDeclaration(
|
||||||
|
undefined,
|
||||||
|
Array.from(exportSet.values).map((n) =>
|
||||||
|
t.exportSpecifier(t.identifier(n), t.identifier(n))
|
||||||
|
),
|
||||||
|
t.stringLiteral(source)
|
||||||
|
)
|
||||||
|
: undefined;
|
||||||
|
|
||||||
|
return generate(t.program([exportedTypes, exportedValues].filter(Boolean))).code;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate code for replacing a `export * as name from './path'`, ie.
|
||||||
|
*
|
||||||
|
* import { foo, bar } from './path'
|
||||||
|
* export const name = { foo, bar }
|
||||||
|
*
|
||||||
|
* @param {string} nsName
|
||||||
|
* @param {string[]} exportNames
|
||||||
|
* @param {string} source
|
||||||
|
*/
|
||||||
|
const getExportNamedNamespaceCode = (nsName, exportNames, source) => {
|
||||||
|
return generate(
|
||||||
|
t.program([
|
||||||
|
t.importDeclaration(
|
||||||
|
exportNames.map((n) => t.importSpecifier(t.identifier(n), t.identifier(n))),
|
||||||
|
t.stringLiteral(source)
|
||||||
|
),
|
||||||
|
t.exportNamedDeclaration(
|
||||||
|
t.variableDeclaration('const', [
|
||||||
|
t.variableDeclarator(
|
||||||
|
t.identifier(nsName),
|
||||||
|
t.objectExpression(
|
||||||
|
exportNames.map((n) =>
|
||||||
|
t.objectProperty(t.identifier(n), t.identifier(n), false, true)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
])
|
||||||
|
),
|
||||||
|
])
|
||||||
|
).code;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { getExportCode, getExportNamedNamespaceCode };
|
34
packages/kbn-eslint-plugin-eslint/helpers/export_set.js
Normal file
34
packages/kbn-eslint-plugin-eslint/helpers/export_set.js
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class to collect exports of different types, either "value" exports or "type" exports
|
||||||
|
*/
|
||||||
|
class ExportSet {
|
||||||
|
constructor() {
|
||||||
|
/** @type {Set<string>} */
|
||||||
|
this.values = new Set();
|
||||||
|
|
||||||
|
/** @type {Set<string>} */
|
||||||
|
this.types = new Set();
|
||||||
|
}
|
||||||
|
|
||||||
|
get size() {
|
||||||
|
return this.values.size + this.types.size;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {'value'|'type'} type
|
||||||
|
* @param {string} value
|
||||||
|
*/
|
||||||
|
add(type, value) {
|
||||||
|
this[type + 's'].add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { ExportSet };
|
206
packages/kbn-eslint-plugin-eslint/helpers/exports.js
Normal file
206
packages/kbn-eslint-plugin-eslint/helpers/exports.js
Normal file
|
@ -0,0 +1,206 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const Fs = require('fs');
|
||||||
|
const Path = require('path');
|
||||||
|
const ts = require('typescript');
|
||||||
|
const { REPO_ROOT } = require('@kbn/dev-utils');
|
||||||
|
const { ExportSet } = require('./export_set');
|
||||||
|
|
||||||
|
/** @typedef {import("@typescript-eslint/types").TSESTree.ExportAllDeclaration} ExportAllDeclaration */
|
||||||
|
/** @typedef {import("estree").Node} Node */
|
||||||
|
/** @typedef {(path: string) => ts.SourceFile} Parser */
|
||||||
|
/** @typedef {ts.Identifier|ts.BindingName} ExportNameNode */
|
||||||
|
|
||||||
|
const RESOLUTION_EXTENSIONS = ['.js', '.json', '.ts', '.tsx', '.d.ts'];
|
||||||
|
|
||||||
|
/** @param {ts.Statement} node */
|
||||||
|
const hasExportMod = (node) => node.modifiers?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword);
|
||||||
|
|
||||||
|
/** @param {string} path */
|
||||||
|
const safeStat = (path) => {
|
||||||
|
try {
|
||||||
|
return Fs.statSync(path);
|
||||||
|
} catch (error) {
|
||||||
|
if (error.code === 'ENOENT') {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} dir
|
||||||
|
* @param {string} specifier
|
||||||
|
* @returns {string|undefined}
|
||||||
|
*/
|
||||||
|
const normalizeRelativeSpecifier = (dir, specifier) => {
|
||||||
|
if (specifier.startsWith('src/') || specifier.startsWith('x-pack/')) {
|
||||||
|
return Path.resolve(REPO_ROOT, specifier);
|
||||||
|
}
|
||||||
|
if (specifier.startsWith('.')) {
|
||||||
|
return Path.resolve(dir, specifier);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} basePath
|
||||||
|
* @returns {string | undefined}
|
||||||
|
*/
|
||||||
|
const checkExtensions = (basePath) => {
|
||||||
|
for (const ext of RESOLUTION_EXTENSIONS) {
|
||||||
|
const withExt = `${basePath}${ext}`;
|
||||||
|
const stats = safeStat(withExt);
|
||||||
|
if (stats?.isFile()) {
|
||||||
|
return withExt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} dir
|
||||||
|
* @param {string} specifier
|
||||||
|
* @returns {string|undefined}
|
||||||
|
*/
|
||||||
|
const getImportPath = (dir, specifier) => {
|
||||||
|
const base = normalizeRelativeSpecifier(dir, specifier);
|
||||||
|
if (!specifier) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const noExt = safeStat(base);
|
||||||
|
if (noExt && noExt.isFile()) {
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (noExt && noExt.isDirectory()) {
|
||||||
|
return checkExtensions(Path.resolve(base, 'index'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Path.extname(base) !== '') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
return checkExtensions(base);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Recursively traverse from a file path to collect all the exported values/types
|
||||||
|
* from the file. Returns an ExportSet which groups the exports by type, either
|
||||||
|
* "value" or "type" exports.
|
||||||
|
*
|
||||||
|
* @param {Parser} parser
|
||||||
|
* @param {string} from
|
||||||
|
* @param {ts.ExportDeclaration} exportFrom
|
||||||
|
* @param {ExportSet | undefined} exportSet only passed when called recursively
|
||||||
|
* @param {boolean | undefined} assumeAllTypes only passed when called recursively
|
||||||
|
* @returns {ExportSet | undefined}
|
||||||
|
*/
|
||||||
|
const getExportNamesDeep = (
|
||||||
|
parser,
|
||||||
|
from,
|
||||||
|
exportFrom,
|
||||||
|
exportSet = new ExportSet(),
|
||||||
|
assumeAllTypes = false
|
||||||
|
) => {
|
||||||
|
const specifier = ts.isStringLiteral(exportFrom.moduleSpecifier)
|
||||||
|
? exportFrom.moduleSpecifier.text
|
||||||
|
: undefined;
|
||||||
|
|
||||||
|
if (!specifier) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const importPath = getImportPath(Path.dirname(from), specifier);
|
||||||
|
if (!importPath) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sourceFile = parser(importPath);
|
||||||
|
|
||||||
|
for (const statement of sourceFile.statements) {
|
||||||
|
// export function xyz() ...
|
||||||
|
if (ts.isFunctionDeclaration(statement) && statement.name && hasExportMod(statement)) {
|
||||||
|
exportSet.add(assumeAllTypes ? 'type' : 'value', statement.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export const/let foo = ...
|
||||||
|
if (ts.isVariableStatement(statement) && hasExportMod(statement)) {
|
||||||
|
for (const dec of statement.declarationList.declarations) {
|
||||||
|
exportSet.add(assumeAllTypes ? 'type' : 'value', dec.name.getText());
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export class xyc
|
||||||
|
if (ts.isClassDeclaration(statement) && statement.name && hasExportMod(statement)) {
|
||||||
|
exportSet.add(assumeAllTypes ? 'type' : 'value', statement.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export interface Foo {...}
|
||||||
|
if (ts.isInterfaceDeclaration(statement) && hasExportMod(statement)) {
|
||||||
|
exportSet.add('type', statement.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export type Foo = ...
|
||||||
|
if (ts.isTypeAliasDeclaration(statement) && hasExportMod(statement)) {
|
||||||
|
exportSet.add('type', statement.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export enum ...
|
||||||
|
if (ts.isEnumDeclaration(statement) && hasExportMod(statement)) {
|
||||||
|
exportSet.add(assumeAllTypes ? 'type' : 'value', statement.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ts.isExportDeclaration(statement)) {
|
||||||
|
const clause = statement.exportClause;
|
||||||
|
const types = assumeAllTypes || statement.isTypeOnly;
|
||||||
|
|
||||||
|
// export * from '../foo';
|
||||||
|
if (!clause) {
|
||||||
|
const childTypes = getExportNamesDeep(
|
||||||
|
parser,
|
||||||
|
sourceFile.fileName,
|
||||||
|
statement,
|
||||||
|
exportSet,
|
||||||
|
types
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!childTypes) {
|
||||||
|
// abort if we can't get all the exported names
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export * as foo from './foo'
|
||||||
|
if (ts.isNamespaceExport(clause)) {
|
||||||
|
exportSet.add(types ? 'type' : 'value', clause.name.getText());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// export { foo }
|
||||||
|
// export { foo as x } from 'other'
|
||||||
|
// export { default as foo } from 'other'
|
||||||
|
for (const e of clause.elements) {
|
||||||
|
exportSet.add(types ? 'type' : 'value', e.name.getText());
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return exportSet;
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = { getExportNamesDeep };
|
|
@ -12,6 +12,7 @@ module.exports = {
|
||||||
'disallow-license-headers': require('./rules/disallow_license_headers'),
|
'disallow-license-headers': require('./rules/disallow_license_headers'),
|
||||||
'no-restricted-paths': require('./rules/no_restricted_paths'),
|
'no-restricted-paths': require('./rules/no_restricted_paths'),
|
||||||
module_migration: require('./rules/module_migration'),
|
module_migration: require('./rules/module_migration'),
|
||||||
|
no_export_all: require('./rules/no_export_all'),
|
||||||
no_async_promise_body: require('./rules/no_async_promise_body'),
|
no_async_promise_body: require('./rules/no_async_promise_body'),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
84
packages/kbn-eslint-plugin-eslint/rules/no_export_all.js
Normal file
84
packages/kbn-eslint-plugin-eslint/rules/no_export_all.js
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const Fs = require('fs');
|
||||||
|
const ts = require('typescript');
|
||||||
|
const { getExportCode, getExportNamedNamespaceCode } = require('../helpers/codegen');
|
||||||
|
const tsEstree = require('@typescript-eslint/typescript-estree');
|
||||||
|
|
||||||
|
const { getExportNamesDeep } = require('../helpers/exports');
|
||||||
|
|
||||||
|
/** @typedef {import("eslint").Rule.RuleModule} Rule */
|
||||||
|
/** @typedef {import("@typescript-eslint/parser").ParserServices} ParserServices */
|
||||||
|
/** @typedef {import("@typescript-eslint/typescript-estree").TSESTree.ExportAllDeclaration} EsTreeExportAllDeclaration */
|
||||||
|
/** @typedef {import("@typescript-eslint/typescript-estree").TSESTree.StringLiteral} EsTreeStringLiteral */
|
||||||
|
/** @typedef {import("typescript").ExportDeclaration} ExportDeclaration */
|
||||||
|
/** @typedef {import("../helpers/exports").Parser} Parser */
|
||||||
|
/** @typedef {import("eslint").Rule.RuleFixer} Fixer */
|
||||||
|
|
||||||
|
const ERROR_MSG =
|
||||||
|
'`export *` is not allowed in the index files of plugins to prevent accidentally exporting too many APIs';
|
||||||
|
|
||||||
|
/** @type {Rule} */
|
||||||
|
module.exports = {
|
||||||
|
meta: {
|
||||||
|
fixable: 'code',
|
||||||
|
schema: [],
|
||||||
|
},
|
||||||
|
create: (context) => {
|
||||||
|
return {
|
||||||
|
ExportAllDeclaration(node) {
|
||||||
|
const services = /** @type ParserServices */ (context.parserServices);
|
||||||
|
const esNode = /** @type EsTreeExportAllDeclaration */ (node);
|
||||||
|
const tsnode = /** @type ExportDeclaration */ (services.esTreeNodeToTSNodeMap.get(esNode));
|
||||||
|
|
||||||
|
/** @type Parser */
|
||||||
|
const parser = (path) => {
|
||||||
|
const code = Fs.readFileSync(path, 'utf-8');
|
||||||
|
const result = tsEstree.parseAndGenerateServices(code, {
|
||||||
|
...context.parserOptions,
|
||||||
|
comment: false,
|
||||||
|
filePath: path,
|
||||||
|
});
|
||||||
|
return result.services.program.getSourceFile(path);
|
||||||
|
};
|
||||||
|
|
||||||
|
const exportSet = getExportNamesDeep(parser, context.getFilename(), tsnode);
|
||||||
|
const isTypeExport = esNode.exportKind === 'type';
|
||||||
|
const isNamespaceExportWithTypes =
|
||||||
|
tsnode.exportClause &&
|
||||||
|
ts.isNamespaceExport(tsnode.exportClause) &&
|
||||||
|
(isTypeExport || exportSet.types.size);
|
||||||
|
|
||||||
|
/** @param {Fixer} fixer */
|
||||||
|
const fix = (fixer) => {
|
||||||
|
const source = /** @type EsTreeStringLiteral */ (esNode.source);
|
||||||
|
|
||||||
|
if (tsnode.exportClause && ts.isNamespaceExport(tsnode.exportClause)) {
|
||||||
|
return fixer.replaceText(
|
||||||
|
node,
|
||||||
|
getExportNamedNamespaceCode(
|
||||||
|
tsnode.exportClause.name.getText(),
|
||||||
|
Array.from(exportSet.values),
|
||||||
|
source.value
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return fixer.replaceText(node, getExportCode(exportSet, source.value));
|
||||||
|
};
|
||||||
|
|
||||||
|
context.report({
|
||||||
|
message: ERROR_MSG,
|
||||||
|
loc: node.loc,
|
||||||
|
fix: exportSet?.size && !isNamespaceExportWithTypes ? fix : undefined,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||||
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||||
|
* Side Public License, v 1.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const Path = require('path');
|
||||||
|
|
||||||
|
const { RuleTester } = require('eslint');
|
||||||
|
const dedent = require('dedent');
|
||||||
|
|
||||||
|
const rule = require('./no_export_all');
|
||||||
|
|
||||||
|
const ruleTester = new RuleTester({
|
||||||
|
parser: require.resolve('@typescript-eslint/parser'),
|
||||||
|
parserOptions: {
|
||||||
|
sourceType: 'module',
|
||||||
|
ecmaVersion: 2018,
|
||||||
|
ecmaFeatures: {
|
||||||
|
jsx: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
ruleTester.run('@kbn/eslint/no_export_all', rule, {
|
||||||
|
valid: [
|
||||||
|
{
|
||||||
|
code: dedent`
|
||||||
|
export { bar } from './foo';
|
||||||
|
export { bar as box } from './foo';
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
invalid: [
|
||||||
|
{
|
||||||
|
filename: Path.resolve(__dirname, '../__fixtures__/index.ts'),
|
||||||
|
code: dedent`
|
||||||
|
export * as baz from './baz';
|
||||||
|
export * from './foo';
|
||||||
|
`,
|
||||||
|
|
||||||
|
errors: [
|
||||||
|
{
|
||||||
|
line: 1,
|
||||||
|
message:
|
||||||
|
'`export *` is not allowed in the index files of plugins to prevent accidentally exporting too many APIs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
line: 2,
|
||||||
|
message:
|
||||||
|
'`export *` is not allowed in the index files of plugins to prevent accidentally exporting too many APIs',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
output: dedent`
|
||||||
|
import { one, two, three } from "./baz";
|
||||||
|
export const baz = {
|
||||||
|
one,
|
||||||
|
two,
|
||||||
|
three
|
||||||
|
};
|
||||||
|
export type { ReexportedClass, SomeInterface, TypeAlias } from "./foo";
|
||||||
|
export { someConst, someLet, someFunction, SomeClass, SomeEnum } from "./foo";
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109905
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './util';
|
export * from './util';
|
||||||
export * from './streaming';
|
export * from './streaming';
|
||||||
export * from './buffer';
|
export * from './buffer';
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export const COLOR_MAPPING_SETTING = 'visualization:colorMapping';
|
export const COLOR_MAPPING_SETTING = 'visualization:colorMapping';
|
||||||
export * from './palette';
|
export * from './palette';
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ChartsPlugin } from './plugin';
|
import { ChartsPlugin } from './plugin';
|
||||||
|
|
||||||
export const plugin = () => new ChartsPlugin();
|
export const plugin = () => new ChartsPlugin();
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './es_query';
|
export * from './es_query';
|
||||||
export * from './index_patterns';
|
export * from './index_patterns';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../core/public';
|
import { PluginInitializerContext } from '../../../core/public';
|
||||||
import { ConfigSchema } from '../config';
|
import { ConfigSchema } from '../config';
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginConfigDescriptor, PluginInitializerContext } from '../../../core/server';
|
import { PluginConfigDescriptor, PluginInitializerContext } from '../../../core/server';
|
||||||
import { ConfigSchema, configSchema } from '../config';
|
import { ConfigSchema, configSchema } from '../config';
|
||||||
import { DataServerPlugin, DataPluginSetup, DataPluginStart } from './plugin';
|
import { DataServerPlugin, DataPluginSetup, DataPluginStart } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110892
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'kibana/public';
|
import { PluginInitializerContext } from 'kibana/public';
|
||||||
import { DevToolsPlugin } from './plugin';
|
import { DevToolsPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -6,5 +6,8 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109903
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './lib';
|
export * from './lib';
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionErrorPlugin } from './plugin';
|
import { ExpressionErrorPlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionErrorPluginSetup, ExpressionErrorPluginStart } from './plugin';
|
export type { ExpressionErrorPluginSetup, ExpressionErrorPluginStart } from './plugin';
|
||||||
|
|
|
@ -6,5 +6,8 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionImagePlugin } from './plugin';
|
import { ExpressionImagePlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionImagePluginSetup, ExpressionImagePluginStart } from './plugin';
|
export type { ExpressionImagePluginSetup, ExpressionImagePluginStart } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './expression_functions';
|
export * from './expression_functions';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionMetricPlugin } from './plugin';
|
import { ExpressionMetricPlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionMetricPluginSetup, ExpressionMetricPluginStart } from './plugin';
|
export type { ExpressionMetricPluginSetup, ExpressionMetricPluginStart } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './expression_functions';
|
export * from './expression_functions';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionRepeatImagePlugin } from './plugin';
|
import { ExpressionRepeatImagePlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionRepeatImagePluginSetup, ExpressionRepeatImagePluginStart } from './plugin';
|
export type { ExpressionRepeatImagePluginSetup, ExpressionRepeatImagePluginStart } from './plugin';
|
||||||
|
|
|
@ -6,5 +6,8 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './expression_functions';
|
export * from './expression_functions';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionRevealImagePlugin } from './plugin';
|
import { ExpressionRevealImagePlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionRevealImagePluginSetup, ExpressionRevealImagePluginStart } from './plugin';
|
export type { ExpressionRevealImagePluginSetup, ExpressionRevealImagePluginStart } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { ExpressionShapePlugin } from './plugin';
|
import { ExpressionShapePlugin } from './plugin';
|
||||||
|
|
||||||
export type { ExpressionShapePluginSetup, ExpressionShapePluginStart } from './plugin';
|
export type { ExpressionShapePluginSetup, ExpressionShapePluginStart } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109902
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './ast';
|
export * from './ast';
|
||||||
export * from './fonts';
|
export * from './fonts';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109902
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../core/public';
|
import { PluginInitializerContext } from '../../../core/public';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109902
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'src/core/server';
|
import { PluginInitializerContext } from 'src/core/server';
|
||||||
import { ExpressionsServerPlugin } from './plugin';
|
import { ExpressionsServerPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109900
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../core/public';
|
import { PluginInitializerContext } from '../../../core/public';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'kibana/public';
|
import { PluginInitializerContext } from 'kibana/public';
|
||||||
import { KibanaLegacyPlugin } from './plugin';
|
import { KibanaLegacyPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './eui_styled_components';
|
export * from './eui_styled_components';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './code_editor';
|
export * from './code_editor';
|
||||||
export * from './url_template_editor';
|
export * from './url_template_editor';
|
||||||
export * from './exit_full_screen_button';
|
export * from './exit_full_screen_button';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './defer';
|
export * from './defer';
|
||||||
export * from './field_wildcard';
|
export * from './field_wildcard';
|
||||||
export * from './of';
|
export * from './of';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export {
|
export {
|
||||||
AbortError,
|
AbortError,
|
||||||
abortSignalToPromise,
|
abortSignalToPromise,
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109853
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export const TMS_IN_YML_ID = 'TMS in config/kibana.yml';
|
export const TMS_IN_YML_ID = 'TMS in config/kibana.yml';
|
||||||
|
|
||||||
export * from './ems_defaults';
|
export * from './ems_defaults';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109853
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'kibana/public';
|
import { PluginInitializerContext } from 'kibana/public';
|
||||||
import { MapsEmsPlugin } from './plugin';
|
import { MapsEmsPlugin } from './plugin';
|
||||||
import { IServiceSettings } from './service_settings';
|
import { IServiceSettings } from './service_settings';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export const PLUGIN_ID = 'presentationUtil';
|
export const PLUGIN_ID = 'presentationUtil';
|
||||||
export const PLUGIN_NAME = 'presentationUtil';
|
export const PLUGIN_NAME = 'presentationUtil';
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110893
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PresentationUtilPlugin } from './plugin';
|
import { PresentationUtilPlugin } from './plugin';
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { UrlForwardingPlugin } from './plugin';
|
import { UrlForwardingPlugin } from './plugin';
|
||||||
|
|
||||||
export const plugin = () => new UrlForwardingPlugin();
|
export const plugin = () => new UrlForwardingPlugin();
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'kibana/public';
|
import { PluginInitializerContext } from 'kibana/public';
|
||||||
import { DefaultEditorController } from './default_editor_controller';
|
import { DefaultEditorController } from './default_editor_controller';
|
||||||
import { VisDefaultEditorPlugin } from './plugin';
|
import { VisDefaultEditorPlugin } from './plugin';
|
||||||
|
|
|
@ -6,4 +6,7 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../../core/public';
|
import { PluginInitializerContext } from '../../../../core/public';
|
||||||
import { VisTypeVislibPlugin as Plugin } from './plugin';
|
import { VisTypeVislibPlugin as Plugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { VisTypeXyPlugin as Plugin } from './plugin';
|
import { VisTypeXyPlugin as Plugin } from './plugin';
|
||||||
|
|
||||||
export { VisTypeXyPluginSetup } from './plugin';
|
export { VisTypeXyPluginSetup } from './plugin';
|
||||||
|
|
|
@ -6,6 +6,9 @@
|
||||||
* Side Public License, v 1.
|
* Side Public License, v 1.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
/** @public types */
|
/** @public types */
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './prepare_log_table';
|
export * from './prepare_log_table';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './alert_history_schema';
|
export * from './alert_history_schema';
|
||||||
export * from './rewrite_request_case';
|
export * from './rewrite_request_case';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { AlertsHealth } from './alert';
|
import { AlertsHealth } from './alert';
|
||||||
|
|
||||||
export * from './alert';
|
export * from './alert';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110896
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './api';
|
export * from './api';
|
||||||
export * from './ui/types';
|
export * from './ui/types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110896
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './models';
|
export * from './models';
|
||||||
export * from './utils';
|
export * from './utils';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110897
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './drilldowns';
|
export * from './drilldowns';
|
||||||
|
|
|
@ -5,5 +5,8 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110900
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './config';
|
export * from './config';
|
||||||
|
|
|
@ -5,5 +5,8 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { FileUploadPlugin } from './plugin';
|
import { FileUploadPlugin } from './plugin';
|
||||||
|
|
||||||
export function plugin() {
|
export function plugin() {
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110901
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './services';
|
export * from './services';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110901
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import type { PluginInitializerContext } from 'src/core/public';
|
import type { PluginInitializerContext } from 'src/core/public';
|
||||||
|
|
||||||
import { FleetPlugin } from './plugin';
|
import { FleetPlugin } from './plugin';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110892
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export { API_BASE_PATH, BASE_PATH } from './constants';
|
export { API_BASE_PATH, BASE_PATH } from './constants';
|
||||||
|
|
||||||
export { getTemplateParameter } from './lib';
|
export { getTemplateParameter } from './lib';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './api';
|
export * from './api';
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext, PluginConfigDescriptor } from 'kibana/server';
|
import { PluginInitializerContext, PluginConfigDescriptor } from 'kibana/server';
|
||||||
import { LensServerPlugin } from './plugin';
|
import { LensServerPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110902
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'src/core/public';
|
import { PluginInitializerContext } from 'src/core/public';
|
||||||
import { LicensingPlugin } from './plugin';
|
import { LicensingPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110902
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'src/core/server';
|
import { PluginInitializerContext } from 'src/core/server';
|
||||||
import { LicensingPlugin } from './plugin';
|
import { LicensingPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110903
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './shared_exports';
|
export * from './shared_exports';
|
||||||
|
|
||||||
import type { PluginInitializerContext } from '../../../../src/core/public';
|
import type { PluginInitializerContext } from '../../../../src/core/public';
|
||||||
|
|
|
@ -5,5 +5,8 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109853
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export const PLUGIN_ID = 'metricsEntities';
|
export const PLUGIN_ID = 'metricsEntities';
|
||||||
export const PLUGIN_NAME = 'metrics_entities';
|
export const PLUGIN_NAME = 'metrics_entities';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110898
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'kibana/server';
|
import { PluginInitializerContext } from 'kibana/server';
|
||||||
import { MlServerPlugin } from './plugin';
|
import { MlServerPlugin } from './plugin';
|
||||||
export type { MlPluginSetup, MlPluginStart } from './plugin';
|
export type { MlPluginSetup, MlPluginStart } from './plugin';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110905
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext, PluginInitializer } from 'kibana/public';
|
import { PluginInitializerContext, PluginInitializer } from 'kibana/public';
|
||||||
import { lazy } from 'react';
|
import { lazy } from 'react';
|
||||||
import {
|
import {
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110905
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { schema, TypeOf } from '@kbn/config-schema';
|
import { schema, TypeOf } from '@kbn/config-schema';
|
||||||
import { PluginInitializerContext } from 'src/core/server';
|
import { PluginInitializerContext } from 'src/core/server';
|
||||||
import { ObservabilityPlugin, ObservabilityPluginSetup } from './plugin';
|
import { ObservabilityPlugin, ObservabilityPluginSetup } from './plugin';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110906
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
|
||||||
export const PLUGIN_ID = 'osquery';
|
export const PLUGIN_ID = 'osquery';
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110906
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './helpers';
|
export * from './helpers';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109897
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * as constants from './constants';
|
export * as constants from './constants';
|
||||||
export { CancellationToken } from './cancellation_token';
|
export { CancellationToken } from './cancellation_token';
|
||||||
export { Poller } from './poller';
|
export { Poller } from './poller';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110907
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from 'src/core/server';
|
import { PluginInitializerContext } from 'src/core/server';
|
||||||
import { RuleRegistryPlugin } from './plugin';
|
import { RuleRegistryPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './search_strategy';
|
export * from './search_strategy';
|
||||||
export * from './utility_types';
|
export * from './utility_types';
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110892
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
|
|
@ -5,5 +5,8 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './config';
|
export * from './config';
|
||||||
export const STACK_ALERTS_FEATURE_ID = 'stackAlerts';
|
export const STACK_ALERTS_FEATURE_ID = 'stackAlerts';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export * from './search_strategy';
|
export * from './search_strategy';
|
||||||
export * from './utils/accessibility';
|
export * from './utils/accessibility';
|
||||||
|
|
|
@ -4,6 +4,10 @@
|
||||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110904
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { createContext } from 'react';
|
import { createContext } from 'react';
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../../src/core/public';
|
import { PluginInitializerContext } from '../../../../src/core/public';
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './data';
|
export * from './data';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './expression_items';
|
export * from './expression_items';
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
export * from './index_controls';
|
export * from './index_controls';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/110895
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { Plugin } from './plugin';
|
import { Plugin } from './plugin';
|
||||||
|
|
||||||
export type {
|
export type {
|
||||||
|
|
|
@ -5,4 +5,7 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
export * from './types';
|
export * from './types';
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* 2.0.
|
* 2.0.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// TODO: https://github.com/elastic/kibana/issues/109891
|
||||||
|
/* eslint-disable @kbn/eslint/no_export_all */
|
||||||
|
|
||||||
import { PluginInitializerContext } from '../../../../src/core/public';
|
import { PluginInitializerContext } from '../../../../src/core/public';
|
||||||
import { AdvancedUiActionsPublicPlugin } from './plugin';
|
import { AdvancedUiActionsPublicPlugin } from './plugin';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue