diff --git a/package.json b/package.json index bf014a54244e0..50026c5bf9bb1 100644 --- a/package.json +++ b/package.json @@ -373,7 +373,7 @@ "@kbn/plugin-generator": "link:packages/kbn-plugin-generator", "@kbn/plugin-helpers": "link:packages/kbn-plugin-helpers", "@kbn/pm": "link:packages/kbn-pm", - "@kbn/release-notes": "link:packages/kbn-release-notes", + "@kbn/docs-utils": "link:packages/kbn-docs-utils", "@kbn/storybook": "link:packages/kbn-storybook", "@kbn/telemetry-tools": "link:packages/kbn-telemetry-tools", "@kbn/test": "link:packages/kbn-test", diff --git a/packages/kbn-release-notes/jest.config.js b/packages/kbn-docs-utils/jest.config.js similarity index 89% rename from packages/kbn-release-notes/jest.config.js rename to packages/kbn-docs-utils/jest.config.js index db5e48b1704fb..e9cdc1978231e 100644 --- a/packages/kbn-release-notes/jest.config.js +++ b/packages/kbn-docs-utils/jest.config.js @@ -9,5 +9,5 @@ module.exports = { preset: '@kbn/test', rootDir: '../..', - roots: ['/packages/kbn-release-notes'], + roots: ['/packages/kbn-docs-utils'], }; diff --git a/packages/kbn-release-notes/package.json b/packages/kbn-docs-utils/package.json similarity index 92% rename from packages/kbn-release-notes/package.json rename to packages/kbn-docs-utils/package.json index c325367c7d47e..6571f8c87dbfa 100644 --- a/packages/kbn-release-notes/package.json +++ b/packages/kbn-docs-utils/package.json @@ -1,5 +1,5 @@ { - "name": "@kbn/release-notes", + "name": "@kbn/docs-utils", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "private": "true", diff --git a/src/dev/build_api_docs/README.md b/packages/kbn-docs-utils/src/api_docs/README.md similarity index 91% rename from src/dev/build_api_docs/README.md rename to packages/kbn-docs-utils/src/api_docs/README.md index dfe01f2684983..f980fe83b9596 100644 --- a/src/dev/build_api_docs/README.md +++ b/packages/kbn-docs-utils/src/api_docs/README.md @@ -8,5 +8,5 @@ we determine the value of such a system and what kind of maintenance burder it w To generate the docs run ``` -yarn build:apidocs +node scripts/build_api_docs ``` diff --git a/src/dev/build_api_docs/build_api_declarations/buid_api_declaration.test.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/buid_api_declaration.test.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/buid_api_declaration.test.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/buid_api_declaration.test.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_api_declaration.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_api_declaration.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_api_declaration.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_api_declaration.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_arrow_fn_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_arrow_fn_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_arrow_fn_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_arrow_fn_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_class_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_class_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_class_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_class_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_function_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_function_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_function_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_function_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_function_type_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_function_type_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_function_type_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_function_type_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_interface_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_interface_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_interface_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_interface_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_parameter_decs.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_parameter_decs.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_parameter_decs.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_parameter_decs.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_type_literal_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_type_literal_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_type_literal_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_type_literal_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/build_variable_dec.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_variable_dec.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/build_variable_dec.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/build_variable_dec.ts diff --git a/src/dev/build_api_docs/build_api_declarations/extract_import_refs.test.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/extract_import_refs.test.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.test.ts diff --git a/src/dev/build_api_docs/build_api_declarations/extract_import_refs.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/extract_import_refs.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/extract_import_refs.ts diff --git a/src/dev/build_api_docs/build_api_declarations/get_signature.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/get_signature.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/get_signature.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/get_signature.ts diff --git a/src/dev/build_api_docs/build_api_declarations/get_type_kind.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/get_type_kind.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/get_type_kind.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/get_type_kind.ts diff --git a/src/dev/build_api_docs/build_api_declarations/js_doc_utils.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/js_doc_utils.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/js_doc_utils.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/js_doc_utils.ts diff --git a/src/dev/build_api_docs/build_api_declarations/utils.ts b/packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts similarity index 100% rename from src/dev/build_api_docs/build_api_declarations/utils.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_declarations/utils.ts diff --git a/src/dev/build_api_docs/build_api_docs.ts b/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts similarity index 61% rename from src/dev/build_api_docs/build_api_docs.ts rename to packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts index e212b060019e2..6698974e74e09 100644 --- a/src/dev/build_api_docs/build_api_docs.ts +++ b/packages/kbn-docs-utils/src/api_docs/build_api_docs_cli.ts @@ -6,21 +6,69 @@ * Side Public License, v 1. */ -import fs from 'fs'; +import Fs from 'fs'; import Path from 'path'; -import { REPO_ROOT } from '@kbn/dev-utils'; -import { ToolingLog } from '@kbn/dev-utils'; + +import { REPO_ROOT, run } from '@kbn/dev-utils'; import { Project } from 'ts-morph'; + import { getPluginApi } from './get_plugin_api'; import { writePluginDocs } from './mdx/write_plugin_mdx_docs'; -import { findPlugins } from '../plugin_discovery'; import { ApiDeclaration, PluginApi } from './types'; import { mergeScopeApi } from './utils'; +import { findPlugins } from './find_plugins'; + +export function runBuildApiDocsCli() { + run( + async ({ log }) => { + const project = getTsProject(REPO_ROOT); + + const plugins = findPlugins(); + + const pluginInfos: Array<{ + apiCount: number; + apiCountMissingComments: number; + plugin: string; + }> = []; + + const outputFolder = Path.resolve(REPO_ROOT, 'api_docs'); + if (!Fs.existsSync(outputFolder)) { + Fs.mkdirSync(outputFolder); + } else { + // Delete all files except the README that warns about the auto-generated nature of + // the folder. + const files = Fs.readdirSync(outputFolder); + files.forEach((file) => { + if (file.indexOf('README.md') < 0) { + Fs.rmSync(Path.resolve(outputFolder, file)); + } + }); + } + + plugins.forEach((plugin) => { + const doc = getPluginApi(project, plugin, plugins, log); + const info = { + plugin: plugin.manifest.id, + apiCount: countApiForPlugin(doc), + apiCountMissingComments: countMissingCommentsApiForPlugin(doc), + }; + + if (info.apiCount > 0) { + writePluginDocs(outputFolder, doc, log); + pluginInfos.push(info); + } + }); -const log = new ToolingLog({ - level: 'debug', - writeTo: process.stdout, -}); + // eslint-disable-next-line no-console + console.table(pluginInfos); + }, + { + log: { + defaultLevel: 'debug', + }, + } + ); +} function getTsProject(repoPath: string) { const xpackTsConfig = `${repoPath}/x-pack/tsconfig.json`; @@ -34,56 +82,6 @@ function getTsProject(repoPath: string) { return project; } -export function buildApiDocs() { - const project = getTsProject(REPO_ROOT); - - const plugins = Array.from( - findPlugins({ - oss: false, - examples: false, - // Use this to capture "core" as a plugin. - extraPluginScanDirs: [Path.resolve(REPO_ROOT, 'src')], - }).values() - ); - - const pluginInfos: Array<{ - apiCount: number; - apiCountMissingComments: number; - plugin: string; - }> = []; - - const outputFolder = Path.resolve(REPO_ROOT, 'api_docs'); - if (!fs.existsSync(outputFolder)) { - fs.mkdirSync(outputFolder); - } else { - // Delete all files except the README that warns about the auto-generated nature of - // the folder. - const files = fs.readdirSync(outputFolder); - files.forEach((file) => { - if (file.indexOf('README.md') < 0) { - fs.rmSync(Path.resolve(outputFolder, file)); - } - }); - } - - plugins.forEach((plugin) => { - const doc = getPluginApi(project, plugin, plugins, log); - const info = { - plugin: plugin.manifest.id, - apiCount: countApiForPlugin(doc), - apiCountMissingComments: countMissingCommentsApiForPlugin(doc), - }; - - if (info.apiCount > 0) { - writePluginDocs(outputFolder, doc, log); - pluginInfos.push(info); - } - }); - - // eslint-disable-next-line no-console - console.table(pluginInfos); -} - function countMissingCommentsApiForPlugin(doc: PluginApi) { return ( mergeScopeApi(doc.client).reduce((sum, def) => { diff --git a/packages/kbn-docs-utils/src/api_docs/find_plugins.ts b/packages/kbn-docs-utils/src/api_docs/find_plugins.ts new file mode 100644 index 0000000000000..004124f13889d --- /dev/null +++ b/packages/kbn-docs-utils/src/api_docs/find_plugins.ts @@ -0,0 +1,25 @@ +/* + * 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. + */ + +import Path from 'path'; + +import { getPluginSearchPaths } from '@kbn/config'; +import { simpleKibanaPlatformPluginDiscovery, REPO_ROOT } from '@kbn/dev-utils'; + +export function findPlugins() { + const pluginSearchPaths = getPluginSearchPaths({ + rootDir: REPO_ROOT, + oss: false, + examples: false, + }); + + return simpleKibanaPlatformPluginDiscovery(pluginSearchPaths, [ + // discover "core" as a plugin + Path.resolve(REPO_ROOT, 'src/core'), + ]); +} diff --git a/src/dev/build_api_docs/get_declaration_nodes_for_plugin.ts b/packages/kbn-docs-utils/src/api_docs/get_declaration_nodes_for_plugin.ts similarity index 100% rename from src/dev/build_api_docs/get_declaration_nodes_for_plugin.ts rename to packages/kbn-docs-utils/src/api_docs/get_declaration_nodes_for_plugin.ts diff --git a/src/dev/build_api_docs/get_plugin_api.ts b/packages/kbn-docs-utils/src/api_docs/get_plugin_api.ts similarity index 100% rename from src/dev/build_api_docs/get_plugin_api.ts rename to packages/kbn-docs-utils/src/api_docs/get_plugin_api.ts diff --git a/src/dev/build_api_docs/run.ts b/packages/kbn-docs-utils/src/api_docs/index.ts similarity index 84% rename from src/dev/build_api_docs/run.ts rename to packages/kbn-docs-utils/src/api_docs/index.ts index 6e7712f48dd22..8dca507764a79 100644 --- a/src/dev/build_api_docs/run.ts +++ b/packages/kbn-docs-utils/src/api_docs/index.ts @@ -6,6 +6,4 @@ * Side Public License, v 1. */ -import { buildApiDocs } from './build_api_docs'; - -buildApiDocs(); +export * from './build_api_docs_cli'; diff --git a/src/dev/build_api_docs/mdx/split_apis_by_folder.test.ts b/packages/kbn-docs-utils/src/api_docs/mdx/split_apis_by_folder.test.ts similarity index 100% rename from src/dev/build_api_docs/mdx/split_apis_by_folder.test.ts rename to packages/kbn-docs-utils/src/api_docs/mdx/split_apis_by_folder.test.ts diff --git a/src/dev/build_api_docs/mdx/write_plugin_mdx_docs.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts similarity index 100% rename from src/dev/build_api_docs/mdx/write_plugin_mdx_docs.ts rename to packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_mdx_docs.ts diff --git a/src/dev/build_api_docs/mdx/write_plugin_split_by_folder.test.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_split_by_folder.test.ts similarity index 100% rename from src/dev/build_api_docs/mdx/write_plugin_split_by_folder.test.ts rename to packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_split_by_folder.test.ts diff --git a/src/dev/build_api_docs/mdx/write_plugin_split_by_folder.ts b/packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_split_by_folder.ts similarity index 100% rename from src/dev/build_api_docs/mdx/write_plugin_split_by_folder.ts rename to packages/kbn-docs-utils/src/api_docs/mdx/write_plugin_split_by_folder.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/common/foo/index.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/common/foo/index.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/common/foo/index.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/common/foo/index.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/common/index.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/common/index.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/common/index.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/common/index.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/kibana.json b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/kibana.json similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/kibana.json rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/kibana.json diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/classes.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/classes.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/classes.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/classes.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/const_vars.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/const_vars.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/const_vars.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/const_vars.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/fns.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/fns.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/fns.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/fns.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/foo/index.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/foo/index.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/foo/index.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/foo/index.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/index.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/index.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/index.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/index.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/plugin.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/plugin.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/plugin.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/plugin.ts diff --git a/src/dev/build_api_docs/tests/src/plugin_a/public/types.ts b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/types.ts similarity index 100% rename from src/dev/build_api_docs/tests/src/plugin_a/public/types.ts rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/plugin_a/public/types.ts diff --git a/src/dev/build_api_docs/tests/src/tsconfig.json b/packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/tsconfig.json similarity index 100% rename from src/dev/build_api_docs/tests/src/tsconfig.json rename to packages/kbn-docs-utils/src/api_docs/tests/__fixtures__/src/tsconfig.json diff --git a/src/dev/build_api_docs/tests/api_doc_suite.test.ts b/packages/kbn-docs-utils/src/api_docs/tests/api_doc_suite.test.ts similarity index 96% rename from src/dev/build_api_docs/tests/api_doc_suite.test.ts rename to packages/kbn-docs-utils/src/api_docs/tests/api_doc_suite.test.ts index af0d00602da7c..1c29348092d73 100644 --- a/src/dev/build_api_docs/tests/api_doc_suite.test.ts +++ b/packages/kbn-docs-utils/src/api_docs/tests/api_doc_suite.test.ts @@ -8,8 +8,8 @@ import fs from 'fs'; import Path from 'path'; + import { Project } from 'ts-morph'; -import { REPO_ROOT } from '@kbn/utils'; import { ToolingLog, KibanaPlatformPlugin } from '@kbn/dev-utils'; import { writePluginDocs } from '../mdx/write_plugin_mdx_docs'; @@ -75,15 +75,7 @@ function fnIsCorrect(fn: ApiDeclaration | undefined) { } beforeAll(() => { - const tsConfigFilePath = Path.resolve( - REPO_ROOT, - 'src', - 'dev', - 'build_api_docs', - 'tests', - 'src', - 'tsconfig.json' - ); + const tsConfigFilePath = Path.resolve(__dirname, '__fixtures__/src/tsconfig.json'); const project = new Project({ tsConfigFilePath, }); @@ -95,7 +87,7 @@ beforeAll(() => { const plugins: KibanaPlatformPlugin[] = [pluginA]; doc = getPluginApi(project, plugins[0], plugins, log); - mdxOutputFolder = Path.resolve(REPO_ROOT, 'src', 'dev', 'build_api_docs', 'tests', 'snapshots'); + mdxOutputFolder = Path.resolve(__dirname, 'snapshots'); writePluginDocs(mdxOutputFolder, doc, log); }); @@ -131,8 +123,8 @@ it('const exported from common folder is correct', () => { const fooConst = doc.common.misc.find((c) => c.label === 'commonFoo'); expect(fooConst).toBeDefined(); - expect(fooConst!.source.path.indexOf('src/plugin_a/common/foo/index.ts')).toBeGreaterThanOrEqual( - 0 + expect(fooConst!.source.path.replace(Path.sep, '/')).toContain( + 'src/plugin_a/common/foo/index.ts' ); expect(fooConst!.signature![0]).toBe('"COMMON VAR!"'); }); diff --git a/src/dev/build_api_docs/tests/kibana_platform_plugin_mock.ts b/packages/kbn-docs-utils/src/api_docs/tests/kibana_platform_plugin_mock.ts similarity index 100% rename from src/dev/build_api_docs/tests/kibana_platform_plugin_mock.ts rename to packages/kbn-docs-utils/src/api_docs/tests/kibana_platform_plugin_mock.ts diff --git a/src/dev/build_api_docs/tests/snapshots/plugin_a.json b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.json similarity index 100% rename from src/dev/build_api_docs/tests/snapshots/plugin_a.json rename to packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.json diff --git a/src/dev/build_api_docs/tests/snapshots/plugin_a.mdx b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx similarity index 100% rename from src/dev/build_api_docs/tests/snapshots/plugin_a.mdx rename to packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a.mdx diff --git a/src/dev/build_api_docs/tests/snapshots/plugin_a_foo.json b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.json similarity index 100% rename from src/dev/build_api_docs/tests/snapshots/plugin_a_foo.json rename to packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.json diff --git a/src/dev/build_api_docs/tests/snapshots/plugin_a_foo.mdx b/packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx similarity index 100% rename from src/dev/build_api_docs/tests/snapshots/plugin_a_foo.mdx rename to packages/kbn-docs-utils/src/api_docs/tests/snapshots/plugin_a_foo.mdx diff --git a/src/dev/build_api_docs/tsmorph_utils.ts b/packages/kbn-docs-utils/src/api_docs/tsmorph_utils.ts similarity index 100% rename from src/dev/build_api_docs/tsmorph_utils.ts rename to packages/kbn-docs-utils/src/api_docs/tsmorph_utils.ts diff --git a/src/dev/build_api_docs/types.ts b/packages/kbn-docs-utils/src/api_docs/types.ts similarity index 100% rename from src/dev/build_api_docs/types.ts rename to packages/kbn-docs-utils/src/api_docs/types.ts diff --git a/src/dev/build_api_docs/utils.test.ts b/packages/kbn-docs-utils/src/api_docs/utils.test.ts similarity index 86% rename from src/dev/build_api_docs/utils.test.ts rename to packages/kbn-docs-utils/src/api_docs/utils.test.ts index 83cc56f864d65..bbcc3b360f6a8 100644 --- a/src/dev/build_api_docs/utils.test.ts +++ b/packages/kbn-docs-utils/src/api_docs/utils.test.ts @@ -6,18 +6,11 @@ * Side Public License, v 1. */ -import { KibanaPlatformPlugin } from '@kbn/dev-utils'; -import { findPlugins } from '../plugin_discovery'; +import { findPlugins } from './find_plugins'; import { getPluginForPath, getServiceForPath } from './utils'; it('test getPluginForPath', () => { - const plugins: KibanaPlatformPlugin[] = Array.from( - findPlugins({ - oss: false, - examples: false, - extraPluginScanDirs: [], - }).values() - ); + const plugins = findPlugins(); expect( getPluginForPath('/Users/auser/kibana/src/plugins/embeddable/public/service/file.ts', plugins) ).toBeDefined(); diff --git a/src/dev/build_api_docs/utils.ts b/packages/kbn-docs-utils/src/api_docs/utils.ts similarity index 100% rename from src/dev/build_api_docs/utils.ts rename to packages/kbn-docs-utils/src/api_docs/utils.ts diff --git a/packages/kbn-docs-utils/src/index.ts b/packages/kbn-docs-utils/src/index.ts new file mode 100644 index 0000000000000..24aef1bf891f6 --- /dev/null +++ b/packages/kbn-docs-utils/src/index.ts @@ -0,0 +1,10 @@ +/* + * 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. + */ + +export * from './release_notes'; +export * from './api_docs'; diff --git a/packages/kbn-release-notes/src/cli.ts b/packages/kbn-docs-utils/src/release_notes/cli.ts similarity index 100% rename from packages/kbn-release-notes/src/cli.ts rename to packages/kbn-docs-utils/src/release_notes/cli.ts diff --git a/packages/kbn-release-notes/src/formats/asciidoc.ts b/packages/kbn-docs-utils/src/release_notes/formats/asciidoc.ts similarity index 100% rename from packages/kbn-release-notes/src/formats/asciidoc.ts rename to packages/kbn-docs-utils/src/release_notes/formats/asciidoc.ts diff --git a/packages/kbn-release-notes/src/formats/csv.ts b/packages/kbn-docs-utils/src/release_notes/formats/csv.ts similarity index 100% rename from packages/kbn-release-notes/src/formats/csv.ts rename to packages/kbn-docs-utils/src/release_notes/formats/csv.ts diff --git a/packages/kbn-release-notes/src/formats/format.ts b/packages/kbn-docs-utils/src/release_notes/formats/format.ts similarity index 100% rename from packages/kbn-release-notes/src/formats/format.ts rename to packages/kbn-docs-utils/src/release_notes/formats/format.ts diff --git a/packages/kbn-release-notes/src/formats/index.ts b/packages/kbn-docs-utils/src/release_notes/formats/index.ts similarity index 100% rename from packages/kbn-release-notes/src/formats/index.ts rename to packages/kbn-docs-utils/src/release_notes/formats/index.ts diff --git a/packages/kbn-release-notes/src/index.ts b/packages/kbn-docs-utils/src/release_notes/index.ts similarity index 100% rename from packages/kbn-release-notes/src/index.ts rename to packages/kbn-docs-utils/src/release_notes/index.ts diff --git a/packages/kbn-release-notes/src/lib/classify_pr.ts b/packages/kbn-docs-utils/src/release_notes/lib/classify_pr.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/classify_pr.ts rename to packages/kbn-docs-utils/src/release_notes/lib/classify_pr.ts diff --git a/packages/kbn-release-notes/src/lib/get_fix_references.test.ts b/packages/kbn-docs-utils/src/release_notes/lib/get_fix_references.test.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/get_fix_references.test.ts rename to packages/kbn-docs-utils/src/release_notes/lib/get_fix_references.test.ts diff --git a/packages/kbn-release-notes/src/lib/get_fix_references.ts b/packages/kbn-docs-utils/src/release_notes/lib/get_fix_references.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/get_fix_references.ts rename to packages/kbn-docs-utils/src/release_notes/lib/get_fix_references.ts diff --git a/packages/kbn-release-notes/src/lib/get_note_from_description.test.ts b/packages/kbn-docs-utils/src/release_notes/lib/get_note_from_description.test.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/get_note_from_description.test.ts rename to packages/kbn-docs-utils/src/release_notes/lib/get_note_from_description.test.ts diff --git a/packages/kbn-release-notes/src/lib/get_note_from_description.ts b/packages/kbn-docs-utils/src/release_notes/lib/get_note_from_description.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/get_note_from_description.ts rename to packages/kbn-docs-utils/src/release_notes/lib/get_note_from_description.ts diff --git a/packages/kbn-release-notes/src/lib/index.ts b/packages/kbn-docs-utils/src/release_notes/lib/index.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/index.ts rename to packages/kbn-docs-utils/src/release_notes/lib/index.ts diff --git a/packages/kbn-release-notes/src/lib/irrelevant_pr_summary.ts b/packages/kbn-docs-utils/src/release_notes/lib/irrelevant_pr_summary.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/irrelevant_pr_summary.ts rename to packages/kbn-docs-utils/src/release_notes/lib/irrelevant_pr_summary.ts diff --git a/packages/kbn-release-notes/src/lib/is_pr_relevant.ts b/packages/kbn-docs-utils/src/release_notes/lib/is_pr_relevant.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/is_pr_relevant.ts rename to packages/kbn-docs-utils/src/release_notes/lib/is_pr_relevant.ts diff --git a/packages/kbn-release-notes/src/lib/pr_api.ts b/packages/kbn-docs-utils/src/release_notes/lib/pr_api.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/pr_api.ts rename to packages/kbn-docs-utils/src/release_notes/lib/pr_api.ts diff --git a/packages/kbn-release-notes/src/lib/streams.ts b/packages/kbn-docs-utils/src/release_notes/lib/streams.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/streams.ts rename to packages/kbn-docs-utils/src/release_notes/lib/streams.ts diff --git a/packages/kbn-release-notes/src/lib/type_helpers.ts b/packages/kbn-docs-utils/src/release_notes/lib/type_helpers.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/type_helpers.ts rename to packages/kbn-docs-utils/src/release_notes/lib/type_helpers.ts diff --git a/packages/kbn-release-notes/src/lib/version.test.ts b/packages/kbn-docs-utils/src/release_notes/lib/version.test.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/version.test.ts rename to packages/kbn-docs-utils/src/release_notes/lib/version.test.ts diff --git a/packages/kbn-release-notes/src/lib/version.ts b/packages/kbn-docs-utils/src/release_notes/lib/version.ts similarity index 100% rename from packages/kbn-release-notes/src/lib/version.ts rename to packages/kbn-docs-utils/src/release_notes/lib/version.ts diff --git a/packages/kbn-release-notes/src/release_notes_config.ts b/packages/kbn-docs-utils/src/release_notes/release_notes_config.ts similarity index 100% rename from packages/kbn-release-notes/src/release_notes_config.ts rename to packages/kbn-docs-utils/src/release_notes/release_notes_config.ts diff --git a/packages/kbn-release-notes/tsconfig.json b/packages/kbn-docs-utils/tsconfig.json similarity index 81% rename from packages/kbn-release-notes/tsconfig.json rename to packages/kbn-docs-utils/tsconfig.json index 02209a29e5817..3c683f487b9f2 100644 --- a/packages/kbn-release-notes/tsconfig.json +++ b/packages/kbn-docs-utils/tsconfig.json @@ -8,5 +8,8 @@ }, "include": [ "src/**/*" + ], + "exclude": [ + "**/__fixtures__/**/*" ] } diff --git a/scripts/build_api_docs.js b/scripts/build_api_docs.js index 288543579d623..3e26a2d87895c 100644 --- a/scripts/build_api_docs.js +++ b/scripts/build_api_docs.js @@ -7,4 +7,4 @@ */ require('../src/setup_node_env'); -require('../src/dev/build_api_docs/run'); +require('@kbn/docs-utils').runBuildApiDocsCli(); diff --git a/yarn.lock b/yarn.lock index 3eeda72d53b8e..46bf27c48f60e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3445,6 +3445,10 @@ version "0.0.0" uid "" +"@kbn/docs-utils@link:packages/kbn-docs-utils": + version "0.0.0" + uid "" + "@kbn/es-archiver@link:packages/kbn-es-archiver": version "0.0.0" uid "" @@ -3501,10 +3505,6 @@ version "0.0.0" uid "" -"@kbn/release-notes@link:packages/kbn-release-notes": - version "0.0.0" - uid "" - "@kbn/std@link:packages/kbn-std": version "0.0.0" uid ""