diff --git a/.buildkite/scripts/steps/checks/bazel_packages.sh b/.buildkite/scripts/steps/checks/bazel_packages.sh index ca82c6fef609e..a8a631ed48ae4 100755 --- a/.buildkite/scripts/steps/checks/bazel_packages.sh +++ b/.buildkite/scripts/steps/checks/bazel_packages.sh @@ -6,5 +6,12 @@ source .buildkite/scripts/common/util.sh echo --- Check Bazel Packages Manifest node scripts/generate packages_build_manifest - check_for_changed_files 'node scripts/generate packages_build_manifest' true + +echo --- Check Codeowners Manifest +if [ -f ".github/CODEOWNERS" ]; then + node scripts/generate codeowners + check_for_changed_files 'node scripts/generate codeowners' true +else + echo "skipping, no existing .github/CODEOWNERS file found" +fi diff --git a/.eslintrc.js b/.eslintrc.js index b73b88ba95de9..406e58e17d7a6 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,7 +9,9 @@ const Path = require('path'); const Fs = require('fs'); -const globby = require('globby'); +const normalizePath = require('normalize-path'); +const { discoverPackageManifestPaths, Jsonc } = require('@kbn/bazel-packages'); +const { REPO_ROOT } = require('@kbn/utils'); const APACHE_2_0_LICENSE_HEADER = ` /* @@ -119,15 +121,10 @@ const VENN_DIAGRAM_HEADER = ` */ `; -const packagePkgJsons = globby.sync('*/package.json', { - cwd: Path.resolve(__dirname, 'packages'), - absolute: true, -}); - /** Packages which should not be included within production code. */ -const DEV_PACKAGES = packagePkgJsons.flatMap((path) => { - const pkg = JSON.parse(Fs.readFileSync(path, 'utf8')); - return pkg.kibana && pkg.kibana.devOnly ? Path.dirname(Path.basename(path)) : []; +const DEV_PACKAGE_DIRS = discoverPackageManifestPaths(REPO_ROOT).flatMap((path) => { + const manifest = Jsonc.parse(Fs.readFileSync(path, 'utf8')); + return !!manifest.devOnly ? normalizePath(Path.relative(REPO_ROOT, Path.dirname(path))) : []; }); /** Directories (at any depth) which include dev-only code. */ @@ -145,6 +142,7 @@ const DEV_DIRECTORIES = [ 'integration_tests', 'manual_tests', 'mock', + 'mocks', 'storybook', 'scripts', 'test', @@ -153,6 +151,7 @@ const DEV_DIRECTORIES = [ 'test_utilities', 'test_helpers', 'tests_client_integration', + 'tsd_tests', ]; /** File patterns for dev-only code. */ @@ -171,7 +170,7 @@ const DEV_FILE_PATTERNS = [ /** Glob patterns which describe dev-only code. */ const DEV_PATTERNS = [ - ...DEV_PACKAGES.map((pkg) => `packages/${pkg}/**/*`), + ...DEV_PACKAGE_DIRS.map((pkg) => `${pkg}/**/*`), ...DEV_DIRECTORIES.map((dir) => `{packages,src,x-pack}/**/${dir}/**/*`), ...DEV_FILE_PATTERNS.map((file) => `{packages,src,x-pack}/**/${file}`), 'packages/kbn-interpreter/tasks/**/*', diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 71af2a3e67230..709f7ee4efb6f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -42,7 +42,6 @@ /src/plugins/chart_expressions/expression_partition_vis/ @elastic/kibana-vis-editors /src/plugins/chart_expressions/expression_xy/ @elastic/kibana-vis-editors /src/plugins/url_forwarding/ @elastic/kibana-vis-editors -/packages/kbn-tinymath/ @elastic/kibana-vis-editors /x-pack/test/functional/apps/lens @elastic/kibana-vis-editors /x-pack/test/api_integration/apis/lens/ @elastic/kibana-vis-editors /test/functional/apps/visualize/ @elastic/kibana-vis-editors @@ -62,12 +61,6 @@ /examples/field_formats_example/ @elastic/kibana-app-services /examples/partial_results_example/ @elastic/kibana-app-services /examples/search_examples/ @elastic/kibana-app-services -/packages/kbn-datemath/ @elastic/kibana-app-services -/packages/kbn-interpreter/ @elastic/kibana-app-services -/packages/kbn-monaco/ @elastic/kibana-app-services -/packages/kbn-react-field/ @elastic/kibana-app-services -/packages/kbn-es-query/ @elastic/kibana-app-services -/packages/kbn-field-types/ @elastic/kibana-app-services /src/plugins/bfetch/ @elastic/kibana-app-services /src/plugins/data/ @elastic/kibana-app-services /src/plugins/data_views/ @elastic/kibana-app-services @@ -139,12 +132,9 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/plugins/apm/ @elastic/apm-ui /x-pack/test/functional/apps/apm/ @elastic/apm-ui /x-pack/test/apm_api_integration/ @elastic/apm-ui -/src/plugins/apm_oss/ @elastic/apm-ui /src/apm.js @elastic/kibana-core @vigneshshanmugam -/packages/kbn-apm-config-loader/ @elastic/kibana-core @vigneshshanmugam +/packages/kbn-apm-config-loader/ @vigneshshanmugam /src/core/types/elasticsearch @elastic/apm-ui -/packages/kbn-apm-synthtrace/ @elastic/apm-ui -/packages/kbn-shared-svg @elastic/apm-ui /packages/kbn-utility-types/src/dot.ts @dgieselaar /packages/kbn-utility-types/src/dot_test.ts @dgieselaar #CC# /src/plugins/apm_oss/ @elastic/apm-ui @@ -220,7 +210,6 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/test/functional/apps/transform/ @elastic/ml-ui /x-pack/test/functional/services/transform/ @elastic/ml-ui /x-pack/test/functional_basic/apps/transform/ @elastic/ml-ui -/x-pack/packages/ml/ @elastic/ml-ui /examples/response_stream/ @elastic/ml-ui # Maps @@ -234,39 +223,11 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/plugins/stack_alerts/public/alert_types/geo_containment @elastic/kibana-gis #CC# /x-pack/plugins/file_upload @elastic/kibana-gis /x-pack/plugins/file_upload @elastic/kibana-gis -/packages/kbn-mapbox-gl @elastic/kibana-gis # Operations /src/dev/license_checker/config.ts @elastic/kibana-operations -/packages/kbn-docs-utils/ @elastic/kibana-operations /src/dev/ @elastic/kibana-operations /src/setup_node_env/ @elastic/kibana-operations -/packages/*eslint*/ @elastic/kibana-operations -/packages/*babel*/ @elastic/kibana-operations -/packages/kbn-ambient-ui-types/ @elastic/kibana-operations -/packages/kbn-ambient-storybook-types/ @elastic/kibana-operations -/packages/kbn-bazel-packages/ @elastic/kibana-operations -/packages/kbn-bazel-runner/ @elastic/kibana-operations -/packages/kbn-cli-dev-mode/ @elastic/kibana-operations -/packages/kbn-dev-utils*/ @elastic/kibana-operations -/packages/kbn-es-archiver/ @elastic/kibana-operations -/packages/kbn-es/ @elastic/kibana-operations -/packages/kbn-eslint-plugin-imports/ @elastic/kibana-operations -/packages/kbn-generate/ @elastic/kibana-operations -/packages/kbn-import-resolver/ @elastic/kibana-operations -/packages/kbn-optimizer/ @elastic/kibana-operations -/packages/kbn-plugin-discovery/ @elastic/kibana-operations -/packages/kbn-pm/ @elastic/kibana-operations -/packages/kbn-test/ @elastic/kibana-operations -/packages/kbn-type-summarizer*/ @elastic/kibana-operations -/packages/kbn-ui-shared-deps-npm/ @elastic/kibana-operations -/packages/kbn-ui-shared-deps-src/ @elastic/kibana-operations -/packages/kbn-utils/ @elastic/kibana-operations -/packages/kbn-jsonc/ @elastic/kibana-operations -/packages/kbn-kibana-manifest-parser/ @elastic/kibana-operations -/packages/kbn-kibana-manifest-schema/ @elastic/kibana-operations -/packages/kbn-managed-vscode-config/ @elastic/kibana-operations -/packages/kbn-managed-vscode-config-cli/ @elastic/kibana-operations /src/cli/keystore/ @elastic/kibana-operations /.ci/es-snapshots/ @elastic/kibana-operations /.github/workflows/ @elastic/kibana-operations @@ -277,12 +238,8 @@ x-pack/examples/files_example @elastic/kibana-app-services /.bazelrc.common @elastic/kibana-operations /.bazelversion @elastic/kibana-operations /WORKSPACE.bazel @elastic/kibana-operations -#CC# /packages/kbn-expect/ @elastic/kibana-operations /.buildkite/ @elastic/kibana-operations -# Performance testing -/packages/kbn-performance-testing-dataset-extractor/ @elastic/kibana-performance-testing - # Quality Assurance /src/dev/code_coverage @elastic/kibana-qa /vars/*Coverage.groovy @elastic/kibana-qa @@ -307,15 +264,6 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/plugins/saved_objects_tagging/ @elastic/kibana-core /x-pack/test/saved_objects_field_count/ @elastic/kibana-core /x-pack/test/saved_object_tagging/ @elastic/kibana-core -/packages/core/ @elastic/kibana-core -/packages/analytics/ @elastic/kibana-core -/packages/kbn-config-schema/ @elastic/kibana-core -/packages/kbn-std/ @elastic/kibana-core -/packages/kbn-config/ @elastic/kibana-core -/packages/kbn-logging/ @elastic/kibana-core -/packages/kbn-logging-mocks/ @elastic/kibana-core -/packages/kbn-server-http-tools/ @elastic/kibana-core -/packages/kbn-es-errors/ @elastic/kibana-core /src/plugins/saved_objects_management/ @elastic/kibana-core /src/plugins/advanced_settings/ @elastic/kibana-core /x-pack/plugins/global_search_bar/ @elastic/kibana-core @@ -328,12 +276,7 @@ x-pack/examples/files_example @elastic/kibana-app-services #CC# /src/plugins/newsfeed @elastic/kibana-core #CC# /x-pack/plugins/global_search_providers/ @elastic/kibana-core -# Kibana Docs -/packages/kbn-doc-links/ @elastic/kibana-docs - # Kibana Telemetry -/packages/kbn-analytics/ @elastic/kibana-core -/packages/kbn-telemetry-tools/ @elastic/kibana-core /src/plugins/kibana_usage_collection/ @elastic/kibana-core /src/plugins/newsfeed/ @elastic/kibana-core /src/plugins/telemetry/ @elastic/kibana-core @@ -349,14 +292,9 @@ x-pack/examples/files_example @elastic/kibana-app-services # Kibana Localization /src/dev/i18n/ @elastic/kibana-localization @elastic/kibana-core /src/core/public/i18n/ @elastic/kibana-localization @elastic/kibana-core -/packages/kbn-i18n/ @elastic/kibana-localization @elastic/kibana-core #CC# /x-pack/plugins/translations/ @elastic/kibana-localization @elastic/kibana-core # Kibana Platform Security -/packages/kbn-crypto/ @elastic/kibana-security -/packages/kbn-handlebars/ @elastic/kibana-security -/packages/kbn-user-profile-components/ @elastic/kibana-security -/packages/core/http/core-http-server-internal/src/csp/ @elastic/kibana-security @elastic/kibana-core /src/plugins/interactive_setup/ @elastic/kibana-security /src/plugins/telemetry/server/config/telemetry_labels.ts @elastic/kibana-security /test/interactive_setup_api_integration/ @elastic/kibana-security @@ -421,7 +359,6 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/plugins/upgrade_assistant/ @elastic/platform-deployment-management /x-pack/plugins/watcher/ @elastic/platform-deployment-management /x-pack/plugins/ingest_pipelines/ @elastic/platform-deployment-management -/packages/kbn-ace/ @elastic/platform-deployment-management #CC# /x-pack/plugins/cross_cluster_replication/ @elastic/platform-deployment-management # Security Solution @@ -559,7 +496,6 @@ x-pack/examples/files_example @elastic/kibana-app-services /x-pack/plugins/security_solution/public/common/components/sourcerer @elastic/security-solution-platform /x-pack/plugins/security_solution/server/lib/sourcerer @elastic/security-solution-platform -/packages/kbn-securitysolution* @elastic/security-solution-platform ## Security Threat Intelligence - Under Security Platform /x-pack/plugins/security_solution/public/common/components/threat_match @elastic/security-solution-platform @@ -637,7 +573,6 @@ x-pack/test/threat_intelligence_cypress @elastic/protections-experience # Design (at the bottom for specificity of SASS files) **/*.scss @elastic/kibana-design -#CC# /packages/kbn-ui-framework/ @elastic/kibana-design # Observability design /x-pack/plugins/apm/**/*.scss @elastic/observability-design @@ -680,16 +615,11 @@ x-pack/test/threat_intelligence_cypress @elastic/protections-experience # Application Experience -## Shared UX Team -/packages/shared-ux/ @elastic/shared-ux -/packages/shared-ux-*/ @elastic/shared-ux - ### Kibana React (to be deprecated) /src/plugins/kibana_react/ @elastic/shared-ux /src/plugins/kibana_react/public/code_editor @elastic/shared-ux @elastic/kibana-presentation ### Home Plugin and Packages -/packages/home/ @elastic/shared-ux /src/plugins/home/public @elastic/shared-ux /src/plugins/home/server/*.ts @elastic/shared-ux /src/plugins/home/server/services/ @elastic/shared-ux @@ -704,3 +634,306 @@ x-pack/test/threat_intelligence_cypress @elastic/protections-experience #CC# /src/plugins/home/public @elastic/shared-ux #CC# /src/plugins/home/server/services/ @elastic/shared-ux #CC# /src/plugins/home/ @elastic/shared-ux + +#### +## Everything below this comment is automatically generated based on kibana.jsonc +## "owner" fields. This file is automatically updated by CI or can be updated locally +## by running `node scripts/generate codeowners`. +#### + +packages/analytics/client @elastic/kibana-core +packages/analytics/shippers/elastic_v3/browser @elastic/kibana-core +packages/analytics/shippers/elastic_v3/common @elastic/kibana-core +packages/analytics/shippers/elastic_v3/server @elastic/kibana-core +packages/analytics/shippers/fullstory @elastic/kibana-core +packages/core/analytics/core-analytics-browser @elastic/kibana-core +packages/core/analytics/core-analytics-browser-internal @elastic/kibana-core +packages/core/analytics/core-analytics-browser-mocks @elastic/kibana-core +packages/core/analytics/core-analytics-server @elastic/kibana-core +packages/core/analytics/core-analytics-server-internal @elastic/kibana-core +packages/core/analytics/core-analytics-server-mocks @elastic/kibana-core +packages/core/application/core-application-browser @elastic/kibana-core +packages/core/application/core-application-browser-internal @elastic/kibana-core +packages/core/application/core-application-browser-mocks @elastic/kibana-core +packages/core/application/core-application-common @elastic/kibana-core +packages/core/base/core-base-browser-internal @elastic/kibana-core +packages/core/base/core-base-browser-mocks @elastic/kibana-core +packages/core/base/core-base-common @elastic/kibana-core +packages/core/base/core-base-common-internal @elastic/kibana-core +packages/core/base/core-base-server-internal @elastic/kibana-core +packages/core/base/core-base-server-mocks @elastic/kibana-core +packages/core/capabilities/core-capabilities-browser-internal @elastic/kibana-core +packages/core/capabilities/core-capabilities-browser-mocks @elastic/kibana-core +packages/core/capabilities/core-capabilities-common @elastic/kibana-core +packages/core/capabilities/core-capabilities-server @elastic/kibana-core +packages/core/capabilities/core-capabilities-server-internal @elastic/kibana-core +packages/core/capabilities/core-capabilities-server-mocks @elastic/kibana-core +packages/core/chrome/core-chrome-browser @elastic/kibana-core +packages/core/chrome/core-chrome-browser-internal @elastic/kibana-core +packages/core/chrome/core-chrome-browser-mocks @elastic/kibana-core +packages/core/config/core-config-server-internal @elastic/kibana-core +packages/core/deprecations/core-deprecations-browser @elastic/kibana-core +packages/core/deprecations/core-deprecations-browser-internal @elastic/kibana-core +packages/core/deprecations/core-deprecations-browser-mocks @elastic/kibana-core +packages/core/deprecations/core-deprecations-common @elastic/kibana-core +packages/core/deprecations/core-deprecations-server @elastic/kibana-core +packages/core/deprecations/core-deprecations-server-internal @elastic/kibana-core +packages/core/deprecations/core-deprecations-server-mocks @elastic/kibana-core +packages/core/doc-links/core-doc-links-browser @elastic/kibana-core +packages/core/doc-links/core-doc-links-browser-internal @elastic/kibana-core +packages/core/doc-links/core-doc-links-browser-mocks @elastic/kibana-core +packages/core/doc-links/core-doc-links-server @elastic/kibana-core +packages/core/doc-links/core-doc-links-server-internal @elastic/kibana-core +packages/core/doc-links/core-doc-links-server-mocks @elastic/kibana-core +packages/core/elasticsearch/core-elasticsearch-client-server-internal @elastic/kibana-core +packages/core/elasticsearch/core-elasticsearch-client-server-mocks @elastic/kibana-core +packages/core/elasticsearch/core-elasticsearch-server @elastic/kibana-core +packages/core/elasticsearch/core-elasticsearch-server-internal @elastic/kibana-core +packages/core/elasticsearch/core-elasticsearch-server-mocks @elastic/kibana-core +packages/core/environment/core-environment-server-internal @elastic/kibana-core +packages/core/environment/core-environment-server-mocks @elastic/kibana-core +packages/core/execution-context/core-execution-context-browser @elastic/kibana-core +packages/core/execution-context/core-execution-context-browser-internal @elastic/kibana-core +packages/core/execution-context/core-execution-context-browser-mocks @elastic/kibana-core +packages/core/execution-context/core-execution-context-common @elastic/kibana-core +packages/core/execution-context/core-execution-context-server @elastic/kibana-core +packages/core/execution-context/core-execution-context-server-internal @elastic/kibana-core +packages/core/execution-context/core-execution-context-server-mocks @elastic/kibana-core +packages/core/fatal-errors/core-fatal-errors-browser @elastic/kibana-core +packages/core/fatal-errors/core-fatal-errors-browser-internal @elastic/kibana-core +packages/core/fatal-errors/core-fatal-errors-browser-mocks @elastic/kibana-core +packages/core/http/core-http-browser @elastic/kibana-core +packages/core/http/core-http-browser-internal @elastic/kibana-core +packages/core/http/core-http-browser-mocks @elastic/kibana-core +packages/core/http/core-http-common @elastic/kibana-core +packages/core/http/core-http-context-server-internal @elastic/kibana-core +packages/core/http/core-http-context-server-mocks @elastic/kibana-core +packages/core/http/core-http-router-server-internal @elastic/kibana-core +packages/core/http/core-http-router-server-mocks @elastic/kibana-core +packages/core/http/core-http-server @elastic/kibana-core +packages/core/http/core-http-server-internal @elastic/kibana-core +packages/core/http/core-http-server-mocks @elastic/kibana-core +packages/core/i18n/core-i18n-browser @elastic/kibana-core +packages/core/i18n/core-i18n-browser-internal @elastic/kibana-core +packages/core/i18n/core-i18n-browser-mocks @elastic/kibana-core +packages/core/i18n/core-i18n-server @elastic/kibana-core +packages/core/i18n/core-i18n-server-internal @elastic/kibana-core +packages/core/i18n/core-i18n-server-mocks @elastic/kibana-core +packages/core/injected-metadata/core-injected-metadata-browser @elastic/kibana-core +packages/core/injected-metadata/core-injected-metadata-browser-internal @elastic/kibana-core +packages/core/injected-metadata/core-injected-metadata-browser-mocks @elastic/kibana-core +packages/core/injected-metadata/core-injected-metadata-common-internal @elastic/kibana-core +packages/core/integrations/core-integrations-browser-internal @elastic/kibana-core +packages/core/integrations/core-integrations-browser-mocks @elastic/kibana-core +packages/core/logging/core-logging-server @elastic/kibana-core +packages/core/logging/core-logging-server-internal @elastic/kibana-core +packages/core/logging/core-logging-server-mocks @elastic/kibana-core +packages/core/metrics/core-metrics-collectors-server-internal @elastic/kibana-core +packages/core/metrics/core-metrics-collectors-server-mocks @elastic/kibana-core +packages/core/metrics/core-metrics-server @elastic/kibana-core +packages/core/metrics/core-metrics-server-internal @elastic/kibana-core +packages/core/metrics/core-metrics-server-mocks @elastic/kibana-core +packages/core/mount-utils/core-mount-utils-browser @elastic/kibana-core +packages/core/mount-utils/core-mount-utils-browser-internal @elastic/kibana-core +packages/core/node/core-node-server @elastic/kibana-core +packages/core/node/core-node-server-internal @elastic/kibana-core +packages/core/node/core-node-server-mocks @elastic/kibana-core +packages/core/notifications/core-notifications-browser @elastic/kibana-core +packages/core/notifications/core-notifications-browser-internal @elastic/kibana-core +packages/core/notifications/core-notifications-browser-mocks @elastic/kibana-core +packages/core/overlays/core-overlays-browser @elastic/kibana-core +packages/core/overlays/core-overlays-browser-internal @elastic/kibana-core +packages/core/overlays/core-overlays-browser-mocks @elastic/kibana-core +packages/core/preboot/core-preboot-server @elastic/kibana-core +packages/core/preboot/core-preboot-server-internal @elastic/kibana-core +packages/core/preboot/core-preboot-server-mocks @elastic/kibana-core +packages/core/rendering/core-rendering-browser-internal @elastic/kibana-core +packages/core/rendering/core-rendering-browser-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-api-browser @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-api-server @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-api-server-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-api-server-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-base-server-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-base-server-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-browser @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-browser-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-browser-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-common @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-import-export-server-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-import-export-server-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-migration-server-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-migration-server-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-server @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-server-internal @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-server-mocks @elastic/kibana-core +packages/core/saved-objects/core-saved-objects-utils-server @elastic/kibana-core +packages/core/test-helpers/core-test-helpers-deprecations-getters @elastic/kibana-core +packages/core/test-helpers/core-test-helpers-http-setup-browser @elastic/kibana-core +packages/core/theme/core-theme-browser @elastic/kibana-core +packages/core/theme/core-theme-browser-internal @elastic/kibana-core +packages/core/theme/core-theme-browser-mocks @elastic/kibana-core +packages/core/ui-settings/core-ui-settings-browser @elastic/kibana-core +packages/core/ui-settings/core-ui-settings-browser-internal @elastic/kibana-core +packages/core/ui-settings/core-ui-settings-browser-mocks @elastic/kibana-core +packages/core/ui-settings/core-ui-settings-common @elastic/kibana-core +packages/core/usage-data/core-usage-data-base-server-internal @elastic/kibana-core +packages/core/usage-data/core-usage-data-server @elastic/kibana-core +packages/core/usage-data/core-usage-data-server-internal @elastic/kibana-core +packages/core/usage-data/core-usage-data-server-mocks @elastic/kibana-core +packages/home/sample_data_card @elastic/shared-ux +packages/home/sample_data_tab @elastic/shared-ux +packages/home/sample_data_types @elastic/shared-ux +packages/kbn-ace @elastic/platform-deployment-management +packages/kbn-alerts @elastic/security-solution +packages/kbn-ambient-storybook-types @elastic/kibana-operations +packages/kbn-ambient-ui-types @elastic/kibana-operations +packages/kbn-analytics @elastic/kibana-core +packages/kbn-apm-config-loader @elastic/kibana-core +packages/kbn-apm-synthtrace @elastic/apm-ui +packages/kbn-apm-utils @elastic/apm-ui +packages/kbn-axe-config @elastic/kibana-qa +packages/kbn-babel-plugin-synthetic-packages @elastic/kibana-operations +packages/kbn-babel-preset @elastic/kibana-operations +packages/kbn-bazel-packages @elastic/kibana-operations +packages/kbn-bazel-runner @elastic/kibana-operations +packages/kbn-chart-icons @elastic/kibana-vis-editors +packages/kbn-ci-stats-core @elastic/kibana-operations +packages/kbn-ci-stats-performance-metrics @elastic/kibana-operations +packages/kbn-ci-stats-reporter @elastic/kibana-operations +packages/kbn-cli-dev-mode @elastic/kibana-operations +packages/kbn-coloring @elastic/kibana-vis-editors +packages/kbn-config @elastic/kibana-core +packages/kbn-config-mocks @elastic/kibana-core +packages/kbn-config-schema @elastic/kibana-core +packages/kbn-crypto @elastic/kibana-security +packages/kbn-crypto-browser @elastic/kibana-core +packages/kbn-datemath @elastic/kibana-app-services +packages/kbn-dev-cli-errors @elastic/kibana-operations +packages/kbn-dev-cli-runner @elastic/kibana-operations +packages/kbn-dev-proc-runner @elastic/kibana-operations +packages/kbn-dev-utils @elastic/kibana-operations +packages/kbn-doc-links @elastic/kibana-docs +packages/kbn-docs-utils @elastic/kibana-operations +packages/kbn-ebt-tools @elastic/kibana-core +packages/kbn-es @elastic/kibana-operations +packages/kbn-es-archiver @elastic/kibana-operations +packages/kbn-es-errors @elastic/kibana-core +packages/kbn-es-query @elastic/kibana-app-services +packages/kbn-eslint-config @elastic/kibana-operations +packages/kbn-eslint-plugin-disable @elastic/kibana-operations +packages/kbn-eslint-plugin-eslint @elastic/kibana-operations +packages/kbn-eslint-plugin-imports @elastic/kibana-operations +packages/kbn-expect @elastic/kibana-operations +packages/kbn-field-types @elastic/kibana-app-services +packages/kbn-find-used-node-modules @elastic/kibana-operations +packages/kbn-flot-charts @elastic/kibana-operations +packages/kbn-generate @elastic/kibana-operations +packages/kbn-get-repo-files @elastic/kibana-operations +packages/kbn-handlebars @elastic/kibana-security +packages/kbn-hapi-mocks @elastic/kibana-core +packages/kbn-i18n @elastic/kibana-core +packages/kbn-i18n-react @elastic/kibana-core +packages/kbn-import-resolver @elastic/kibana-operations +packages/kbn-interpreter @elastic/kibana-app-services +packages/kbn-io-ts-utils @elastic/apm-ui +packages/kbn-jest-serializers @elastic/kibana-operations +packages/kbn-kibana-manifest-schema @elastic/kibana-operations +packages/kbn-logging @elastic/kibana-core +packages/kbn-logging-mocks @elastic/kibana-core +packages/kbn-managed-vscode-config @elastic/kibana-operations +packages/kbn-managed-vscode-config-cli @elastic/kibana-operations +packages/kbn-mapbox-gl @elastic/kibana-gis +packages/kbn-monaco @elastic/kibana-app-services +packages/kbn-optimizer @elastic/kibana-operations +packages/kbn-optimizer-webpack-helpers @elastic/kibana-operations +packages/kbn-performance-testing-dataset-extractor @elastic/kibana-performance-testing +packages/kbn-plugin-discovery @elastic/kibana-operations +packages/kbn-plugin-generator @elastic/kibana-operations +packages/kbn-plugin-helpers @elastic/kibana-operations +packages/kbn-react-field @elastic/kibana-app-services +packages/kbn-repo-source-classifier @elastic/kibana-operations +packages/kbn-repo-source-classifier-cli @elastic/kibana-operations +packages/kbn-rule-data-utils @elastic/apm-ui +packages/kbn-safer-lodash-set @elastic/kibana-security +packages/kbn-securitysolution-autocomplete @elastic/security-solution-platform +packages/kbn-securitysolution-es-utils @elastic/security-solution-platform +packages/kbn-securitysolution-hook-utils @elastic/security-solution-platform +packages/kbn-securitysolution-io-ts-alerting-types @elastic/security-solution-platform +packages/kbn-securitysolution-io-ts-list-types @elastic/security-solution-platform +packages/kbn-securitysolution-io-ts-types @elastic/security-solution-platform +packages/kbn-securitysolution-io-ts-utils @elastic/security-solution-platform +packages/kbn-securitysolution-list-api @elastic/security-solution-platform +packages/kbn-securitysolution-list-constants @elastic/security-solution-platform +packages/kbn-securitysolution-list-hooks @elastic/security-solution-platform +packages/kbn-securitysolution-list-utils @elastic/security-solution-platform +packages/kbn-securitysolution-rules @elastic/security-solution-platform +packages/kbn-securitysolution-t-grid @elastic/security-solution-platform +packages/kbn-securitysolution-utils @elastic/security-solution-platform +packages/kbn-server-http-tools @elastic/kibana-core +packages/kbn-server-route-repository @elastic/apm-ui +packages/kbn-shared-svg @elastic/apm-ui +packages/kbn-shared-ux-utility @elastic/shared-ux +packages/kbn-some-dev-log @elastic/kibana-operations +packages/kbn-sort-package-json @elastic/kibana-operations +packages/kbn-spec-to-console @elastic/platform-deployment-management +packages/kbn-std @elastic/kibana-core +packages/kbn-stdio-dev-helpers @elastic/kibana-operations +packages/kbn-storybook @elastic/kibana-operations +packages/kbn-synthetic-package-map @elastic/kibana-operations +packages/kbn-telemetry-tools @elastic/kibana-core +packages/kbn-test @elastic/kibana-operations +packages/kbn-test-jest-helpers @elastic/kibana-operations +packages/kbn-test-subj-selector @elastic/kibana-operations +packages/kbn-timelion-grammar @elastic/kibana-vis-editors +packages/kbn-tinymath @elastic/kibana-vis-editors +packages/kbn-tooling-log @elastic/kibana-operations +packages/kbn-type-summarizer @elastic/kibana-operations +packages/kbn-type-summarizer-cli @elastic/kibana-operations +packages/kbn-type-summarizer-core @elastic/kibana-operations +packages/kbn-typed-react-router-config @elastic/apm-ui +packages/kbn-ui-framework @elastic/kibana-design +packages/kbn-ui-shared-deps-npm @elastic/kibana-operations +packages/kbn-ui-shared-deps-src @elastic/kibana-operations +packages/kbn-ui-theme @elastic/kibana-operations +packages/kbn-user-profile-components @elastic/kibana-security +packages/kbn-utility-types @elastic/kibana-core +packages/kbn-utility-types-jest @elastic/kibana-operations +packages/kbn-utils @elastic/kibana-operations +packages/kbn-yarn-lock-validator @elastic/kibana-operations +packages/shared-ux/avatar/solution @elastic/shared-ux +packages/shared-ux/button_toolbar @elastic/shared-ux +packages/shared-ux/button/exit_full_screen/impl @elastic/shared-ux +packages/shared-ux/button/exit_full_screen/mocks @elastic/shared-ux +packages/shared-ux/button/exit_full_screen/types @elastic/shared-ux +packages/shared-ux/card/no_data/impl @elastic/shared-ux +packages/shared-ux/card/no_data/mocks @elastic/shared-ux +packages/shared-ux/card/no_data/types @elastic/shared-ux +packages/shared-ux/link/redirect_app/impl @elastic/shared-ux +packages/shared-ux/link/redirect_app/mocks @elastic/shared-ux +packages/shared-ux/link/redirect_app/types @elastic/shared-ux +packages/shared-ux/page/analytics_no_data/impl @elastic/shared-ux +packages/shared-ux/page/analytics_no_data/mocks @elastic/shared-ux +packages/shared-ux/page/analytics_no_data/types @elastic/shared-ux +packages/shared-ux/page/kibana_no_data/impl @elastic/shared-ux +packages/shared-ux/page/kibana_no_data/mocks @elastic/shared-ux +packages/shared-ux/page/kibana_no_data/types @elastic/shared-ux +packages/shared-ux/page/kibana_template/impl @elastic/shared-ux +packages/shared-ux/page/kibana_template/mocks @elastic/shared-ux +packages/shared-ux/page/kibana_template/types @elastic/shared-ux +packages/shared-ux/page/no_data_config/impl @elastic/shared-ux +packages/shared-ux/page/no_data_config/mocks @elastic/shared-ux +packages/shared-ux/page/no_data_config/types @elastic/shared-ux +packages/shared-ux/page/no_data/impl @elastic/shared-ux +packages/shared-ux/page/no_data/mocks @elastic/shared-ux +packages/shared-ux/page/no_data/types @elastic/shared-ux +packages/shared-ux/page/solution_nav @elastic/shared-ux +packages/shared-ux/prompt/no_data_views/impl @elastic/shared-ux +packages/shared-ux/prompt/no_data_views/mocks @elastic/shared-ux +packages/shared-ux/prompt/no_data_views/types @elastic/shared-ux +packages/shared-ux/storybook/config @elastic/shared-ux +packages/shared-ux/storybook/mock @elastic/shared-ux +x-pack/packages/ml/agg_utils @elastic/ml-ui +x-pack/packages/ml/aiops_components @elastic/ml-ui +x-pack/packages/ml/aiops_utils @elastic/ml-ui +x-pack/packages/ml/is_populated_object @elastic/ml-ui +x-pack/packages/ml/string_hash @elastic/ml-ui diff --git a/dev_docs/contributing/code_walkthrough.mdx b/dev_docs/contributing/code_walkthrough.mdx index bae394887c20e..617b54e519f13 100644 --- a/dev_docs/contributing/code_walkthrough.mdx +++ b/dev_docs/contributing/code_walkthrough.mdx @@ -21,7 +21,7 @@ Managed by the operations team to contain Jenkins settings. Can be ignored by fo ## [.github](https://github.com/elastic/kibana/tree/main/.github) -Contains GitHub configuration settings. This file contains issue templates, and the [CODEOWNERS](https://github.com/elastic/kibana/blob/main/.github/CODEOWNERS) file. It's important for teams to keep the CODEOWNERS file up-to-date so the right team is pinged for a code owner review on PRs that edit certain files. Note that the `CODEOWNERS` file only exists on the main branch, and is not backported to other branches in the repo. +Contains GitHub configuration settings. This file contains issue templates, and the [CODEOWNERS](https://github.com/elastic/kibana/blob/main/.github/CODEOWNERS) file. It's important for teams to keep the CODEOWNERS file up-to-date so the right team is pinged for a code owner review on PRs that edit certain files. Note that the `CODEOWNERS` file only exists on the main branch, and is not backported to other branches in the repo. To aid in making sure the `CODEOWNERS` file is always up-to-date "packages" in the Kibana repo are required to have an "owner" defined, those owners are then injected into the CODEOWNERS files automatically by the `node scripts/generate codeowners` command. ## [api_docs](https://github.com/elastic/kibana/tree/main/api_docs) diff --git a/kbn_pm/src/commands/run_in_packages_command.mjs b/kbn_pm/src/commands/run_in_packages_command.mjs index 78a168463e6db..7106722237e6e 100644 --- a/kbn_pm/src/commands/run_in_packages_command.mjs +++ b/kbn_pm/src/commands/run_in_packages_command.mjs @@ -41,11 +41,11 @@ export const command = { const { discoverBazelPackages } = await import('@kbn/bazel-packages'); const packages = await discoverBazelPackages(REPO_ROOT); - for (const { pkg, normalizedRepoRelativeDir } of packages) { + for (const { manifest, pkg, normalizedRepoRelativeDir } of packages) { if ( - exclude.includes(pkg.name) || - (include.length && !include.includes(pkg.name)) || - !pkg.scripts || + exclude.includes(manifest.id) || + (include.length && !include.includes(manifest.id)) || + !pkg?.scripts || !Object.hasOwn(pkg.scripts, scriptName) ) { continue; diff --git a/package.json b/package.json index 92dc1590d9a51..6437959dbf534 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,6 @@ "@kbn/analytics-shippers-elastic-v3-server": "link:bazel-bin/packages/analytics/shippers/elastic_v3/server", "@kbn/analytics-shippers-fullstory": "link:bazel-bin/packages/analytics/shippers/fullstory", "@kbn/apm-config-loader": "link:bazel-bin/packages/kbn-apm-config-loader", - "@kbn/apm-synthtrace": "link:bazel-bin/packages/kbn-apm-synthtrace", "@kbn/apm-utils": "link:bazel-bin/packages/kbn-apm-utils", "@kbn/chart-icons": "link:bazel-bin/packages/kbn-chart-icons", "@kbn/coloring": "link:bazel-bin/packages/kbn-coloring", @@ -290,8 +289,6 @@ "@kbn/ebt-tools": "link:bazel-bin/packages/kbn-ebt-tools", "@kbn/es-errors": "link:bazel-bin/packages/kbn-es-errors", "@kbn/es-query": "link:bazel-bin/packages/kbn-es-query", - "@kbn/eslint-plugin-disable": "link:bazel-bin/packages/kbn-eslint-plugin-disable", - "@kbn/eslint-plugin-imports": "link:bazel-bin/packages/kbn-eslint-plugin-imports", "@kbn/field-types": "link:bazel-bin/packages/kbn-field-types", "@kbn/flot-charts": "link:bazel-bin/packages/kbn-flot-charts", "@kbn/handlebars": "link:bazel-bin/packages/kbn-handlebars", @@ -303,9 +300,6 @@ "@kbn/i18n-react": "link:bazel-bin/packages/kbn-i18n-react", "@kbn/interpreter": "link:bazel-bin/packages/kbn-interpreter", "@kbn/io-ts-utils": "link:bazel-bin/packages/kbn-io-ts-utils", - "@kbn/jsonc": "link:bazel-bin/packages/kbn-jsonc", - "@kbn/kibana-manifest-parser": "link:bazel-bin/packages/kbn-kibana-manifest-parser", - "@kbn/kibana-manifest-schema": "link:bazel-bin/packages/kbn-kibana-manifest-schema", "@kbn/logging": "link:bazel-bin/packages/kbn-logging", "@kbn/logging-mocks": "link:bazel-bin/packages/kbn-logging-mocks", "@kbn/mapbox-gl": "link:bazel-bin/packages/kbn-mapbox-gl", @@ -665,6 +659,7 @@ "@jest/types": "^26", "@kbn/ambient-storybook-types": "link:bazel-bin/packages/kbn-ambient-storybook-types", "@kbn/ambient-ui-types": "link:bazel-bin/packages/kbn-ambient-ui-types", + "@kbn/apm-synthtrace": "link:bazel-bin/packages/kbn-apm-synthtrace", "@kbn/axe-config": "link:bazel-bin/packages/kbn-axe-config", "@kbn/babel-plugin-synthetic-packages": "link:bazel-bin/packages/kbn-babel-plugin-synthetic-packages", "@kbn/babel-preset": "link:bazel-bin/packages/kbn-babel-preset", @@ -682,13 +677,16 @@ "@kbn/es": "link:bazel-bin/packages/kbn-es", "@kbn/es-archiver": "link:bazel-bin/packages/kbn-es-archiver", "@kbn/eslint-config": "link:bazel-bin/packages/kbn-eslint-config", + "@kbn/eslint-plugin-disable": "link:bazel-bin/packages/kbn-eslint-plugin-disable", "@kbn/eslint-plugin-eslint": "link:bazel-bin/packages/kbn-eslint-plugin-eslint", + "@kbn/eslint-plugin-imports": "link:bazel-bin/packages/kbn-eslint-plugin-imports", "@kbn/expect": "link:bazel-bin/packages/kbn-expect", "@kbn/find-used-node-modules": "link:bazel-bin/packages/kbn-find-used-node-modules", "@kbn/generate": "link:bazel-bin/packages/kbn-generate", "@kbn/get-repo-files": "link:bazel-bin/packages/kbn-get-repo-files", "@kbn/import-resolver": "link:bazel-bin/packages/kbn-import-resolver", "@kbn/jest-serializers": "link:bazel-bin/packages/kbn-jest-serializers", + "@kbn/kibana-manifest-schema": "link:bazel-bin/packages/kbn-kibana-manifest-schema", "@kbn/managed-vscode-config": "link:bazel-bin/packages/kbn-managed-vscode-config", "@kbn/managed-vscode-config-cli": "link:bazel-bin/packages/kbn-managed-vscode-config-cli", "@kbn/optimizer": "link:bazel-bin/packages/kbn-optimizer", @@ -1001,9 +999,7 @@ "@types/kbn__interpreter": "link:bazel-bin/packages/kbn-interpreter/npm_module_types", "@types/kbn__io-ts-utils": "link:bazel-bin/packages/kbn-io-ts-utils/npm_module_types", "@types/kbn__jest-serializers": "link:bazel-bin/packages/kbn-jest-serializers/npm_module_types", - "@types/kbn__jsonc": "link:bazel-bin/packages/kbn-jsonc/npm_module_types", "@types/kbn__kbn-ci-stats-performance-metrics": "link:bazel-bin/packages/kbn-kbn-ci-stats-performance-metrics/npm_module_types", - "@types/kbn__kibana-manifest-parser": "link:bazel-bin/packages/kbn-kibana-manifest-parser/npm_module_types", "@types/kbn__kibana-manifest-schema": "link:bazel-bin/packages/kbn-kibana-manifest-schema/npm_module_types", "@types/kbn__logging": "link:bazel-bin/packages/kbn-logging/npm_module_types", "@types/kbn__logging-mocks": "link:bazel-bin/packages/kbn-logging-mocks/npm_module_types", diff --git a/packages/BUILD.bazel b/packages/BUILD.bazel index b5bd2f384d76b..f297fcba23aa8 100644 --- a/packages/BUILD.bazel +++ b/packages/BUILD.bazel @@ -205,8 +205,6 @@ filegroup( "//packages/kbn-interpreter:build", "//packages/kbn-io-ts-utils:build", "//packages/kbn-jest-serializers:build", - "//packages/kbn-jsonc:build", - "//packages/kbn-kibana-manifest-parser:build", "//packages/kbn-kibana-manifest-schema:build", "//packages/kbn-logging:build", "//packages/kbn-logging-mocks:build", @@ -500,8 +498,6 @@ filegroup( "//packages/kbn-interpreter:build_types", "//packages/kbn-io-ts-utils:build_types", "//packages/kbn-jest-serializers:build_types", - "//packages/kbn-jsonc:build_types", - "//packages/kbn-kibana-manifest-parser:build_types", "//packages/kbn-kibana-manifest-schema:build_types", "//packages/kbn-logging:build_types", "//packages/kbn-logging-mocks:build_types", diff --git a/packages/analytics/client/kibana.jsonc b/packages/analytics/client/kibana.jsonc new file mode 100644 index 0000000000000..5f5aa11feb994 --- /dev/null +++ b/packages/analytics/client/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics-client", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc b/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc new file mode 100644 index 0000000000000..cefab4152c994 --- /dev/null +++ b/packages/analytics/shippers/elastic_v3/browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics-shippers-elastic-v3-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/analytics/shippers/elastic_v3/common/kibana.jsonc b/packages/analytics/shippers/elastic_v3/common/kibana.jsonc new file mode 100644 index 0000000000000..c347233693ff3 --- /dev/null +++ b/packages/analytics/shippers/elastic_v3/common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics-shippers-elastic-v3-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/analytics/shippers/elastic_v3/server/kibana.jsonc b/packages/analytics/shippers/elastic_v3/server/kibana.jsonc new file mode 100644 index 0000000000000..11c29924f3c21 --- /dev/null +++ b/packages/analytics/shippers/elastic_v3/server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics-shippers-elastic-v3-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/analytics/shippers/fullstory/kibana.jsonc b/packages/analytics/shippers/fullstory/kibana.jsonc new file mode 100644 index 0000000000000..5d8720fa7486c --- /dev/null +++ b/packages/analytics/shippers/fullstory/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics-shippers-fullstory", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..45bd5d5bc041a --- /dev/null +++ b/packages/core/analytics/core-analytics-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..2c3ce58f95d62 --- /dev/null +++ b/packages/core/analytics/core-analytics-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-browser/kibana.jsonc b/packages/core/analytics/core-analytics-browser/kibana.jsonc new file mode 100644 index 0000000000000..a17a1e5d5e94b --- /dev/null +++ b/packages/core/analytics/core-analytics-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-server-internal/kibana.jsonc b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..1ae2d06e0fa77 --- /dev/null +++ b/packages/core/analytics/core-analytics-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..9c49235144c4d --- /dev/null +++ b/packages/core/analytics/core-analytics-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/analytics/core-analytics-server/kibana.jsonc b/packages/core/analytics/core-analytics-server/kibana.jsonc new file mode 100644 index 0000000000000..d8faa138efc72 --- /dev/null +++ b/packages/core/analytics/core-analytics-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-analytics-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/application/core-application-browser-internal/kibana.jsonc b/packages/core/application/core-application-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..5ebb9290df118 --- /dev/null +++ b/packages/core/application/core-application-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-application-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/application/core-application-browser-mocks/kibana.jsonc b/packages/core/application/core-application-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..bdbeafdcc2652 --- /dev/null +++ b/packages/core/application/core-application-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-application-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/application/core-application-browser/kibana.jsonc b/packages/core/application/core-application-browser/kibana.jsonc new file mode 100644 index 0000000000000..6a8931fa36f74 --- /dev/null +++ b/packages/core/application/core-application-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-application-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/application/core-application-common/kibana.jsonc b/packages/core/application/core-application-common/kibana.jsonc new file mode 100644 index 0000000000000..da1cc4d8f7d9b --- /dev/null +++ b/packages/core/application/core-application-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-application-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-browser-internal/kibana.jsonc b/packages/core/base/core-base-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..7254343b42c5f --- /dev/null +++ b/packages/core/base/core-base-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-browser-mocks/kibana.jsonc b/packages/core/base/core-base-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..5911ba33ca9d4 --- /dev/null +++ b/packages/core/base/core-base-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-common-internal/kibana.jsonc b/packages/core/base/core-base-common-internal/kibana.jsonc new file mode 100644 index 0000000000000..61abd6d9a872c --- /dev/null +++ b/packages/core/base/core-base-common-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-common-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-common/kibana.jsonc b/packages/core/base/core-base-common/kibana.jsonc new file mode 100644 index 0000000000000..d72d5da919f1c --- /dev/null +++ b/packages/core/base/core-base-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-server-internal/kibana.jsonc b/packages/core/base/core-base-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..0a21a2b7e6384 --- /dev/null +++ b/packages/core/base/core-base-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/base/core-base-server-mocks/kibana.jsonc b/packages/core/base/core-base-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..762615e557b81 --- /dev/null +++ b/packages/core/base/core-base-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-base-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..48f55a81a7a68 --- /dev/null +++ b/packages/core/capabilities/core-capabilities-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..5e6ddff3a4283 --- /dev/null +++ b/packages/core/capabilities/core-capabilities-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-common/kibana.jsonc b/packages/core/capabilities/core-capabilities-common/kibana.jsonc new file mode 100644 index 0000000000000..5349e81ad3626 --- /dev/null +++ b/packages/core/capabilities/core-capabilities-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..3c464af07ea43 --- /dev/null +++ b/packages/core/capabilities/core-capabilities-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..5404ed714a6eb --- /dev/null +++ b/packages/core/capabilities/core-capabilities-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/capabilities/core-capabilities-server/kibana.jsonc b/packages/core/capabilities/core-capabilities-server/kibana.jsonc new file mode 100644 index 0000000000000..dc6e6ac3c1279 --- /dev/null +++ b/packages/core/capabilities/core-capabilities-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-capabilities-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..2d0a7bada7bb9 --- /dev/null +++ b/packages/core/chrome/core-chrome-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-chrome-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..5968ce1224da8 --- /dev/null +++ b/packages/core/chrome/core-chrome-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-chrome-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/chrome/core-chrome-browser/kibana.jsonc b/packages/core/chrome/core-chrome-browser/kibana.jsonc new file mode 100644 index 0000000000000..64eba06444507 --- /dev/null +++ b/packages/core/chrome/core-chrome-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-chrome-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/config/core-config-server-internal/kibana.jsonc b/packages/core/config/core-config-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..a6ba80afe9590 --- /dev/null +++ b/packages/core/config/core-config-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-config-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..c5bf07aa7052f --- /dev/null +++ b/packages/core/deprecations/core-deprecations-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..28424208cd582 --- /dev/null +++ b/packages/core/deprecations/core-deprecations-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-browser/kibana.jsonc b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc new file mode 100644 index 0000000000000..3e708f34935b5 --- /dev/null +++ b/packages/core/deprecations/core-deprecations-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-common/kibana.jsonc b/packages/core/deprecations/core-deprecations-common/kibana.jsonc new file mode 100644 index 0000000000000..60494dec2502f --- /dev/null +++ b/packages/core/deprecations/core-deprecations-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..367adb98a89b2 --- /dev/null +++ b/packages/core/deprecations/core-deprecations-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..fc56bc34368f1 --- /dev/null +++ b/packages/core/deprecations/core-deprecations-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/deprecations/core-deprecations-server/kibana.jsonc b/packages/core/deprecations/core-deprecations-server/kibana.jsonc new file mode 100644 index 0000000000000..96270007d4ad3 --- /dev/null +++ b/packages/core/deprecations/core-deprecations-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-deprecations-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..b72ad3a17021a --- /dev/null +++ b/packages/core/doc-links/core-doc-links-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..d1c5b7af28390 --- /dev/null +++ b/packages/core/doc-links/core-doc-links-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-browser/kibana.jsonc b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc new file mode 100644 index 0000000000000..68ed9f30aff6b --- /dev/null +++ b/packages/core/doc-links/core-doc-links-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..f2158ec018209 --- /dev/null +++ b/packages/core/doc-links/core-doc-links-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..5d61cf066d312 --- /dev/null +++ b/packages/core/doc-links/core-doc-links-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/doc-links/core-doc-links-server/kibana.jsonc b/packages/core/doc-links/core-doc-links-server/kibana.jsonc new file mode 100644 index 0000000000000..e0460f4da99bc --- /dev/null +++ b/packages/core/doc-links/core-doc-links-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-doc-links-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..e2393e888d5de --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-elasticsearch-client-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..ae267b45ddc1c --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-client-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-elasticsearch-client-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..34ea515ba045f --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-elasticsearch-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..d08d5d04cbb39 --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-elasticsearch-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc new file mode 100644 index 0000000000000..5bf72319cc41b --- /dev/null +++ b/packages/core/elasticsearch/core-elasticsearch-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-elasticsearch-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/environment/core-environment-server-internal/kibana.jsonc b/packages/core/environment/core-environment-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..9d8de1124ce0f --- /dev/null +++ b/packages/core/environment/core-environment-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-environment-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/environment/core-environment-server-mocks/kibana.jsonc b/packages/core/environment/core-environment-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..6644816727a70 --- /dev/null +++ b/packages/core/environment/core-environment-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-environment-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..1771d94a14b8a --- /dev/null +++ b/packages/core/execution-context/core-execution-context-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..8d27a9ec919dd --- /dev/null +++ b/packages/core/execution-context/core-execution-context-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-browser/kibana.jsonc b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc new file mode 100644 index 0000000000000..550d63fc67de1 --- /dev/null +++ b/packages/core/execution-context/core-execution-context-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-common/kibana.jsonc b/packages/core/execution-context/core-execution-context-common/kibana.jsonc new file mode 100644 index 0000000000000..d3cf33be164d2 --- /dev/null +++ b/packages/core/execution-context/core-execution-context-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..d344f53f34f57 --- /dev/null +++ b/packages/core/execution-context/core-execution-context-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..e73d0b4f9b216 --- /dev/null +++ b/packages/core/execution-context/core-execution-context-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/execution-context/core-execution-context-server/kibana.jsonc b/packages/core/execution-context/core-execution-context-server/kibana.jsonc new file mode 100644 index 0000000000000..5de7baaaccb32 --- /dev/null +++ b/packages/core/execution-context/core-execution-context-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-execution-context-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..76752593fd00c --- /dev/null +++ b/packages/core/fatal-errors/core-fatal-errors-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-fatal-errors-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..6109111801eb1 --- /dev/null +++ b/packages/core/fatal-errors/core-fatal-errors-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-fatal-errors-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc new file mode 100644 index 0000000000000..95423568bca93 --- /dev/null +++ b/packages/core/fatal-errors/core-fatal-errors-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-fatal-errors-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-browser-internal/kibana.jsonc b/packages/core/http/core-http-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..d5855d71ca178 --- /dev/null +++ b/packages/core/http/core-http-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-browser-mocks/kibana.jsonc b/packages/core/http/core-http-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..9819977cb419d --- /dev/null +++ b/packages/core/http/core-http-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-browser/kibana.jsonc b/packages/core/http/core-http-browser/kibana.jsonc new file mode 100644 index 0000000000000..87510d65336e3 --- /dev/null +++ b/packages/core/http/core-http-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-common/kibana.jsonc b/packages/core/http/core-http-common/kibana.jsonc new file mode 100644 index 0000000000000..bdf00df353c63 --- /dev/null +++ b/packages/core/http/core-http-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-context-server-internal/kibana.jsonc b/packages/core/http/core-http-context-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..18f306d721759 --- /dev/null +++ b/packages/core/http/core-http-context-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-context-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-context-server-mocks/kibana.jsonc b/packages/core/http/core-http-context-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..323d78350596b --- /dev/null +++ b/packages/core/http/core-http-context-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-context-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-router-server-internal/kibana.jsonc b/packages/core/http/core-http-router-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..5f7482d9fa06c --- /dev/null +++ b/packages/core/http/core-http-router-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-router-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-router-server-mocks/kibana.jsonc b/packages/core/http/core-http-router-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..a1883a9c92ff7 --- /dev/null +++ b/packages/core/http/core-http-router-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-router-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-server-internal/kibana.jsonc b/packages/core/http/core-http-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..0d1d5b04eaae2 --- /dev/null +++ b/packages/core/http/core-http-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-server-mocks/kibana.jsonc b/packages/core/http/core-http-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..598898176f62c --- /dev/null +++ b/packages/core/http/core-http-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/http/core-http-server/kibana.jsonc b/packages/core/http/core-http-server/kibana.jsonc new file mode 100644 index 0000000000000..da671fec6aaec --- /dev/null +++ b/packages/core/http/core-http-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-http-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..424e9d3dcdbcd --- /dev/null +++ b/packages/core/i18n/core-i18n-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..0f5b73ed3b453 --- /dev/null +++ b/packages/core/i18n/core-i18n-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-browser/kibana.jsonc b/packages/core/i18n/core-i18n-browser/kibana.jsonc new file mode 100644 index 0000000000000..dcbf951b201f1 --- /dev/null +++ b/packages/core/i18n/core-i18n-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-server-internal/kibana.jsonc b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..3b89a42976bbc --- /dev/null +++ b/packages/core/i18n/core-i18n-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..41ef001641b57 --- /dev/null +++ b/packages/core/i18n/core-i18n-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/i18n/core-i18n-server/kibana.jsonc b/packages/core/i18n/core-i18n-server/kibana.jsonc new file mode 100644 index 0000000000000..c32d5d9cd8e7b --- /dev/null +++ b/packages/core/i18n/core-i18n-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-i18n-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..d66f834c08eb3 --- /dev/null +++ b/packages/core/injected-metadata/core-injected-metadata-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-injected-metadata-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..cfbfae1b907e2 --- /dev/null +++ b/packages/core/injected-metadata/core-injected-metadata-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-injected-metadata-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/injected-metadata/core-injected-metadata-browser/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-browser/kibana.jsonc new file mode 100644 index 0000000000000..d10647084cd47 --- /dev/null +++ b/packages/core/injected-metadata/core-injected-metadata-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-injected-metadata-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc new file mode 100644 index 0000000000000..88943c788515f --- /dev/null +++ b/packages/core/injected-metadata/core-injected-metadata-common-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-injected-metadata-common-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..fd72743c08597 --- /dev/null +++ b/packages/core/integrations/core-integrations-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-integrations-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..a4bcddaecba14 --- /dev/null +++ b/packages/core/integrations/core-integrations-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-integrations-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/logging/core-logging-server-internal/kibana.jsonc b/packages/core/logging/core-logging-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..ec5ab06a6effd --- /dev/null +++ b/packages/core/logging/core-logging-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-logging-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/logging/core-logging-server-mocks/kibana.jsonc b/packages/core/logging/core-logging-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..83793b02fca6b --- /dev/null +++ b/packages/core/logging/core-logging-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-logging-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/logging/core-logging-server/kibana.jsonc b/packages/core/logging/core-logging-server/kibana.jsonc new file mode 100644 index 0000000000000..27dadd782dcdc --- /dev/null +++ b/packages/core/logging/core-logging-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-logging-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..39a1aff44dba5 --- /dev/null +++ b/packages/core/metrics/core-metrics-collectors-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-metrics-collectors-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..053d67afb5f68 --- /dev/null +++ b/packages/core/metrics/core-metrics-collectors-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-metrics-collectors-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/metrics/core-metrics-server-internal/kibana.jsonc b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..325f7e64bbb52 --- /dev/null +++ b/packages/core/metrics/core-metrics-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-metrics-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..6af29213a86ce --- /dev/null +++ b/packages/core/metrics/core-metrics-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-metrics-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/metrics/core-metrics-server/kibana.jsonc b/packages/core/metrics/core-metrics-server/kibana.jsonc new file mode 100644 index 0000000000000..64136f9466cb7 --- /dev/null +++ b/packages/core/metrics/core-metrics-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-metrics-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..c0853a96b395a --- /dev/null +++ b/packages/core/mount-utils/core-mount-utils-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-mount-utils-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc new file mode 100644 index 0000000000000..8f8977af53327 --- /dev/null +++ b/packages/core/mount-utils/core-mount-utils-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-mount-utils-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/node/core-node-server-internal/kibana.jsonc b/packages/core/node/core-node-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..dedee6005b483 --- /dev/null +++ b/packages/core/node/core-node-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-node-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/node/core-node-server-mocks/kibana.jsonc b/packages/core/node/core-node-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..7070f0218b1c9 --- /dev/null +++ b/packages/core/node/core-node-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-node-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/node/core-node-server/kibana.jsonc b/packages/core/node/core-node-server/kibana.jsonc new file mode 100644 index 0000000000000..a2322cffe8ac4 --- /dev/null +++ b/packages/core/node/core-node-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-node-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..03ad251d65c7b --- /dev/null +++ b/packages/core/notifications/core-notifications-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-notifications-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..d1c1d8f58f935 --- /dev/null +++ b/packages/core/notifications/core-notifications-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-notifications-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/notifications/core-notifications-browser/kibana.jsonc b/packages/core/notifications/core-notifications-browser/kibana.jsonc new file mode 100644 index 0000000000000..ae6140a86a200 --- /dev/null +++ b/packages/core/notifications/core-notifications-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-notifications-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..8890a3c132d66 --- /dev/null +++ b/packages/core/overlays/core-overlays-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-overlays-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..61b14d5cbc8b0 --- /dev/null +++ b/packages/core/overlays/core-overlays-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-overlays-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/overlays/core-overlays-browser/kibana.jsonc b/packages/core/overlays/core-overlays-browser/kibana.jsonc new file mode 100644 index 0000000000000..de43c7689f1fc --- /dev/null +++ b/packages/core/overlays/core-overlays-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-overlays-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/preboot/core-preboot-server-internal/kibana.jsonc b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..9a2eadb716ea8 --- /dev/null +++ b/packages/core/preboot/core-preboot-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-preboot-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..87a035b99530e --- /dev/null +++ b/packages/core/preboot/core-preboot-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-preboot-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/preboot/core-preboot-server/kibana.jsonc b/packages/core/preboot/core-preboot-server/kibana.jsonc new file mode 100644 index 0000000000000..e529cfdd65685 --- /dev/null +++ b/packages/core/preboot/core-preboot-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-preboot-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..aaca72f8b4843 --- /dev/null +++ b/packages/core/rendering/core-rendering-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-rendering-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..82b891ad721d3 --- /dev/null +++ b/packages/core/rendering/core-rendering-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-rendering-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc new file mode 100644 index 0000000000000..dc9bc275a4cb1 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-api-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..afef1f03740a0 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-api-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..beb632af28c08 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-api-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc new file mode 100644 index 0000000000000..08ebe81051b65 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-api-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..a14d74263ec95 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-base-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..deab59887d747 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-base-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..ec1e45b0ffb38 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..cf0623a36b708 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc new file mode 100644 index 0000000000000..923add888b03e --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc new file mode 100644 index 0000000000000..d82a9bf67d323 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..eabb9e670baf3 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-import-export-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..174960bd1aadc --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-import-export-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..4a04817a139c2 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-migration-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..b27f6951cb0d0 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-migration-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..43cadd207f914 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..c9cb96751b210 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc new file mode 100644 index 0000000000000..8e1a56b92f1f2 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc new file mode 100644 index 0000000000000..61d87e1fe9bdc --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-utils-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-saved-objects-utils-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc new file mode 100644 index 0000000000000..1c245768d3f7d --- /dev/null +++ b/packages/core/test-helpers/core-test-helpers-deprecations-getters/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-test-helpers-deprecations-getters", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc new file mode 100644 index 0000000000000..f5e257dd883a5 --- /dev/null +++ b/packages/core/test-helpers/core-test-helpers-http-setup-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-test-helpers-http-setup-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/theme/core-theme-browser-internal/kibana.jsonc b/packages/core/theme/core-theme-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..36842b069548b --- /dev/null +++ b/packages/core/theme/core-theme-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-theme-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/theme/core-theme-browser-mocks/kibana.jsonc b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..e46f0193c4068 --- /dev/null +++ b/packages/core/theme/core-theme-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-theme-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/theme/core-theme-browser/kibana.jsonc b/packages/core/theme/core-theme-browser/kibana.jsonc new file mode 100644 index 0000000000000..9dbe039d70640 --- /dev/null +++ b/packages/core/theme/core-theme-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-theme-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc new file mode 100644 index 0000000000000..9a46e97ec89af --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-ui-settings-browser-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc new file mode 100644 index 0000000000000..f6906835b648f --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-browser-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-ui-settings-browser-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc new file mode 100644 index 0000000000000..9129ef435fb67 --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-ui-settings-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc new file mode 100644 index 0000000000000..4d9b575423696 --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-common/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-ui-settings-common", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..d35d6c2bbd6d7 --- /dev/null +++ b/packages/core/usage-data/core-usage-data-base-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-usage-data-base-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc new file mode 100644 index 0000000000000..30bf6865b5bb4 --- /dev/null +++ b/packages/core/usage-data/core-usage-data-server-internal/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-usage-data-server-internal", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc new file mode 100644 index 0000000000000..f12bd25bee867 --- /dev/null +++ b/packages/core/usage-data/core-usage-data-server-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-usage-data-server-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/core/usage-data/core-usage-data-server/kibana.jsonc b/packages/core/usage-data/core-usage-data-server/kibana.jsonc new file mode 100644 index 0000000000000..a785db8090713 --- /dev/null +++ b/packages/core/usage-data/core-usage-data-server/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/core-usage-data-server", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/home/sample_data_card/kibana.jsonc b/packages/home/sample_data_card/kibana.jsonc new file mode 100644 index 0000000000000..2dd9813151b2c --- /dev/null +++ b/packages/home/sample_data_card/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/home-sample-data-card", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/home/sample_data_tab/kibana.jsonc b/packages/home/sample_data_tab/kibana.jsonc new file mode 100644 index 0000000000000..d734b947444a9 --- /dev/null +++ b/packages/home/sample_data_tab/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/home-sample-data-tab", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/home/sample_data_types/kibana.jsonc b/packages/home/sample_data_types/kibana.jsonc new file mode 100644 index 0000000000000..9b7458fe54946 --- /dev/null +++ b/packages/home/sample_data_types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/home-sample-data-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ace/kibana.jsonc b/packages/kbn-ace/kibana.jsonc new file mode 100644 index 0000000000000..25da4fe177ee2 --- /dev/null +++ b/packages/kbn-ace/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ace", + "owner": "@elastic/platform-deployment-management", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-alerts/kibana.jsonc b/packages/kbn-alerts/kibana.jsonc new file mode 100644 index 0000000000000..93b42c4ef86bf --- /dev/null +++ b/packages/kbn-alerts/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/alerts", + "owner": "@elastic/security-solution", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ambient-storybook-types/kibana.jsonc b/packages/kbn-ambient-storybook-types/kibana.jsonc new file mode 100644 index 0000000000000..d04a5a93e2960 --- /dev/null +++ b/packages/kbn-ambient-storybook-types/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/ambient-storybook-types", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ambient-storybook-types/package.json b/packages/kbn-ambient-storybook-types/package.json index 301d28d5e585c..9a29b8f60ccd1 100644 --- a/packages/kbn-ambient-storybook-types/package.json +++ b/packages/kbn-ambient-storybook-types/package.json @@ -2,8 +2,5 @@ "name": "@kbn/ambient-storybook-types", "private": true, "version": "1.0.0", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ambient-ui-types/kibana.jsonc b/packages/kbn-ambient-ui-types/kibana.jsonc new file mode 100644 index 0000000000000..1837bcfbd5619 --- /dev/null +++ b/packages/kbn-ambient-ui-types/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/ambient-ui-types", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ambient-ui-types/package.json b/packages/kbn-ambient-ui-types/package.json index ddeb5082cb41f..9ff278bf1dbe2 100644 --- a/packages/kbn-ambient-ui-types/package.json +++ b/packages/kbn-ambient-ui-types/package.json @@ -2,8 +2,5 @@ "name": "@kbn/ambient-ui-types", "private": true, "version": "1.0.0", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } \ No newline at end of file diff --git a/packages/kbn-analytics/kibana.jsonc b/packages/kbn-analytics/kibana.jsonc new file mode 100644 index 0000000000000..06320d851340b --- /dev/null +++ b/packages/kbn-analytics/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/analytics", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-apm-config-loader/kibana.jsonc b/packages/kbn-apm-config-loader/kibana.jsonc new file mode 100644 index 0000000000000..d817476c0b6db --- /dev/null +++ b/packages/kbn-apm-config-loader/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/apm-config-loader", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-apm-synthtrace/kibana.jsonc b/packages/kbn-apm-synthtrace/kibana.jsonc new file mode 100644 index 0000000000000..0bde4f9d7715a --- /dev/null +++ b/packages/kbn-apm-synthtrace/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/apm-synthtrace", + "devOnly": true, + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-apm-utils/kibana.jsonc b/packages/kbn-apm-utils/kibana.jsonc new file mode 100644 index 0000000000000..3db7022ea44c5 --- /dev/null +++ b/packages/kbn-apm-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/apm-utils", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-axe-config/kibana.jsonc b/packages/kbn-axe-config/kibana.jsonc new file mode 100644 index 0000000000000..f2444755f9096 --- /dev/null +++ b/packages/kbn-axe-config/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/axe-config", + "devOnly": true, + "owner": "@elastic/kibana-qa", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-axe-config/package.json b/packages/kbn-axe-config/package.json index c5b929478c3de..62dd325c3ca2f 100644 --- a/packages/kbn-axe-config/package.json +++ b/packages/kbn-axe-config/package.json @@ -4,8 +4,5 @@ "version": "1.0.0", "main": "./target_node/index.js", "browser": "./target_web/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc b/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc new file mode 100644 index 0000000000000..a426d7bec6a2b --- /dev/null +++ b/packages/kbn-babel-plugin-synthetic-packages/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/babel-plugin-synthetic-packages", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-babel-plugin-synthetic-packages/package.json b/packages/kbn-babel-plugin-synthetic-packages/package.json index f488064fc6100..89de157a11724 100644 --- a/packages/kbn-babel-plugin-synthetic-packages/package.json +++ b/packages/kbn-babel-plugin-synthetic-packages/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./babel_plugin_synthetic_packages.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-babel-preset/kibana.jsonc b/packages/kbn-babel-preset/kibana.jsonc new file mode 100644 index 0000000000000..fa4ca725c56de --- /dev/null +++ b/packages/kbn-babel-preset/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/babel-preset", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-babel-preset/package.json b/packages/kbn-babel-preset/package.json index e0b90d9e41ccd..1ff04ec1df122 100644 --- a/packages/kbn-babel-preset/package.json +++ b/packages/kbn-babel-preset/package.json @@ -2,8 +2,5 @@ "name": "@kbn/babel-preset", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-bazel-packages/index.js b/packages/kbn-bazel-packages/index.js index da3e620e14ef9..5849bd151c8ea 100644 --- a/packages/kbn-bazel-packages/index.js +++ b/packages/kbn-bazel-packages/index.js @@ -7,13 +7,26 @@ */ /** @typedef {import('./src/bazel_package').BazelPackage} BazelPackage */ +/** @typedef {import('./src/types').KibanaPackageManifest} KibanaPackageManifest */ +/** @typedef {import('./src/types').KibanaPackageType} KibanaPackageType */ +/** @typedef {import('./src/types').ParsedPackageJson} ParsedPackageJson */ const { BAZEL_PACKAGE_DIRS, getAllBazelPackageDirs } = require('./src/bazel_package_dirs'); -const { discoverBazelPackageLocations, discoverBazelPackages } = require('./src/discover_packages'); +const { discoverPackageManifestPaths, discoverBazelPackages } = require('./src/discover_packages'); +const { + parsePackageManifest, + readPackageManifest, + validatePackageManifest, +} = require('./src/parse_package_manifest'); +const Jsonc = require('./src/jsonc'); module.exports = { BAZEL_PACKAGE_DIRS, getAllBazelPackageDirs, - discoverBazelPackageLocations, + discoverPackageManifestPaths, discoverBazelPackages, + parsePackageManifest, + readPackageManifest, + validatePackageManifest, + Jsonc, }; diff --git a/packages/kbn-bazel-packages/kibana.jsonc b/packages/kbn-bazel-packages/kibana.jsonc new file mode 100644 index 0000000000000..fc373ccad73ad --- /dev/null +++ b/packages/kbn-bazel-packages/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/bazel-packages", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-bazel-packages/package.json b/packages/kbn-bazel-packages/package.json index 085f0bb4510f0..fabf8b6cbbc14 100644 --- a/packages/kbn-bazel-packages/package.json +++ b/packages/kbn-bazel-packages/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-bazel-packages/src/bazel_package.js b/packages/kbn-bazel-packages/src/bazel_package.js index c6a31ccc0dbc1..4a6d1b69bd8b2 100644 --- a/packages/kbn-bazel-packages/src/bazel_package.js +++ b/packages/kbn-bazel-packages/src/bazel_package.js @@ -10,8 +10,8 @@ const { inspect } = require('util'); const Path = require('path'); const Fsp = require('fs/promises'); -/** @typedef {import('./types').ParsedPackageJson} ParsedPackageJson */ const { readPackageJson } = require('./parse_package_json'); +const { readPackageManifest } = require('./parse_package_manifest'); const BUILD_RULE_NAME = /(^|\s)name\s*=\s*"build"/; const BUILD_TYPES_RULE_NAME = /(^|\s)name\s*=\s*"build_types"/; @@ -20,7 +20,8 @@ const BUILD_TYPES_RULE_NAME = /(^|\s)name\s*=\s*"build_types"/; * Representation of a Bazel Package in the Kibana repository * @class * @property {string} normalizedRepoRelativeDir - * @property {import('./types').ParsedPackageJson} pkg + * @property {import('./types').KibanaPackageManifest} manifest + * @property {import('./types').ParsedPackageJson | undefined} pkg * @property {string | undefined} buildBazelContent */ class BazelPackage { @@ -28,10 +29,11 @@ class BazelPackage { * Create a BazelPackage object from a package directory. Reads some files from the package and returns * a Promise for a BazelPackage instance. * @param {string} repoRoot - * @param {string} dir + * @param {string} path */ - static async fromDir(repoRoot, dir) { - const pkg = readPackageJson(Path.resolve(dir, 'package.json')); + static async fromManifest(repoRoot, path) { + const manifest = readPackageManifest(path); + const dir = Path.dirname(path); let buildBazelContent; try { @@ -40,7 +42,29 @@ class BazelPackage { throw new Error(`unable to read BUILD.bazel file in [${dir}]: ${error.message}`); } - return new BazelPackage(Path.relative(repoRoot, dir), pkg, buildBazelContent); + return new BazelPackage( + Path.relative(repoRoot, dir), + manifest, + readPackageJson(Path.resolve(dir, 'package.json')), + buildBazelContent + ); + } + + /** + * Sort a list of bazek packages + * @param {BazelPackage[]} pkgs + */ + static sort(pkgs) { + return pkgs.slice().sort(BazelPackage.sorter); + } + + /** + * Sort an array of bazel packages + * @param {BazelPackage} a + * @param {BazelPackage} b + */ + static sorter(a, b) { + return a.normalizedRepoRelativeDir.localeCompare(b.normalizedRepoRelativeDir); } constructor( @@ -49,9 +73,14 @@ class BazelPackage { * @type {string} */ normalizedRepoRelativeDir, + /** + * Parsed kibana.jsonc manifest from the package + * @type {import('./types').KibanaPackageManifest} + */ + manifest, /** * Parsed package.json file from the package - * @type {import('./types').ParsedPackageJson} + * @type {import('./types').ParsedPackageJson | undefined} */ pkg, /** @@ -61,6 +90,7 @@ class BazelPackage { buildBazelContent = undefined ) { this.normalizedRepoRelativeDir = normalizedRepoRelativeDir; + this.manifest = manifest; this.pkg = pkg; this.buildBazelContent = buildBazelContent; } @@ -83,7 +113,7 @@ class BazelPackage { * Returns true if the package is not intended to be in the build */ isDevOnly() { - return !!this.pkg.kibana?.devOnly; + return !!this.manifest.devOnly; } /** diff --git a/packages/kbn-bazel-packages/src/bazel_package.test.ts b/packages/kbn-bazel-packages/src/bazel_package.test.ts index 70d540e43f06a..16a06dab7e08e 100644 --- a/packages/kbn-bazel-packages/src/bazel_package.test.ts +++ b/packages/kbn-bazel-packages/src/bazel_package.test.ts @@ -10,39 +10,51 @@ import Fs from 'fs'; import Path from 'path'; import { BazelPackage } from './bazel_package'; +import { KibanaPackageManifest, ParsedPackageJson } from './types'; const OWN_BAZEL_BUILD_FILE = Fs.readFileSync(Path.resolve(__dirname, '../BUILD.bazel'), 'utf8'); +const pkgJson: ParsedPackageJson = { + name: 'foo', +}; +const manifest: KibanaPackageManifest = { + type: 'shared-common', + id: '@kbn/foo', + owner: '@elastic/kibana-operations', + runtimeDeps: [], + typeDeps: [], +}; + describe('hasBuildRule()', () => { it('returns true if there is a rule with the name "build"', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }, OWN_BAZEL_BUILD_FILE); + const pkg = new BazelPackage('foo', manifest, pkgJson, OWN_BAZEL_BUILD_FILE); expect(pkg.hasBuildRule()).toBe(true); }); it('returns false if there is no rule with name "build"', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }, ``); + const pkg = new BazelPackage('foo', manifest, pkgJson, ``); expect(pkg.hasBuildRule()).toBe(false); }); it('returns false if there is no BUILD.bazel file', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }); + const pkg = new BazelPackage('foo', manifest, pkgJson); expect(pkg.hasBuildRule()).toBe(false); }); }); describe('hasBuildTypesRule()', () => { it('returns true if there is a rule with the name "build_types"', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }, OWN_BAZEL_BUILD_FILE); + const pkg = new BazelPackage('foo', manifest, pkgJson, OWN_BAZEL_BUILD_FILE); expect(pkg.hasBuildTypesRule()).toBe(true); }); it('returns false if there is no rule with name "build_types"', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }, ``); + const pkg = new BazelPackage('foo', manifest, pkgJson, ``); expect(pkg.hasBuildTypesRule()).toBe(false); }); it('returns false if there is no BUILD.bazel file', () => { - const pkg = new BazelPackage('foo', { name: 'foo' }); + const pkg = new BazelPackage('foo', manifest, pkgJson); expect(pkg.hasBuildTypesRule()).toBe(false); }); }); diff --git a/packages/kbn-bazel-packages/src/discover_packages.js b/packages/kbn-bazel-packages/src/discover_packages.js index 17678115c7452..5532205404d26 100644 --- a/packages/kbn-bazel-packages/src/discover_packages.js +++ b/packages/kbn-bazel-packages/src/discover_packages.js @@ -6,39 +6,34 @@ * Side Public License, v 1. */ -const Path = require('path'); - const { BazelPackage } = require('./bazel_package'); const { getAllBazelPackageDirs } = require('./bazel_package_dirs'); const { findPackages } = require('./find_files'); const { asyncMapWithLimit } = require('./async'); /** + * Returns an array of all the package manifest paths in the repository * @param {string} repoRoot */ -function discoverBazelPackageLocations(repoRoot) { - const packagesWithBuildBazel = getAllBazelPackageDirs(repoRoot) - .flatMap((packageDir) => findPackages(packageDir, 'BUILD.bazel')) - .map((path) => Path.dirname(path)); - - // NOTE: only return as discovered packages with a package.json + BUILD.bazel file. - // In the future we should change this to only discover the ones with kibana.jsonc. +function discoverPackageManifestPaths(repoRoot) { return getAllBazelPackageDirs(repoRoot) - .flatMap((packageDir) => findPackages(packageDir, 'package.json')) - .map((path) => Path.dirname(path)) - .filter((pkg) => packagesWithBuildBazel.includes(pkg)) + .flatMap((packageDir) => findPackages(packageDir, 'kibana.jsonc')) .sort((a, b) => a.localeCompare(b)); } /** + * Resolves to an array of BazelPackage instances which parse the manifest files, + * package.json files, and provide useful metadata about each package. * @param {string} repoRoot */ async function discoverBazelPackages(repoRoot) { - return await asyncMapWithLimit( - discoverBazelPackageLocations(repoRoot), - 100, - async (dir) => await BazelPackage.fromDir(repoRoot, dir) + return BazelPackage.sort( + await asyncMapWithLimit( + discoverPackageManifestPaths(repoRoot), + 100, + async (path) => await BazelPackage.fromManifest(repoRoot, path) + ) ); } -module.exports = { discoverBazelPackageLocations, discoverBazelPackages }; +module.exports = { discoverPackageManifestPaths, discoverBazelPackages }; diff --git a/packages/kbn-jsonc/index.js b/packages/kbn-bazel-packages/src/jsonc.js similarity index 87% rename from packages/kbn-jsonc/index.js rename to packages/kbn-bazel-packages/src/jsonc.js index 4788833f0f4d7..54d43b2e666d8 100644 --- a/packages/kbn-jsonc/index.js +++ b/packages/kbn-bazel-packages/src/jsonc.js @@ -6,10 +6,11 @@ * Side Public License, v 1. */ -const { stripJsonComments } = require('./src/strip_json_comments'); +const { stripJsonComments } = require('./strip_json_comments'); /** * @param {string} jsonWithComments + * @returns {unknown} */ function parse(jsonWithComments) { return JSON.parse( diff --git a/packages/kbn-bazel-packages/src/parse_package_json.js b/packages/kbn-bazel-packages/src/parse_package_json.js index 27a78f91a4466..adcf176ea6853 100644 --- a/packages/kbn-bazel-packages/src/parse_package_json.js +++ b/packages/kbn-bazel-packages/src/parse_package_json.js @@ -22,8 +22,12 @@ function isObj(v) { * @returns {asserts v is import('./types').ParsedPackageJson} */ function validateParsedPackageJson(v) { - if (!isObj(v) || typeof v.name !== 'string') { - throw new Error('Expected at least a "name" property'); + if (!isObj(v)) { + throw new Error('Expected package.json to be a JSON object'); + } + + if (typeof v.name !== 'string') { + throw new Error('Expected package.json to have a "name"'); } if (v.dependencies && !isObj(v.dependencies)) { @@ -49,7 +53,7 @@ function validateParsedPackageJson(v) { /** * Reads a given package.json file from disk and parses it * @param {string} path - * @returns {import('./types').ParsedPackageJson} + * @returns {import('./types').ParsedPackageJson | undefined} */ function readPackageJson(path) { let pkg; @@ -57,7 +61,9 @@ function readPackageJson(path) { pkg = JSON.parse(Fs.readFileSync(path, 'utf8')); validateParsedPackageJson(pkg); } catch (error) { - throw new Error(`unable to parse package.json at [${path}]: ${error.message}`); + if (error.code !== 'ENOENT') { + throw new Error(`unable to parse package.json at [${path}]: ${error.message}`); + } } return pkg; } diff --git a/packages/kbn-bazel-packages/src/parse_package_manifest.js b/packages/kbn-bazel-packages/src/parse_package_manifest.js new file mode 100644 index 0000000000000..42acbf3e60366 --- /dev/null +++ b/packages/kbn-bazel-packages/src/parse_package_manifest.js @@ -0,0 +1,225 @@ +/* + * 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 { inspect } = require('util'); + +const { + isObj, + isValidId, + isValidPkgType, + isArrOfIds, + isArrOfStrings, + PACKAGE_TYPES, +} = require('./parse_utils'); +const { parse } = require('./jsonc'); + +/** + * @param {string} key + * @param {unknown} value + * @param {string} msg + * @returns {Error} + */ +const err = (key, value, msg) => { + const dbg = ['string', 'number', 'boolean'].includes(typeof value) ? value : inspect(value); + return new Error(`invalid package "${key}" [${dbg}], ${msg}`); +}; + +/** + * @param {unknown} plugin + * @returns {import('./types').PluginPackageManifest['plugin']} + */ +function validatePackageManifestPlugin(plugin) { + if (!isObj(plugin)) { + throw err(`plugin`, plugin, `must be an object`); + } + + const { + id, + configPath, + requiredPlugins, + optionalPlugins, + description, + enabledOnAnonymousPages, + serviceFolders, + ...extra + } = plugin; + + const extraKeys = Object.keys(extra); + if (extraKeys.length) { + throw new Error(`unexpected keys in "plugin" of package [${extraKeys.join(', ')}]`); + } + + if (typeof id !== 'string' || !isValidId(id)) { + throw err(`plugin.id`, id, `must be a string in camel or snake case`); + } + + if (configPath !== undefined && !isArrOfIds(configPath)) { + throw err( + `plugin.configPath`, + configPath, + `must be an array of strings in camel or snake case` + ); + } + + if (requiredPlugins !== undefined && !isArrOfIds(requiredPlugins)) { + throw err( + `plugin.requiredPlugins`, + requiredPlugins, + `must be an array of strings in camel or snake case` + ); + } + + if (optionalPlugins !== undefined && !isArrOfIds(optionalPlugins)) { + throw err( + `plugin.requiredPlugins`, + optionalPlugins, + `must be an array of strings in camel or snake case` + ); + } + + if (description !== undefined && typeof description !== 'string') { + throw err(`plugin.description`, description, `must be a string`); + } + + if (enabledOnAnonymousPages !== undefined && typeof enabledOnAnonymousPages !== 'boolean') { + throw err(`plugin.enabledOnAnonymousPages`, enabledOnAnonymousPages, `must be a boolean`); + } + + if (serviceFolders !== undefined && !isArrOfStrings(serviceFolders)) { + throw err(`plugin.serviceFolders`, serviceFolders, `must be an array of strings`); + } + + return { + id, + configPath, + requiredPlugins, + optionalPlugins, + description, + enabledOnAnonymousPages, + serviceFolders, + }; +} + +/** + * Validate the contents of a parsed kibana.jsonc file. + * @param {unknown} parsed + * @returns {import('./types').KibanaPackageManifest} + */ +function validatePackageManifest(parsed) { + if (!isObj(parsed)) { + throw new Error('expected manifest root to be an object'); + } + + const { type, id, owner, typeDeps, runtimeDeps, devOnly, plugin, sharedBrowserBundle, ...extra } = + parsed; + + const extraKeys = Object.keys(extra); + if (extraKeys.length) { + throw new Error(`unexpected keys in package manifest [${extraKeys.join(', ')}]`); + } + + if (!isValidPkgType(type)) { + throw err(`type`, type, `options are [${PACKAGE_TYPES.join(', ')}]`); + } + + if (typeof id !== 'string' || !id.startsWith('@kbn/')) { + throw err(`id`, id, `must be a string that starts with @kbn/`); + } + + if (typeof owner !== 'string' || !owner.startsWith('@')) { + throw err(`owner`, owner, `must be a valid Github team handle starting with @`); + } + + if (!isArrOfStrings(typeDeps)) { + throw err(`typeDeps`, typeDeps, `must be an array of strings`); + } + + if (!isArrOfStrings(runtimeDeps)) { + throw err(`runtimeDeps`, runtimeDeps, `must be an array of strings`); + } + + if (devOnly !== undefined && typeof devOnly !== 'boolean') { + throw err(`devOnly`, devOnly, `must be a boolean when defined`); + } + + const base = { + id, + owner, + typeDeps, + runtimeDeps, + devOnly, + }; + + // return if this is one of the more basic types of package types + if (type === 'shared-server' || type === 'functional-tests' || type === 'test-helper') { + return { + type, + ...base, + }; + } + + // handle the plugin field for plugin-* types + if (type === 'plugin-browser' || type === 'plugin-server') { + return { + type, + ...base, + plugin: validatePackageManifestPlugin(plugin), + }; + } + + // parse the sharedBrowserBundle for shared-browser and shared-common types + if (sharedBrowserBundle !== undefined && typeof sharedBrowserBundle !== 'boolean') { + throw err(`sharedBrowserBundle`, sharedBrowserBundle, `must be a boolean when defined`); + } + return { + type, + ...base, + sharedBrowserBundle, + }; +} + +/** + * Parse a kibana.jsonc file from the filesystem + * @param {string} path + */ +function readPackageManifest(path) { + let content; + try { + content = Fs.readFileSync(path, 'utf8'); + } catch (error) { + if (error.code === 'ENOENT') { + throw new Error(`Missing kibana.jsonc file at ${path}`); + } + + throw error; + } + + try { + return parsePackageManifest(content); + } catch (error) { + throw new Error(`Unable to parse [${path}]: ${error.message}`); + } +} + +/** + * Parse a kibana.jsonc file from a string + * @param {string} content + */ +function parsePackageManifest(content) { + let parsed; + try { + parsed = parse(content); + } catch (error) { + throw new Error(`Invalid JSONc: ${error.message}`); + } + + return validatePackageManifest(parsed); +} + +module.exports = { parsePackageManifest, readPackageManifest, validatePackageManifest }; diff --git a/packages/kbn-bazel-packages/src/parse_utils.js b/packages/kbn-bazel-packages/src/parse_utils.js new file mode 100644 index 0000000000000..639f5b2391580 --- /dev/null +++ b/packages/kbn-bazel-packages/src/parse_utils.js @@ -0,0 +1,71 @@ +/* + * 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. + */ + +/** @type {{ [k in import('./types').KibanaPackageType]: true }} */ +const PACKAGE_TYPE_MAP = { + 'functional-tests': true, + 'plugin-browser': true, + 'plugin-server': true, + 'shared-browser': true, + 'shared-common': true, + 'shared-scss': true, + 'shared-server': true, + 'test-helper': true, +}; + +const PACKAGE_TYPES = /** @type {Array} */ ( + /** @type {unknown} */ (Object.keys(PACKAGE_TYPE_MAP)) +); + +const ID_PATTERN = /^[a-z][a-zA-Z_]*$/; + +/** + * @param {unknown} v + * @returns {v is Record} + */ +function isObj(v) { + return typeof v === 'object' && v !== null; +} + +/** @param {unknown} v */ +function isValidId(v) { + return typeof v === 'string' && ID_PATTERN.test(v); +} + +/** + * @param {unknown} v + * @returns {v is import('./types').KibanaPackageType} + */ +function isValidPkgType(v) { + return typeof v === 'string' && Object.hasOwn(PACKAGE_TYPE_MAP, v); +} + +/** + * @param {unknown} v + * @returns {v is string[]} + */ +function isArrOfStrings(v) { + return Array.isArray(v) && v.every((i) => typeof i === 'string'); +} + +/** + * @param {unknown} v + * @returns {v is string[]} + */ +function isArrOfIds(v) { + return Array.isArray(v) && v.every(isValidId); +} + +module.exports = { + PACKAGE_TYPES, + isObj, + isValidId, + isValidPkgType, + isArrOfIds, + isArrOfStrings, +}; diff --git a/packages/kbn-jsonc/src/strip_json_comments.js b/packages/kbn-bazel-packages/src/strip_json_comments.js similarity index 100% rename from packages/kbn-jsonc/src/strip_json_comments.js rename to packages/kbn-bazel-packages/src/strip_json_comments.js diff --git a/packages/kbn-bazel-packages/src/types.ts b/packages/kbn-bazel-packages/src/types.ts index dc77d35bc206a..c4b445adfd851 100644 --- a/packages/kbn-bazel-packages/src/types.ts +++ b/packages/kbn-bazel-packages/src/types.ts @@ -29,3 +29,87 @@ export interface ParsedPackageJson { /** All other fields in the package.json are typed as unknown as we don't care what they are */ [key: string]: unknown; } + +export type KibanaPackageType = + | 'plugin-browser' + | 'plugin-server' + | 'shared-browser' + | 'shared-server' + | 'shared-common' + | 'shared-scss' + | 'functional-tests' + | 'test-helper'; + +interface PackageManifestBaseFields { + /** + * The type of this package. Package types define how a package can and should + * be used/built. Some package types also change the way that packages are + * interpreted. + */ + type: KibanaPackageType; + /** + * Module ID for this package. This must be globbally unique amoungst all + * packages and should include the most important information about how this + * package should be used. Avoid generic names to aid in disambiguation. + */ + id: string; + /** + * Github handle for the person or team who is responsible for this package. + * This owner will be used in the codeowners files for this package. + * + * For additional codeowners, you add manually add entries to the codeowners file. + */ + owner: string; + /** + * Packages which are required for the source code in the package to be type- + * checked. This list is updated automatically by the package linter + */ + typeDeps: string[]; + /** + * Packages which are required for the source code of the package to run. This + * list is updated automatically by the package linter. + */ + runtimeDeps: string[]; + /** + * A devOnly package can be used by other devOnly packages (and only + * other devOnly packages) and will never be included in the distributable + */ + devOnly?: boolean; +} + +export interface PluginPackageManifest extends PackageManifestBaseFields { + type: 'plugin-browser' | 'plugin-server'; + /** + * Details about the plugin which is contained within this package. + */ + plugin: { + id: string; + configPath?: string[]; + requiredPlugins?: string[]; + optionalPlugins?: string[]; + description?: string; + enabledOnAnonymousPages?: boolean; + serviceFolders?: string[]; + }; +} + +export interface SharedBrowserPackageManifest extends PackageManifestBaseFields { + type: 'shared-browser' | 'shared-common'; + /** + * When a package is used by many other packages in the browser, or requires some + * specific state in the module scope (though we highly recommend against this) you + * can set `sharedBrowserBundle` to true so this package to load in a separate async + * bundle request rather than being copied into the bundles of each package which + * use it. (not yet implemented) + */ + sharedBrowserBundle?: boolean; +} + +export interface BasePackageManifest extends PackageManifestBaseFields { + type: 'shared-server' | 'functional-tests' | 'test-helper' | 'shared-scss'; +} + +export type KibanaPackageManifest = + | PluginPackageManifest + | SharedBrowserPackageManifest + | BasePackageManifest; diff --git a/packages/kbn-bazel-runner/kibana.jsonc b/packages/kbn-bazel-runner/kibana.jsonc new file mode 100644 index 0000000000000..b313e99f5b9cc --- /dev/null +++ b/packages/kbn-bazel-runner/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/bazel-runner", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-bazel-runner/package.json b/packages/kbn-bazel-runner/package.json index d8fe010f0e4c3..540dfbac4a037 100644 --- a/packages/kbn-bazel-runner/package.json +++ b/packages/kbn-bazel-runner/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-chart-icons/kibana.jsonc b/packages/kbn-chart-icons/kibana.jsonc new file mode 100644 index 0000000000000..1d1de945c95de --- /dev/null +++ b/packages/kbn-chart-icons/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/chart-icons", + "owner": "@elastic/kibana-vis-editors", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ci-stats-core/kibana.jsonc b/packages/kbn-ci-stats-core/kibana.jsonc new file mode 100644 index 0000000000000..9140ec71ef912 --- /dev/null +++ b/packages/kbn-ci-stats-core/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/ci-stats-core", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ci-stats-core/package.json b/packages/kbn-ci-stats-core/package.json index d1141ec3c55a8..fc56e2e3213ea 100644 --- a/packages/kbn-ci-stats-core/package.json +++ b/packages/kbn-ci-stats-core/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ci-stats-performance-metrics/kibana.jsonc b/packages/kbn-ci-stats-performance-metrics/kibana.jsonc new file mode 100644 index 0000000000000..3c4b4a440a98f --- /dev/null +++ b/packages/kbn-ci-stats-performance-metrics/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/ci-stats-performance-metrics", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ci-stats-performance-metrics/package.json b/packages/kbn-ci-stats-performance-metrics/package.json index e8da3dcde3dca..0801174ab4a02 100644 --- a/packages/kbn-ci-stats-performance-metrics/package.json +++ b/packages/kbn-ci-stats-performance-metrics/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-ci-stats-reporter/kibana.jsonc b/packages/kbn-ci-stats-reporter/kibana.jsonc new file mode 100644 index 0000000000000..9991f55a342f9 --- /dev/null +++ b/packages/kbn-ci-stats-reporter/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/ci-stats-reporter", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ci-stats-reporter/package.json b/packages/kbn-ci-stats-reporter/package.json index 01743bced98d5..1393c08cddac4 100644 --- a/packages/kbn-ci-stats-reporter/package.json +++ b/packages/kbn-ci-stats-reporter/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-cli-dev-mode/kibana.jsonc b/packages/kbn-cli-dev-mode/kibana.jsonc new file mode 100644 index 0000000000000..18c9cb7ba46a0 --- /dev/null +++ b/packages/kbn-cli-dev-mode/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/cli-dev-mode", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-cli-dev-mode/package.json b/packages/kbn-cli-dev-mode/package.json index 80076a9851087..6113b1deef073 100644 --- a/packages/kbn-cli-dev-mode/package.json +++ b/packages/kbn-cli-dev-mode/package.json @@ -3,8 +3,5 @@ "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "kibana": { - "devOnly": true - } + "private": true } \ No newline at end of file diff --git a/packages/kbn-coloring/kibana.jsonc b/packages/kbn-coloring/kibana.jsonc new file mode 100644 index 0000000000000..0b1ff8a449286 --- /dev/null +++ b/packages/kbn-coloring/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/coloring", + "owner": "@elastic/kibana-vis-editors", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-config-mocks/kibana.jsonc b/packages/kbn-config-mocks/kibana.jsonc new file mode 100644 index 0000000000000..de1d13289e8ff --- /dev/null +++ b/packages/kbn-config-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/config-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-config-schema/kibana.jsonc b/packages/kbn-config-schema/kibana.jsonc new file mode 100644 index 0000000000000..c889555708675 --- /dev/null +++ b/packages/kbn-config-schema/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/config-schema", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-config/kibana.jsonc b/packages/kbn-config/kibana.jsonc new file mode 100644 index 0000000000000..e3bac638520bd --- /dev/null +++ b/packages/kbn-config/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/config", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-crypto-browser/kibana.jsonc b/packages/kbn-crypto-browser/kibana.jsonc new file mode 100644 index 0000000000000..9faf12c5f05b0 --- /dev/null +++ b/packages/kbn-crypto-browser/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/crypto-browser", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-crypto/kibana.jsonc b/packages/kbn-crypto/kibana.jsonc new file mode 100644 index 0000000000000..21f9cbbc81c74 --- /dev/null +++ b/packages/kbn-crypto/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/crypto", + "owner": "@elastic/kibana-security", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-datemath/kibana.jsonc b/packages/kbn-datemath/kibana.jsonc new file mode 100644 index 0000000000000..85522ceb11b9e --- /dev/null +++ b/packages/kbn-datemath/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/datemath", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-dev-cli-errors/kibana.jsonc b/packages/kbn-dev-cli-errors/kibana.jsonc new file mode 100644 index 0000000000000..66a63cdce3074 --- /dev/null +++ b/packages/kbn-dev-cli-errors/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/dev-cli-errors", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-dev-cli-errors/package.json b/packages/kbn-dev-cli-errors/package.json index 62e1465933a52..e4757b7ad9b38 100644 --- a/packages/kbn-dev-cli-errors/package.json +++ b/packages/kbn-dev-cli-errors/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-cli-runner/kibana.jsonc b/packages/kbn-dev-cli-runner/kibana.jsonc new file mode 100644 index 0000000000000..43e1b39ab17f2 --- /dev/null +++ b/packages/kbn-dev-cli-runner/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/dev-cli-runner", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-dev-cli-runner/package.json b/packages/kbn-dev-cli-runner/package.json index 779d6f48a4fb7..12670190159af 100644 --- a/packages/kbn-dev-cli-runner/package.json +++ b/packages/kbn-dev-cli-runner/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-proc-runner/kibana.jsonc b/packages/kbn-dev-proc-runner/kibana.jsonc new file mode 100644 index 0000000000000..e028b7e7d795d --- /dev/null +++ b/packages/kbn-dev-proc-runner/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/dev-proc-runner", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-dev-proc-runner/package.json b/packages/kbn-dev-proc-runner/package.json index 2de282a948eda..38907397d2c52 100644 --- a/packages/kbn-dev-proc-runner/package.json +++ b/packages/kbn-dev-proc-runner/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-dev-utils/kibana.jsonc b/packages/kbn-dev-utils/kibana.jsonc new file mode 100644 index 0000000000000..7a9e4e644dcf0 --- /dev/null +++ b/packages/kbn-dev-utils/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/dev-utils", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-dev-utils/package.json b/packages/kbn-dev-utils/package.json index ab4f489e7d345..1316319286a96 100644 --- a/packages/kbn-dev-utils/package.json +++ b/packages/kbn-dev-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "./target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-doc-links/kibana.jsonc b/packages/kbn-doc-links/kibana.jsonc new file mode 100644 index 0000000000000..a3af199f6c32e --- /dev/null +++ b/packages/kbn-doc-links/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/doc-links", + "owner": "@elastic/kibana-docs", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-docs-utils/kibana.jsonc b/packages/kbn-docs-utils/kibana.jsonc new file mode 100644 index 0000000000000..5e0ea2367d531 --- /dev/null +++ b/packages/kbn-docs-utils/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/docs-utils", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-docs-utils/package.json b/packages/kbn-docs-utils/package.json index 84fc3ccb0cded..d75a79ed44b22 100644 --- a/packages/kbn-docs-utils/package.json +++ b/packages/kbn-docs-utils/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "private": "true", - "main": "target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-ebt-tools/kibana.jsonc b/packages/kbn-ebt-tools/kibana.jsonc new file mode 100644 index 0000000000000..f9fde6d48f046 --- /dev/null +++ b/packages/kbn-ebt-tools/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ebt-tools", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-es-archiver/kibana.jsonc b/packages/kbn-es-archiver/kibana.jsonc new file mode 100644 index 0000000000000..cc2b4530ea552 --- /dev/null +++ b/packages/kbn-es-archiver/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/es-archiver", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-es-archiver/package.json b/packages/kbn-es-archiver/package.json index bff3990a0c1bc..ddd55875664e3 100644 --- a/packages/kbn-es-archiver/package.json +++ b/packages/kbn-es-archiver/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", "private": "true", - "main": "target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "target_node/index.js" } diff --git a/packages/kbn-es-errors/kibana.jsonc b/packages/kbn-es-errors/kibana.jsonc new file mode 100644 index 0000000000000..3a121caaf95cc --- /dev/null +++ b/packages/kbn-es-errors/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/es-errors", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-es-query/kibana.jsonc b/packages/kbn-es-query/kibana.jsonc new file mode 100644 index 0000000000000..2bd959eec53eb --- /dev/null +++ b/packages/kbn-es-query/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/es-query", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-es/kibana.jsonc b/packages/kbn-es/kibana.jsonc new file mode 100644 index 0000000000000..6407107c3639c --- /dev/null +++ b/packages/kbn-es/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/es", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-es/package.json b/packages/kbn-es/package.json index ee8d8e89030e1..38c138d688362 100644 --- a/packages/kbn-es/package.json +++ b/packages/kbn-es/package.json @@ -3,8 +3,5 @@ "main": "./target_node/index.js", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "kibana": { - "devOnly": true - } + "private": true } \ No newline at end of file diff --git a/packages/kbn-eslint-config/kibana.jsonc b/packages/kbn-eslint-config/kibana.jsonc new file mode 100644 index 0000000000000..3afe0461c4861 --- /dev/null +++ b/packages/kbn-eslint-config/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/eslint-config", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-eslint-config/package.json b/packages/kbn-eslint-config/package.json index eb9f7a4b08246..76082ec00ee44 100644 --- a/packages/kbn-eslint-config/package.json +++ b/packages/kbn-eslint-config/package.json @@ -7,9 +7,6 @@ "type": "git", "url": "git+https://github.com/elastic/kibana.git" }, - "kibana": { - "devOnly": true - }, "keywords": [], "author": "Spencer Alger ", "license": "Apache-2.0", diff --git a/packages/kbn-eslint-plugin-disable/kibana.jsonc b/packages/kbn-eslint-plugin-disable/kibana.jsonc new file mode 100644 index 0000000000000..43a4d8f8f90bb --- /dev/null +++ b/packages/kbn-eslint-plugin-disable/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/eslint-plugin-disable", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-eslint-plugin-eslint/kibana.jsonc b/packages/kbn-eslint-plugin-eslint/kibana.jsonc new file mode 100644 index 0000000000000..fc9c384c41562 --- /dev/null +++ b/packages/kbn-eslint-plugin-eslint/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/eslint-plugin-eslint", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-eslint-plugin-eslint/package.json b/packages/kbn-eslint-plugin-eslint/package.json index ffce2cbefe743..c1f126223b27c 100644 --- a/packages/kbn-eslint-plugin-eslint/package.json +++ b/packages/kbn-eslint-plugin-eslint/package.json @@ -2,8 +2,5 @@ "name": "@kbn/eslint-plugin-eslint", "version": "1.0.0", "private": true, - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-eslint-plugin-imports/kibana.jsonc b/packages/kbn-eslint-plugin-imports/kibana.jsonc new file mode 100644 index 0000000000000..658733d10535b --- /dev/null +++ b/packages/kbn-eslint-plugin-imports/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/eslint-plugin-imports", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-expect/kibana.jsonc b/packages/kbn-expect/kibana.jsonc new file mode 100644 index 0000000000000..53f789961dd33 --- /dev/null +++ b/packages/kbn-expect/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/expect", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-expect/package.json b/packages/kbn-expect/package.json index 2040683c539e2..fb732269fef97 100644 --- a/packages/kbn-expect/package.json +++ b/packages/kbn-expect/package.json @@ -4,8 +4,5 @@ "typings": "./expect.d.ts", "version": "1.0.0", "license": "MIT", - "private": true, - "kibana": { - "devOnly": true - } + "private": true } diff --git a/packages/kbn-field-types/kibana.jsonc b/packages/kbn-field-types/kibana.jsonc new file mode 100644 index 0000000000000..5bcf174037008 --- /dev/null +++ b/packages/kbn-field-types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/field-types", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-find-used-node-modules/kibana.jsonc b/packages/kbn-find-used-node-modules/kibana.jsonc new file mode 100644 index 0000000000000..d5c72f5927737 --- /dev/null +++ b/packages/kbn-find-used-node-modules/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/find-used-node-modules", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-find-used-node-modules/package.json b/packages/kbn-find-used-node-modules/package.json index c5da8d1f898c1..138a77f3ed286 100644 --- a/packages/kbn-find-used-node-modules/package.json +++ b/packages/kbn-find-used-node-modules/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-flot-charts/kibana.jsonc b/packages/kbn-flot-charts/kibana.jsonc new file mode 100644 index 0000000000000..ad96bcf118b1b --- /dev/null +++ b/packages/kbn-flot-charts/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/flot-charts", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-generate/kibana.jsonc b/packages/kbn-generate/kibana.jsonc new file mode 100644 index 0000000000000..d7d38e4822cb7 --- /dev/null +++ b/packages/kbn-generate/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/generate", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-generate/package.json b/packages/kbn-generate/package.json index aacf8c6aab817..8413023c99a2d 100644 --- a/packages/kbn-generate/package.json +++ b/packages/kbn-generate/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "./target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-generate/src/cli.ts b/packages/kbn-generate/src/cli.ts index 81e7a8cb85b55..d3d1366682fea 100644 --- a/packages/kbn-generate/src/cli.ts +++ b/packages/kbn-generate/src/cli.ts @@ -12,6 +12,7 @@ import { Render } from './lib/render'; import { ContextExtensions } from './generate_command'; import { PackageCommand } from './commands/package_command'; +import { CodeownersCommand } from './commands/codeowners_command'; import { PackagesBuildManifestCommand } from './commands/packages_build_manifest_command'; /** @@ -27,6 +28,6 @@ export function runGenerateCli() { }; }, }, - [PackageCommand, PackagesBuildManifestCommand] + [PackageCommand, PackagesBuildManifestCommand, CodeownersCommand] ).execute(); } diff --git a/packages/kbn-generate/src/commands/codeowners_command.ts b/packages/kbn-generate/src/commands/codeowners_command.ts new file mode 100644 index 0000000000000..7478f342c0d9a --- /dev/null +++ b/packages/kbn-generate/src/commands/codeowners_command.ts @@ -0,0 +1,56 @@ +/* + * 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 Fsp from 'fs/promises'; +import Path from 'path'; + +import { REPO_ROOT } from '@kbn/utils'; +import { discoverBazelPackages } from '@kbn/bazel-packages'; + +import type { GenerateCommand } from '../generate_command'; + +const REL = '.github/CODEOWNERS'; + +const GENERATED_START = ` + +#### +## Everything below this comment is automatically generated based on kibana.jsonc +## "owner" fields. This file is automatically updated by CI or can be updated locally +## by running \`node scripts/generate codeowners\`. +#### + +`; + +export const CodeownersCommand: GenerateCommand = { + name: 'codeowners', + description: 'Update the codeowners file based on the package manifest files', + usage: 'node scripts/generate codeowners', + async run({ log }) { + const coPath = Path.resolve(REPO_ROOT, REL); + const codeowners = await Fsp.readFile(coPath, 'utf8'); + const pkgs = await discoverBazelPackages(REPO_ROOT); + + let genStart = codeowners.indexOf(GENERATED_START); + if (genStart === -1) { + genStart = codeowners.length; + log.warning(`${REL} doesn't include the expected start-marker for injecting generated text`); + } + + const newCodeowners = `${codeowners.slice(0, genStart)}${GENERATED_START}${pkgs + .map((pkg) => `${pkg.normalizedRepoRelativeDir} ${pkg.manifest.owner}`) + .join('\n')}\n`; + + if (codeowners === newCodeowners) { + log.success(`${REL} is already up-to-date`); + return; + } + + await Fsp.writeFile(coPath, newCodeowners); + log.info(`${REL} updated`); + }, +}; diff --git a/packages/kbn-generate/src/commands/package_command.ts b/packages/kbn-generate/src/commands/package_command.ts index 32d5ff008c79f..ecfd2eb5f3d21 100644 --- a/packages/kbn-generate/src/commands/package_command.ts +++ b/packages/kbn-generate/src/commands/package_command.ts @@ -19,16 +19,21 @@ import { discoverBazelPackages, BAZEL_PACKAGE_DIRS } from '@kbn/bazel-packages'; import { createFailError, createFlagError, isFailError } from '@kbn/dev-cli-errors'; import { sortPackageJson } from '@kbn/sort-package-json'; +import { validateElasticTeam } from '../lib/validate_elastic_team'; import { TEMPLATE_DIR, ROOT_PKG_DIR, PKG_TEMPLATE_DIR } from '../paths'; import type { GenerateCommand } from '../generate_command'; +import { ask } from '../lib/ask'; + +const validPkgId = (id: unknown): id is string => + typeof id === 'string' && id.startsWith('@kbn/') && !id.includes(' '); export const PackageCommand: GenerateCommand = { name: 'package', description: 'Generate a basic package', - usage: 'node scripts/generate package [name]', + usage: 'node scripts/generate package [pkgId]', flags: { boolean: ['web', 'force', 'dev'], - string: ['dir'], + string: ['dir', 'owner'], help: ` --dev Generate a package which is intended for dev-only use and can access things like devDependencies --web Build webpack-compatible version of sources for this package. If your package is intended to be @@ -39,24 +44,37 @@ export const PackageCommand: GenerateCommand = { ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join('')} defaults to [./packages/{kebab-case-version-of-name}] --force If the --dir already exists, delete it before generation + --owner Github username of the owner for this package, if this is not specified then you will be asked for + this value interactively. `, }, async run({ log, flags, render }) { - const [name] = flags._; - if (!name) { - throw createFlagError(`missing package name`); - } - if (!name.startsWith('@kbn/')) { - throw createFlagError(`package name must start with @kbn/`); + const pkgId = + flags._[0] || + (await ask({ + question: `What should the package id be? (Must start with @kbn/ and have no spaces)`, + async validate(input) { + if (validPkgId(input)) { + return input; + } + + return { + err: `"${input}" must start with @kbn/ and have no spaces`, + }; + }, + })); + + if (!validPkgId(pkgId)) { + throw createFlagError(`package id must start with @kbn/ and have no spaces`); } - const typePkgName = `@types/${name.slice(1).replace('/', '__')}`; + const typePkgName = `@types/${pkgId.slice(1).replace('/', '__')}`; const web = !!flags.web; const dev = !!flags.dev; const packageDir = flags.dir ? Path.resolve(`${flags.dir}`) - : Path.resolve(ROOT_PKG_DIR, name.slice(1).replace('/', '-')); + : Path.resolve(ROOT_PKG_DIR, pkgId.slice(1).replace('/', '-')); const relContainingDir = Path.relative(REPO_ROOT, Path.dirname(packageDir)); if (!micromatch.isMatch(relContainingDir, BAZEL_PACKAGE_DIRS)) { throw createFlagError( @@ -82,13 +100,29 @@ ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join } } + const owner = + flags.owner || + (await ask({ + question: 'Which Elastic team should own this package? (Must start with "@elastic/")', + async validate(input) { + try { + return await validateElasticTeam(input); + } catch (error) { + log.error(`failed to validate team: ${error.message}`); + return input; + } + }, + })); + if (typeof owner !== 'string' || !owner.startsWith('@')) { + throw createFlagError(`expected --owner to be a string starting with an @ symbol`); + } + const templateFiles = await globby('**/*', { cwd: PKG_TEMPLATE_DIR, absolute: false, dot: true, onlyFiles: true, }); - if (!templateFiles.length) { throw new Error('unable to find package template files'); } @@ -119,9 +153,10 @@ ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join await render.toFile(src, dest, { pkg: { - name, + id: pkgId, web, dev, + owner, directoryName: Path.basename(normalizedRepoRelativeDir), normalizedRepoRelativeDir, }, @@ -146,8 +181,8 @@ ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join ? [packageJson.devDependencies, packageJson.dependencies] : [packageJson.dependencies, packageJson.devDependencies]; - addDeps[name] = `link:bazel-bin/${normalizedRepoRelativeDir}`; - delete removeDeps[name]; + addDeps[pkgId] = `link:bazel-bin/${normalizedRepoRelativeDir}`; + delete removeDeps[pkgId]; // for @types packages always remove from deps and add to devDeps packageJson.devDependencies[ @@ -167,6 +202,6 @@ ${BAZEL_PACKAGE_DIRS.map((dir) => ` ./${dir}/*\n`).join ); log.info('Updated packages/BUILD.bazel'); - log.success(`Generated ${name}! Please bootstrap to make sure it works.`); + log.success(`Generated ${pkgId}! Please bootstrap to make sure it works.`); }, }; diff --git a/packages/kbn-generate/src/commands/packages_build_manifest_command.ts b/packages/kbn-generate/src/commands/packages_build_manifest_command.ts index 9b05c1aed332d..4e27753479853 100644 --- a/packages/kbn-generate/src/commands/packages_build_manifest_command.ts +++ b/packages/kbn-generate/src/commands/packages_build_manifest_command.ts @@ -14,7 +14,6 @@ import { discoverBazelPackages } from '@kbn/bazel-packages'; import { TEMPLATE_DIR } from '../paths'; import { GenerateCommand } from '../generate_command'; -import { validateFile } from '../lib/validate_file'; const USAGE = `node scripts/generate packages_build_manifest`; @@ -22,15 +21,7 @@ export const PackagesBuildManifestCommand: GenerateCommand = { name: 'packages_build_manifest', usage: USAGE, description: 'Generate the packages/BUILD.bazel file', - flags: { - boolean: ['validate'], - help: ` - --validate Rather than writing the generated output to disk, validate that the content on disk is in sync with the - `, - }, - async run({ log, render, flags }) { - const validate = !!flags.validate; - + async run({ log, render }) { const packages = await discoverBazelPackages(REPO_ROOT); const dest = Path.resolve(REPO_ROOT, 'packages/BUILD.bazel'); const relDest = Path.relative(process.cwd(), dest); @@ -38,17 +29,22 @@ export const PackagesBuildManifestCommand: GenerateCommand = { const content = await render.toString( Path.join(TEMPLATE_DIR, 'packages_BUILD.bazel.ejs'), dest, - { - packages, - } + { packages } ); - if (validate) { - await validateFile(log, USAGE, dest, content); + let existing; + try { + existing = await Fsp.readFile(dest, 'utf8'); + } catch { + // noop + } + + if (existing === content) { + log.success(relDest, 'is already updated'); return; } await Fsp.writeFile(dest, content); - log.success('Wrote', relDest); + log.info(relDest, 'updated'); }, }; diff --git a/packages/kbn-jsonc/jest.config.js b/packages/kbn-generate/src/lib/ansi.ts similarity index 74% rename from packages/kbn-jsonc/jest.config.js rename to packages/kbn-generate/src/lib/ansi.ts index c958647e1c154..4fe360b510b3c 100644 --- a/packages/kbn-jsonc/jest.config.js +++ b/packages/kbn-generate/src/lib/ansi.ts @@ -6,8 +6,5 @@ * Side Public License, v 1. */ -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-jsonc'], -}; +// https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797 +export const CLEAR_LINE_AND_MOVE_LEFT = `\x1B[2K\x1B[0G`; diff --git a/packages/kbn-generate/src/lib/ask.ts b/packages/kbn-generate/src/lib/ask.ts new file mode 100644 index 0000000000000..e5e33e8df058c --- /dev/null +++ b/packages/kbn-generate/src/lib/ask.ts @@ -0,0 +1,83 @@ +/* + * 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 Chalk from 'chalk'; +import Readline from 'readline'; +import * as Rx from 'rxjs'; +import Util from 'util'; + +import * as Ansi from './ansi'; + +export type ValidationResult = string | { err: string }; + +interface Options { + question: string; + validate(input: string): Promise; +} + +export async function ask(options: Options) { + if (!process.stderr.isTTY) { + return undefined; + } + + const int = Readline.createInterface({ + input: process.stdin, + output: process.stderr, + }); + + const q = Util.promisify(int.question) as unknown as (q: string) => Promise; + + try { + return await Rx.firstValueFrom( + Rx.race( + Rx.fromEvent(int, 'error').pipe( + Rx.map((err) => { + throw err; + }) + ), + Rx.defer(() => q.call(int, `${Chalk.blueBright('?')} ${options.question} > `)).pipe( + Rx.mergeMap(async (answer) => { + process.stderr.write('validating...'); + try { + return await options.validate(answer); + } finally { + process.stderr.write(Ansi.CLEAR_LINE_AND_MOVE_LEFT); + } + }), + Rx.map((valid) => { + if (typeof valid === 'string') { + return valid; + } + + const label = `Error:`; + const indent = ' '.repeat(label.length + 1); + const indented = valid.err + .split('\n') + .map((l, i) => (i === 0 ? l : `${indent}${l}`)) + .join('\n'); + + process.stderr.write(`${Chalk.bgRed.white(label)} ${indented}\n`); + + throw new Error('retry'); + }), + Rx.retry({ + delay: (err) => { + if (typeof err === 'object' && err && err.message === 'retry') { + return Rx.of(1); + } else { + throw err; + } + }, + }) + ) + ) + ); + } finally { + int.close(); + } +} diff --git a/packages/kbn-generate/src/lib/validate_elastic_team.ts b/packages/kbn-generate/src/lib/validate_elastic_team.ts new file mode 100644 index 0000000000000..89138d59641c7 --- /dev/null +++ b/packages/kbn-generate/src/lib/validate_elastic_team.ts @@ -0,0 +1,41 @@ +/* + * 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 Axios from 'axios'; +import { ValidationResult } from './ask'; + +interface Body { + match?: string; + suggestions: string[]; +} + +export async function validateElasticTeam(owner: string): Promise { + const slug = owner.startsWith('@') ? owner.slice(1) : owner; + + const res = await Axios.get('https://ci-stats.kibana.dev/v1/_validate_kibana_team', { + params: { + slug, + }, + timeout: 5000, + }); + + if (res.data.match) { + return `@${res.data.match}`; + } + + const err = `"${owner}" doesn't match any @elastic team, to override with another valid Github user pass the value with the --owner flag`; + + if (!res.data.suggestions?.length) { + return { err }; + } + + const list = res.data.suggestions.map((l) => ` @${l}`); + return { + err: `${err}\n Did you mean one of these?\n${list.join('\n')}`, + }; +} diff --git a/packages/kbn-generate/src/lib/validate_file.ts b/packages/kbn-generate/src/lib/validate_file.ts deleted file mode 100644 index 342a25e3d193d..0000000000000 --- a/packages/kbn-generate/src/lib/validate_file.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * 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 Fsp from 'fs/promises'; -import Path from 'path'; - -import { diffStrings } from '@kbn/dev-utils'; -import { createFailError } from '@kbn/dev-cli-errors'; -import { ToolingLog } from '@kbn/tooling-log'; - -export async function validateFile(log: ToolingLog, usage: string, path: string, expected: string) { - const relPath = Path.relative(process.cwd(), path); - - let current; - try { - current = await Fsp.readFile(path, 'utf8'); - } catch (error) { - if (error && error.code === 'ENOENT') { - throw createFailError(`${relPath} is missing, please run "${usage}" and commit the result`); - } - - throw error; - } - - if (current !== expected) { - log.error(`${relPath} is outdated:\n${diffStrings(expected, current)}`); - throw createFailError(`${relPath} is outdated, please run "${usage}" and commit the result`); - } - - log.success(`${relPath} is valid`); -} diff --git a/packages/kbn-generate/templates/package/BUILD.bazel.ejs b/packages/kbn-generate/templates/package/BUILD.bazel.ejs index c66f67e93b15c..cb1d250f468e9 100644 --- a/packages/kbn-generate/templates/package/BUILD.bazel.ejs +++ b/packages/kbn-generate/templates/package/BUILD.bazel.ejs @@ -3,7 +3,7 @@ load("@build_bazel_rules_nodejs//:index.bzl", "js_library") load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") PKG_DIRNAME = <%- json(pkg.directoryName) %> -PKG_REQUIRE_NAME = <%- json(pkg.name) %> +PKG_REQUIRE_NAME = <%- json(pkg.id) %> SOURCE_FILES = glob( [ diff --git a/packages/kbn-generate/templates/package/README.md.ejs b/packages/kbn-generate/templates/package/README.md.ejs index 769f536648a6d..826a90cb80987 100644 --- a/packages/kbn-generate/templates/package/README.md.ejs +++ b/packages/kbn-generate/templates/package/README.md.ejs @@ -1,3 +1,3 @@ -# <%- pkg.name %> +# <%- pkg.id %> Empty package generated by @kbn/generate diff --git a/packages/kbn-generate/templates/package/kibana.jsonc.ejs b/packages/kbn-generate/templates/package/kibana.jsonc.ejs new file mode 100644 index 0000000000000..f39655160f82f --- /dev/null +++ b/packages/kbn-generate/templates/package/kibana.jsonc.ejs @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": <%- json(pkg.id) %>, + "owner": <%- json(pkg.owner) %>,<% if (pkg.dev) { %> + "devOnly": true,<% } %> + "runtimeDeps": [], + "typeDeps": [], +} diff --git a/packages/kbn-generate/templates/package/package.json.ejs b/packages/kbn-generate/templates/package/package.json.ejs index 93b2813daffa1..44f53c0a1324c 100644 --- a/packages/kbn-generate/templates/package/package.json.ejs +++ b/packages/kbn-generate/templates/package/package.json.ejs @@ -1,5 +1,5 @@ { - "name": <%- json(pkg.name) %>, + "name": <%- json(pkg.id) %>, "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", @@ -7,9 +7,4 @@ <%_ if (pkg.web) { %>, "browser": "./target_web/index.js" <%_ } %> - <% if (pkg.dev) { %>, - "kibana": { - "devOnly": true - } - <% } %> } diff --git a/packages/kbn-get-repo-files/kibana.jsonc b/packages/kbn-get-repo-files/kibana.jsonc new file mode 100644 index 0000000000000..44ee4e026ba7e --- /dev/null +++ b/packages/kbn-get-repo-files/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/get-repo-files", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-get-repo-files/package.json b/packages/kbn-get-repo-files/package.json index 8cd19049fd197..21aa7c24d2b82 100644 --- a/packages/kbn-get-repo-files/package.json +++ b/packages/kbn-get-repo-files/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-handlebars/kibana.jsonc b/packages/kbn-handlebars/kibana.jsonc new file mode 100644 index 0000000000000..64249345bce8e --- /dev/null +++ b/packages/kbn-handlebars/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/handlebars", + "owner": "@elastic/kibana-security", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-hapi-mocks/kibana.jsonc b/packages/kbn-hapi-mocks/kibana.jsonc new file mode 100644 index 0000000000000..9a2632c95d814 --- /dev/null +++ b/packages/kbn-hapi-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/hapi-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-i18n-react/kibana.jsonc b/packages/kbn-i18n-react/kibana.jsonc new file mode 100644 index 0000000000000..296e7295e52b6 --- /dev/null +++ b/packages/kbn-i18n-react/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/i18n-react", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-i18n/kibana.jsonc b/packages/kbn-i18n/kibana.jsonc new file mode 100644 index 0000000000000..cd5613bc493c0 --- /dev/null +++ b/packages/kbn-i18n/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/i18n", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-import-resolver/kibana.jsonc b/packages/kbn-import-resolver/kibana.jsonc new file mode 100644 index 0000000000000..9e05986966210 --- /dev/null +++ b/packages/kbn-import-resolver/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/import-resolver", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-import-resolver/package.json b/packages/kbn-import-resolver/package.json index d8a6e72792399..a809d48bc2410 100644 --- a/packages/kbn-import-resolver/package.json +++ b/packages/kbn-import-resolver/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-import-resolver/src/import_resolver.ts b/packages/kbn-import-resolver/src/import_resolver.ts index 05b69f299a798..74e2ed52ca453 100644 --- a/packages/kbn-import-resolver/src/import_resolver.ts +++ b/packages/kbn-import-resolver/src/import_resolver.ts @@ -7,12 +7,12 @@ */ import Path from 'path'; -import Fs from 'fs'; import Resolve from 'resolve'; +import { readPackageManifest } from '@kbn/bazel-packages'; import { REPO_ROOT } from '@kbn/utils'; import normalizePath from 'normalize-path'; -import { discoverBazelPackageLocations } from '@kbn/bazel-packages'; +import { discoverPackageManifestPaths } from '@kbn/bazel-packages'; import { readPackageMap, PackageMap } from '@kbn/synthetic-package-map'; import { safeStat, readFileSync } from './helpers/fs'; @@ -25,18 +25,10 @@ const NODE_MODULE_SEG = Path.sep + 'node_modules' + Path.sep; export class ImportResolver { static create(repoRoot: string) { const pkgMap = new Map(); - for (const dir of discoverBazelPackageLocations(REPO_ROOT)) { - const relativeBazelPackageDir = Path.relative(REPO_ROOT, dir); - const repoRootBazelPackageDir = Path.resolve(repoRoot, relativeBazelPackageDir); - - if (!Fs.existsSync(Path.resolve(repoRootBazelPackageDir, 'package.json'))) { - continue; - } - - const pkg = JSON.parse( - Fs.readFileSync(Path.resolve(repoRootBazelPackageDir, 'package.json'), 'utf8') - ); - pkgMap.set(pkg.name, normalizePath(relativeBazelPackageDir)); + for (const manifestPath of discoverPackageManifestPaths(REPO_ROOT)) { + const relativeBazelPackageDir = Path.relative(REPO_ROOT, Path.dirname(manifestPath)); + const pkg = readPackageManifest(manifestPath); + pkgMap.set(pkg.id, normalizePath(relativeBazelPackageDir)); } return new ImportResolver(repoRoot, pkgMap, readPackageMap()); diff --git a/packages/kbn-interpreter/kibana.jsonc b/packages/kbn-interpreter/kibana.jsonc new file mode 100644 index 0000000000000..5439509b2c0c7 --- /dev/null +++ b/packages/kbn-interpreter/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/interpreter", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-io-ts-utils/kibana.jsonc b/packages/kbn-io-ts-utils/kibana.jsonc new file mode 100644 index 0000000000000..f903e878366b2 --- /dev/null +++ b/packages/kbn-io-ts-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/io-ts-utils", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-jest-serializers/kibana.jsonc b/packages/kbn-jest-serializers/kibana.jsonc new file mode 100644 index 0000000000000..2742ade92e31a --- /dev/null +++ b/packages/kbn-jest-serializers/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/jest-serializers", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-jest-serializers/package.json b/packages/kbn-jest-serializers/package.json index c049ef6725157..1f6642f0557fd 100644 --- a/packages/kbn-jest-serializers/package.json +++ b/packages/kbn-jest-serializers/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-jsonc/BUILD.bazel b/packages/kbn-jsonc/BUILD.bazel deleted file mode 100644 index e38170649a9a8..0000000000000 --- a/packages/kbn-jsonc/BUILD.bazel +++ /dev/null @@ -1,125 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-jsonc" -PKG_REQUIRE_NAME = "@kbn/jsonc" - -SOURCE_FILES = glob( - [ - "**/*.js", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - declaration_map = True, - allow_js = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm_types( - name = "npm_module_types", - srcs = SRCS, - deps = [":tsc_types"], - package_name = PKG_REQUIRE_NAME, - tsconfig = ":tsconfig", - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-jsonc/README.mdx b/packages/kbn-jsonc/README.mdx deleted file mode 100644 index 79ab8fc52bd92..0000000000000 --- a/packages/kbn-jsonc/README.mdx +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: kibDevDocsOpsJsonc -slug: /kibana-dev-docs/ops/jsonc -title: "@kbn/jsonc" -description: A package for parsing jsonc -date: 2022-05-24 -tags: ['kibana', 'dev', 'contributor', 'operations', 'json', 'jsonc'] ---- - -This package exposes a simple `parse(jsonc: string)` function for parsing JSON-C content. JSON-C is a variant of JSON which supports both block and line comments, which are incredibly useful for configuration files that are committed to the repository and would benefit from the context of comments. - -Additionally supported in JSON-C... TRAILING COMMAS! - -VSCode and TypeScript use jsonc for their config files, so we're already using it in a lot of places, but we're going to start using it in more places too. This package is implemented in vanilla JS with a vendored copy of [`strip-json-comments`](https://github.com/sindresorhus/strip-json-comments) so that we can use this code from kbn_pm without node modules installed. - -## API - -### parse(jsonc: string): any - -Parses a JSON-C string into the value defined by the content. \ No newline at end of file diff --git a/packages/kbn-jsonc/package.json b/packages/kbn-jsonc/package.json deleted file mode 100644 index 73fc5acfe447c..0000000000000 --- a/packages/kbn-jsonc/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@kbn/jsonc", - "private": true, - "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0" -} diff --git a/packages/kbn-jsonc/tsconfig.json b/packages/kbn-jsonc/tsconfig.json deleted file mode 100644 index 7057d75ce4952..0000000000000 --- a/packages/kbn-jsonc/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "declarationMap": true, - "emitDeclarationOnly": true, - "allowJs": true, - "checkJs": true, - "outDir": "target_types", - "stripInternal": false, - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.js" - ] -} diff --git a/packages/kbn-kibana-manifest-parser/BUILD.bazel b/packages/kbn-kibana-manifest-parser/BUILD.bazel deleted file mode 100644 index aff27a65537ad..0000000000000 --- a/packages/kbn-kibana-manifest-parser/BUILD.bazel +++ /dev/null @@ -1,127 +0,0 @@ -load("@npm//@bazel/typescript:index.bzl", "ts_config") -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//src/dev/bazel:index.bzl", "jsts_transpiler", "pkg_npm", "pkg_npm_types", "ts_project") - -PKG_DIRNAME = "kbn-kibana-manifest-parser" -PKG_REQUIRE_NAME = "@kbn/kibana-manifest-parser" - -SOURCE_FILES = glob( - [ - "**/*.js", - "**/*.ts", - ], - exclude = [ - "**/*.config.js", - "**/*.mock.*", - "**/*.test.*", - "**/*.stories.*", - "**/__snapshots__/**", - "**/integration_tests/**", - "**/mocks/**", - "**/scripts/**", - "**/storybook/**", - "**/test_fixtures/**", - "**/test_helpers/**", - ], -) - -SRCS = SOURCE_FILES - -filegroup( - name = "srcs", - srcs = SRCS, -) - -NPM_MODULE_EXTRA_FILES = [ - "package.json", -] - -# In this array place runtime dependencies, including other packages and NPM packages -# which must be available for this code to run. -# -# To reference other packages use: -# "//repo/relative/path/to/package" -# eg. "//packages/kbn-utils" -# -# To reference a NPM package use: -# "@npm//name-of-package" -# eg. "@npm//lodash" -RUNTIME_DEPS = [ -] - -# In this array place dependencies necessary to build the types, which will include the -# :npm_module_types target of other packages and packages from NPM, including @types/* -# packages. -# -# To reference the types for another package use: -# "//repo/relative/path/to/package:npm_module_types" -# eg. "//packages/kbn-utils:npm_module_types" -# -# References to NPM packages work the same as RUNTIME_DEPS -TYPES_DEPS = [ - "@npm//@types/node", - "@npm//@types/jest", - "//packages/kbn-jsonc:npm_module_types", -] - -jsts_transpiler( - name = "target_node", - srcs = SRCS, - build_pkg_name = package_name(), -) - -ts_config( - name = "tsconfig", - src = "tsconfig.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.bazel.json", - ], -) - -ts_project( - name = "tsc_types", - args = ['--pretty'], - srcs = SRCS, - deps = TYPES_DEPS, - declaration = True, - declaration_map = True, - allow_js = True, - emit_declaration_only = True, - out_dir = "target_types", - tsconfig = ":tsconfig", -) - -js_library( - name = PKG_DIRNAME, - srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node"], - package_name = PKG_REQUIRE_NAME, - visibility = ["//visibility:public"], -) - -pkg_npm( - name = "npm_module", - deps = [":" + PKG_DIRNAME], -) - -filegroup( - name = "build", - srcs = [":npm_module"], - visibility = ["//visibility:public"], -) - -pkg_npm_types( - name = "npm_module_types", - srcs = SRCS, - deps = [":tsc_types"], - package_name = PKG_REQUIRE_NAME, - tsconfig = ":tsconfig", - visibility = ["//visibility:public"], -) - -filegroup( - name = "build_types", - srcs = [":npm_module_types"], - visibility = ["//visibility:public"], -) diff --git a/packages/kbn-kibana-manifest-parser/README.mdx b/packages/kbn-kibana-manifest-parser/README.mdx deleted file mode 100644 index 52467e94cdcec..0000000000000 --- a/packages/kbn-kibana-manifest-parser/README.mdx +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: kibDevDocsOpsKibanaManifestParser -slug: /kibana-dev-docs/ops/kibana-manifest-parser -title: "@kbn/kibana-manifest-parser" -description: A package for parsing Kibana package manifest files -date: 2022-05-24 -tags: ['kibana', 'dev', 'contributor', 'operations', 'package', 'kibana.json', 'kibana.jsonc'] ---- - -This package exposes functions and types for parsing Kibana manifest files (in the new `kibana.jsonc` format) - -## API - -### `parseKibanaManifest(jsonc: string): KibanaPackageManifest` - -Parses a JSON-C string into a valid `KibanaPackageManifest` object. If the manifest is invalid an error is thrown. - -### `readKibanaManifest(path: string): KibanaPackageManifest` - -Read a Kibana manifest from disk and parse it, returning a KibanaPackageManifest. If the file doesn't exist or is invalid in some way an error is thrown. - -### `validateKibanaManifest(value: unknown): KibanaPackageManifest` - -Validate a parsed Kibana manifest. If the manifest is invalid an error is thrown. diff --git a/packages/kbn-kibana-manifest-parser/index.ts b/packages/kbn-kibana-manifest-parser/index.ts deleted file mode 100644 index f89c1c8124cce..0000000000000 --- a/packages/kbn-kibana-manifest-parser/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* - * 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 { - parseKibanaManifest, - readKibanaManifest, - validateKibanaManifest, -} from './src/parse_kibana_manifest'; -export type { KibanaPackageManifest } from './src/kibana_manifest'; diff --git a/packages/kbn-kibana-manifest-parser/jest.config.js b/packages/kbn-kibana-manifest-parser/jest.config.js deleted file mode 100644 index f50552e3e36e5..0000000000000 --- a/packages/kbn-kibana-manifest-parser/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - * 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. - */ - -module.exports = { - preset: '@kbn/test/jest_node', - rootDir: '../..', - roots: ['/packages/kbn-kibana-manifest-parser'], -}; diff --git a/packages/kbn-kibana-manifest-parser/package.json b/packages/kbn-kibana-manifest-parser/package.json deleted file mode 100644 index e2ab7ac2417e9..0000000000000 --- a/packages/kbn-kibana-manifest-parser/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "@kbn/kibana-manifest-parser", - "private": true, - "version": "1.0.0", - "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0" -} diff --git a/packages/kbn-kibana-manifest-parser/src/kibana_manifest.ts b/packages/kbn-kibana-manifest-parser/src/kibana_manifest.ts deleted file mode 100644 index 2f99b0293d8a2..0000000000000 --- a/packages/kbn-kibana-manifest-parser/src/kibana_manifest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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 type KibanaPackageType = - | 'plugin-browser' - | 'plugin-server' - | 'shared-browser' - | 'shared-server' - | 'shared-common' - | 'shared-scss' - | 'functional-tests' - | 'test-helper'; - -interface PackageManifestBaseFields { - type: KibanaPackageType; - id: string; - owner: string; - typeDeps: string[]; - runtimeDeps: string[]; -} - -export interface PluginPackageManifest extends PackageManifestBaseFields { - type: 'plugin-browser' | 'plugin-server'; - plugin: { - id: string; - configPath?: string[]; - requiredPlugins?: string[]; - optionalPlugins?: string[]; - description?: string; - enabledOnAnonymousPages?: boolean; - serviceFolders?: string[]; - }; -} - -export interface SharedBrowserPackageManifest extends PackageManifestBaseFields { - type: 'shared-browser' | 'shared-common'; - sharedBrowserBundle?: boolean; -} - -export interface BasePackageManifest extends PackageManifestBaseFields { - type: 'shared-server' | 'functional-tests' | 'test-helper' | 'shared-scss'; -} - -export type KibanaPackageManifest = - | PluginPackageManifest - | SharedBrowserPackageManifest - | BasePackageManifest; diff --git a/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.test.ts b/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.test.ts deleted file mode 100644 index 4743adb1f5e48..0000000000000 --- a/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.test.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* - * 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 { validateKibanaManifest } from './parse_kibana_manifest'; - -const BASE_FIELDS = { - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [], -}; - -describe('validateKibanaManifest', () => { - it('requires valid type', () => { - expect(() => validateKibanaManifest({})).toThrowErrorMatchingInlineSnapshot( - `"invalid package \\"type\\", options are [functional-tests, plugin-browser, plugin-server, shared-browser, shared-common, shared-server, test-helper, shared-scss]"` - ); - }); - - it('requires valid id', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid package \\"id\\", must be a string that starts with @kbn/"` - ); - }); - - it('requires valid owner', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid package \\"owner\\", must be a valid Github team handle starting with @"` - ); - }); - - it('requires valid typeDeps', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - }) - ).toThrowErrorMatchingInlineSnapshot(`"invalid \\"typeDeps\\", must be an array of strings"`); - - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: false, - }) - ).toThrowErrorMatchingInlineSnapshot(`"invalid \\"typeDeps\\", must be an array of strings"`); - - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [1], - }) - ).toThrowErrorMatchingInlineSnapshot(`"invalid \\"typeDeps\\", must be an array of strings"`); - }); - - it('requires valid runtimeDeps', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid \\"runtimeDeps\\", must be an array of strings"` - ); - - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: false, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid \\"runtimeDeps\\", must be an array of strings"` - ); - - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [1], - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid \\"runtimeDeps\\", must be an array of strings"` - ); - }); - - it('validates base types', () => { - expect( - validateKibanaManifest({ - type: 'shared-server', - ...BASE_FIELDS, - }) - ).toMatchInlineSnapshot(` - Object { - "id": "@kbn/foo", - "owner": "@elastic/kibana-operations", - "runtimeDeps": Array [], - "type": "shared-server", - "typeDeps": Array [], - } - `); - expect( - validateKibanaManifest({ - type: 'functional-tests', - ...BASE_FIELDS, - }) - ).toMatchInlineSnapshot(` - Object { - "id": "@kbn/foo", - "owner": "@elastic/kibana-operations", - "runtimeDeps": Array [], - "type": "functional-tests", - "typeDeps": Array [], - } - `); - expect( - validateKibanaManifest({ - type: 'test-helper', - ...BASE_FIELDS, - }) - ).toMatchInlineSnapshot(` - Object { - "id": "@kbn/foo", - "owner": "@elastic/kibana-operations", - "runtimeDeps": Array [], - "type": "test-helper", - "typeDeps": Array [], - } - `); - }); - - describe('plugin-* types', () => { - it('requires valid plugin for plugin-* types', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [], - }) - ).toThrowErrorMatchingInlineSnapshot(`"invalid package \\"plugin\\", must be an object"`); - }); - - it('requires "id" in plugins', () => { - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [], - plugin: {}, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid \\"plugin.id\\", must be a string in camel or snake case"` - ); - - expect(() => - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [], - plugin: { - id: 'not-camel-case', - }, - }) - ).toThrowErrorMatchingInlineSnapshot( - `"invalid \\"plugin.id\\", must be a string in camel or snake case"` - ); - - expect( - validateKibanaManifest({ - type: 'plugin-browser', - id: '@kbn/foo', - owner: '@elastic/kibana-operations', - typeDeps: [], - runtimeDeps: [], - plugin: { - id: 'camelCase', - }, - }) - ).toMatchInlineSnapshot(` - Object { - "id": "@kbn/foo", - "owner": "@elastic/kibana-operations", - "plugin": Object { - "configPath": undefined, - "description": undefined, - "enabledOnAnonymousPages": undefined, - "id": "camelCase", - "optionalPlugins": undefined, - "requiredPlugins": undefined, - "serviceFolders": undefined, - }, - "runtimeDeps": Array [], - "type": "plugin-browser", - "typeDeps": Array [], - } - `); - }); - }); -}); diff --git a/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.ts b/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.ts deleted file mode 100644 index aeccd08e6d8c0..0000000000000 --- a/packages/kbn-kibana-manifest-parser/src/parse_kibana_manifest.ts +++ /dev/null @@ -1,189 +0,0 @@ -/* - * 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 Fs from 'fs'; - -import { parse } from '@kbn/jsonc'; -import { PluginPackageManifest, KibanaPackageManifest } from './kibana_manifest'; - -import { - isObj, - isValidId, - isValidPkgType, - isArrOfIds, - isArrOfStrings, - PACKAGE_TYPES, -} from './util'; - -const err = (msg: string) => new Error(msg); - -function validateKibanaManifestPlugin(plugin: unknown): PluginPackageManifest['plugin'] { - if (!isObj(plugin)) { - throw err(`invalid package "plugin", must be an object`); - } - - const { - id, - configPath, - requiredPlugins, - optionalPlugins, - description, - enabledOnAnonymousPages, - serviceFolders, - ...extra - } = plugin; - - const extraKeys = Object.keys(extra); - if (extraKeys.length) { - throw err(`unexpected keys in "plugin" of package [${extraKeys.join(', ')}]`); - } - - if (typeof id !== 'string' || !isValidId(id)) { - throw err(`invalid "plugin.id", must be a string in camel or snake case`); - } - - if (configPath !== undefined && !isArrOfIds(configPath)) { - throw err(`invalid "plugin.configPath", must be an array of strings in camel or snake case`); - } - - if (requiredPlugins !== undefined && !isArrOfIds(requiredPlugins)) { - throw err( - `invalid "plugin.requiredPlugins", must be an array of strings in camel or snake case` - ); - } - - if (optionalPlugins !== undefined && !isArrOfIds(optionalPlugins)) { - throw err( - `invalid "plugin.requiredPlugins", must be an array of strings in camel or snake case` - ); - } - - if (description !== undefined && typeof description !== 'string') { - throw err(`invalid "plugin.description", must be a string`); - } - - if (enabledOnAnonymousPages !== undefined && typeof enabledOnAnonymousPages !== 'boolean') { - throw err(`invalid "plugin.enabledOnAnonymousPages", must be a boolean`); - } - - if (serviceFolders !== undefined && !isArrOfStrings(serviceFolders)) { - throw err(`invalid "plugin.serviceFolders", must be an array of strings`); - } - - return { - id, - configPath, - requiredPlugins, - optionalPlugins, - description, - enabledOnAnonymousPages, - serviceFolders, - }; -} - -/** - * Validate the contents of a parsed kibana.jsonc file. - */ -export function validateKibanaManifest(parsed: unknown): KibanaPackageManifest { - if (!isObj(parsed)) { - throw err('expected root value to be an object'); - } - - const { type, id, owner, typeDeps, runtimeDeps, plugin, sharedBrowserBundle, ...extra } = parsed; - - const extraKeys = Object.keys(extra); - if (extraKeys.length) { - throw err(`unexpected keys in package manifest [${extraKeys.join(', ')}]`); - } - - if (!isValidPkgType(type)) { - throw err(`invalid package "type", options are [${PACKAGE_TYPES.join(', ')}]`); - } - - if (typeof id !== 'string' || !id.startsWith('@kbn/')) { - throw err(`invalid package "id", must be a string that starts with @kbn/`); - } - - if (typeof owner !== 'string' || !owner.startsWith('@')) { - throw err(`invalid package "owner", must be a valid Github team handle starting with @`); - } - - if (!isArrOfStrings(typeDeps)) { - throw err(`invalid "typeDeps", must be an array of strings`); - } - - if (!isArrOfStrings(runtimeDeps)) { - throw err(`invalid "runtimeDeps", must be an array of strings`); - } - - const base = { - id, - owner, - typeDeps, - runtimeDeps, - }; - - // return if this is one of the more basic types of package types - if (type === 'shared-server' || type === 'functional-tests' || type === 'test-helper') { - return { - type, - ...base, - }; - } - - // handle the plugin field for plugin-* types - if (type === 'plugin-browser' || type === 'plugin-server') { - return { - type, - ...base, - plugin: validateKibanaManifestPlugin(plugin), - }; - } - - // parse the sharedBrowserBundle for shared-browser and shared-common types - if (sharedBrowserBundle !== undefined && typeof sharedBrowserBundle !== 'boolean') { - throw err(`invalid "sharedBrowserBundle" field, expected undefined or a boolean`); - } - return { - type, - ...base, - sharedBrowserBundle, - }; -} - -/** - * Parse a kibana.jsonc file from the filesystem - */ -export function readKibanaManifest(path: string) { - let content; - try { - content = Fs.readFileSync(path, 'utf8'); - } catch (error) { - if (error.code === 'ENOENT') { - throw err(`Missing kibana.json file at ${path}`); - } - - throw error; - } - - return parseKibanaManifest(content); -} - -/** - * Parse a kibana.jsonc file from a string - */ -export function parseKibanaManifest(content: string) { - let parsed; - try { - parsed = parse(content); - } catch (error) { - throw err(`Invalid JSONc: ${error.message}`); - } - - return validateKibanaManifest(parsed); -} diff --git a/packages/kbn-kibana-manifest-parser/src/util.ts b/packages/kbn-kibana-manifest-parser/src/util.ts deleted file mode 100644 index 07b6a6c40a91e..0000000000000 --- a/packages/kbn-kibana-manifest-parser/src/util.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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 { KibanaPackageType } from './kibana_manifest'; - -export const ID_PATTERN = /^[a-z][a-zA-Z_]*$/; - -export function isObj(v: unknown): v is Record { - return typeof v === 'object' && v !== null; -} - -export const isArrOfStrings = (v: unknown): v is string[] => - Array.isArray(v) && v.every((i) => typeof i === 'string'); - -export const isValidId = (id: string) => ID_PATTERN.test(id); - -export const isArrOfIds = (v: unknown): v is string[] => isArrOfStrings(v) && v.every(isValidId); - -/** - * This weird map allows us to ensure that every value in the - * `KibanaPackageType` union is represented because the mapped - * type requires that the `PACKAGE_TYPE_MAP` map has a property - * matching every value in the union. - */ -const PACKAGE_TYPE_MAP: { [k in KibanaPackageType]: true } = { - 'functional-tests': true, - 'plugin-browser': true, - 'plugin-server': true, - 'shared-browser': true, - 'shared-common': true, - 'shared-server': true, - 'test-helper': true, - 'shared-scss': true, -}; - -export const PACKAGE_TYPES = Object.keys(PACKAGE_TYPE_MAP) as KibanaPackageType[]; - -export const isValidPkgType = (type: unknown): type is keyof typeof PACKAGE_TYPE_MAP => - typeof type === 'string' && Object.hasOwn(PACKAGE_TYPE_MAP, type); diff --git a/packages/kbn-kibana-manifest-parser/tsconfig.json b/packages/kbn-kibana-manifest-parser/tsconfig.json deleted file mode 100644 index ad1611b40c04e..0000000000000 --- a/packages/kbn-kibana-manifest-parser/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "../../tsconfig.bazel.json", - "compilerOptions": { - "declaration": true, - "declarationMap": true, - "emitDeclarationOnly": true, - "allowJs": true, - "checkJs": true, - "outDir": "target_types", - "stripInternal": false, - "types": [ - "jest", - "node" - ] - }, - "include": [ - "**/*.js", - "**/*.ts", - ] -} diff --git a/packages/kbn-kibana-manifest-schema/README.mdx b/packages/kbn-kibana-manifest-schema/README.mdx index 96def9e65ee73..176c960d49d82 100644 --- a/packages/kbn-kibana-manifest-schema/README.mdx +++ b/packages/kbn-kibana-manifest-schema/README.mdx @@ -1,7 +1,7 @@ --- id: kibDevDocsOpsKibanaManifestSchema slug: /kibana-dev-docs/ops/kibana-manifest-schema -title: "@kbn/jsonc" +title: "@kbn/kibana-manifest-schema" description: The JSON schema for Kibana manifest files date: 2022-05-24 tags: ['kibana', 'dev', 'contributor', 'operations', 'json', 'schema', 'manifest'] diff --git a/packages/kbn-kibana-manifest-schema/kibana.jsonc b/packages/kbn-kibana-manifest-schema/kibana.jsonc new file mode 100644 index 0000000000000..5ddba1f9529a7 --- /dev/null +++ b/packages/kbn-kibana-manifest-schema/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/kibana-manifest-schema", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts index ca02e48f00e2d..b665808837121 100644 --- a/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts +++ b/packages/kbn-kibana-manifest-schema/src/kibana_json_v2_schema.ts @@ -13,11 +13,18 @@ export const PLUGIN_ID_PATTERN = /^[a-z][a-zA-Z_]*$/; export const MANIFEST_V2: JSONSchema = { type: 'object', - required: ['id', 'type', 'owner', 'typeDependencies', 'runtimeDependencies'], + required: ['id', 'type', 'owner', 'typeDeps', 'runtimeDeps'], + // @ts-expect-error VSCode specific JSONSchema extension + allowTrailingCommas: true, properties: { id: { type: 'string', pattern: '^@kbn/', + description: desc` + Module ID for this package. This must be globbally unique amoungst all + packages and should include the most important information about how this + package should be used. Avoid generic names to aid in disambiguation. + `, }, owner: { type: 'string', @@ -25,12 +32,11 @@ export const MANIFEST_V2: JSONSchema = { Github handle for the person or team who is responsible for this package. This owner will be used in the codeowners files for this package. - For additional codeowners, you add additional entries at the end of the - codeowners file. + For additional codeowners, you add manually add entries to the codeowners file. `, pattern: '^@', }, - typeDependencies: { + typeDeps: { type: 'array', description: desc` Packages which are required for the source code in the package to be @@ -40,7 +46,7 @@ export const MANIFEST_V2: JSONSchema = { type: 'string', }, }, - runtimeDependencies: { + runtimeDeps: { type: 'array', description: desc` Packages which are required for the source code in the package to run. This list @@ -50,6 +56,14 @@ export const MANIFEST_V2: JSONSchema = { type: 'string', }, }, + devOnly: { + type: 'boolean', + description: desc` + A devOnly package can be used by other devOnly packages and only by other devOnly + packages and will never be included in the distributable. + `, + default: false, + }, }, oneOf: [ { diff --git a/packages/kbn-logging-mocks/kibana.jsonc b/packages/kbn-logging-mocks/kibana.jsonc new file mode 100644 index 0000000000000..6b95f3a750f28 --- /dev/null +++ b/packages/kbn-logging-mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/logging-mocks", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-logging/kibana.jsonc b/packages/kbn-logging/kibana.jsonc new file mode 100644 index 0000000000000..ab4df8442093b --- /dev/null +++ b/packages/kbn-logging/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/logging", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-managed-vscode-config-cli/kibana.jsonc b/packages/kbn-managed-vscode-config-cli/kibana.jsonc new file mode 100644 index 0000000000000..1cbb5cb7ce7cb --- /dev/null +++ b/packages/kbn-managed-vscode-config-cli/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/managed-vscode-config-cli", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-managed-vscode-config-cli/package.json b/packages/kbn-managed-vscode-config-cli/package.json index c1da1e53dbc04..ba4086c773eee 100644 --- a/packages/kbn-managed-vscode-config-cli/package.json +++ b/packages/kbn-managed-vscode-config-cli/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-managed-vscode-config/kibana.jsonc b/packages/kbn-managed-vscode-config/kibana.jsonc new file mode 100644 index 0000000000000..c973127eb5485 --- /dev/null +++ b/packages/kbn-managed-vscode-config/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/managed-vscode-config", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-managed-vscode-config/package.json b/packages/kbn-managed-vscode-config/package.json index 84de677b6f378..cc337813a7300 100644 --- a/packages/kbn-managed-vscode-config/package.json +++ b/packages/kbn-managed-vscode-config/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-mapbox-gl/kibana.jsonc b/packages/kbn-mapbox-gl/kibana.jsonc new file mode 100644 index 0000000000000..35ffb25b0b115 --- /dev/null +++ b/packages/kbn-mapbox-gl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/mapbox-gl", + "owner": "@elastic/kibana-gis", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-monaco/kibana.jsonc b/packages/kbn-monaco/kibana.jsonc new file mode 100644 index 0000000000000..42524f21bd542 --- /dev/null +++ b/packages/kbn-monaco/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/monaco", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-optimizer-webpack-helpers/kibana.jsonc b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc new file mode 100644 index 0000000000000..102818ed032c2 --- /dev/null +++ b/packages/kbn-optimizer-webpack-helpers/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/optimizer-webpack-helpers", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-optimizer-webpack-helpers/package.json b/packages/kbn-optimizer-webpack-helpers/package.json index ca65edcf9d017..a37b5ba48ee48 100644 --- a/packages/kbn-optimizer-webpack-helpers/package.json +++ b/packages/kbn-optimizer-webpack-helpers/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-optimizer/kibana.jsonc b/packages/kbn-optimizer/kibana.jsonc new file mode 100644 index 0000000000000..945fdc1e0366c --- /dev/null +++ b/packages/kbn-optimizer/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/optimizer", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-optimizer/package.json b/packages/kbn-optimizer/package.json index 4d3d17c5242c6..a7d8a50927634 100644 --- a/packages/kbn-optimizer/package.json +++ b/packages/kbn-optimizer/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "./target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc b/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc new file mode 100644 index 0000000000000..f09d991b49ec1 --- /dev/null +++ b/packages/kbn-performance-testing-dataset-extractor/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/performance-testing-dataset-extractor", + "devOnly": true, + "owner": "@elastic/kibana-performance-testing", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-performance-testing-dataset-extractor/package.json b/packages/kbn-performance-testing-dataset-extractor/package.json index 4d637728b28de..12073ed76f3ea 100644 --- a/packages/kbn-performance-testing-dataset-extractor/package.json +++ b/packages/kbn-performance-testing-dataset-extractor/package.json @@ -4,8 +4,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-plugin-discovery/kibana.jsonc b/packages/kbn-plugin-discovery/kibana.jsonc new file mode 100644 index 0000000000000..8e6ad8a0c35de --- /dev/null +++ b/packages/kbn-plugin-discovery/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/plugin-discovery", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-plugin-generator/kibana.jsonc b/packages/kbn-plugin-generator/kibana.jsonc new file mode 100644 index 0000000000000..1045f43539324 --- /dev/null +++ b/packages/kbn-plugin-generator/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/plugin-generator", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-plugin-generator/package.json b/packages/kbn-plugin-generator/package.json index 0b6c11709b90e..28b7e849ab3c1 100644 --- a/packages/kbn-plugin-generator/package.json +++ b/packages/kbn-plugin-generator/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-plugin-helpers/kibana.jsonc b/packages/kbn-plugin-helpers/kibana.jsonc new file mode 100644 index 0000000000000..84a87720dab0c --- /dev/null +++ b/packages/kbn-plugin-helpers/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/plugin-helpers", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-plugin-helpers/package.json b/packages/kbn-plugin-helpers/package.json index cac041762f739..206b3e77b39af 100644 --- a/packages/kbn-plugin-helpers/package.json +++ b/packages/kbn-plugin-helpers/package.json @@ -4,9 +4,6 @@ "private": true, "description": "Just some helpers for kibana plugin devs.", "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - }, "main": "target_node/index.js", "bin": { "plugin-helpers": "bin/plugin-helpers.js" diff --git a/packages/kbn-react-field/kibana.jsonc b/packages/kbn-react-field/kibana.jsonc new file mode 100644 index 0000000000000..aade3b0242974 --- /dev/null +++ b/packages/kbn-react-field/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/react-field", + "owner": "@elastic/kibana-app-services", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-repo-source-classifier-cli/kibana.jsonc b/packages/kbn-repo-source-classifier-cli/kibana.jsonc new file mode 100644 index 0000000000000..a93259974364a --- /dev/null +++ b/packages/kbn-repo-source-classifier-cli/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/repo-source-classifier-cli", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-repo-source-classifier-cli/package.json b/packages/kbn-repo-source-classifier-cli/package.json index 47ca9f6598f93..a8e0cea71bef6 100644 --- a/packages/kbn-repo-source-classifier-cli/package.json +++ b/packages/kbn-repo-source-classifier-cli/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-repo-source-classifier/kibana.jsonc b/packages/kbn-repo-source-classifier/kibana.jsonc new file mode 100644 index 0000000000000..edeb2d3c64a39 --- /dev/null +++ b/packages/kbn-repo-source-classifier/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/repo-source-classifier", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-repo-source-classifier/package.json b/packages/kbn-repo-source-classifier/package.json index fce2be1b056ed..a6f81d992b285 100644 --- a/packages/kbn-repo-source-classifier/package.json +++ b/packages/kbn-repo-source-classifier/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-rule-data-utils/kibana.jsonc b/packages/kbn-rule-data-utils/kibana.jsonc new file mode 100644 index 0000000000000..0fe42f6cb6e3d --- /dev/null +++ b/packages/kbn-rule-data-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/rule-data-utils", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-safer-lodash-set/kibana.jsonc b/packages/kbn-safer-lodash-set/kibana.jsonc new file mode 100644 index 0000000000000..8d7c5dfbb6bb3 --- /dev/null +++ b/packages/kbn-safer-lodash-set/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/safer-lodash-set", + "owner": "@elastic/kibana-security", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-autocomplete/kibana.jsonc b/packages/kbn-securitysolution-autocomplete/kibana.jsonc new file mode 100644 index 0000000000000..fbf73ddf07fb4 --- /dev/null +++ b/packages/kbn-securitysolution-autocomplete/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-autocomplete", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-es-utils/kibana.jsonc b/packages/kbn-securitysolution-es-utils/kibana.jsonc new file mode 100644 index 0000000000000..a798aefeae37d --- /dev/null +++ b/packages/kbn-securitysolution-es-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-es-utils", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-hook-utils/kibana.jsonc b/packages/kbn-securitysolution-hook-utils/kibana.jsonc new file mode 100644 index 0000000000000..cd7d23f07792d --- /dev/null +++ b/packages/kbn-securitysolution-hook-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-hook-utils", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc new file mode 100644 index 0000000000000..d1e730f414d18 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-alerting-types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-io-ts-alerting-types", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc new file mode 100644 index 0000000000000..d50df0b0d6512 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-list-types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-io-ts-list-types", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-io-ts-types/kibana.jsonc b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc new file mode 100644 index 0000000000000..6ef8a21b00e1e --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-io-ts-types", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc new file mode 100644 index 0000000000000..2c86eea21c0c1 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-io-ts-utils", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-list-api/kibana.jsonc b/packages/kbn-securitysolution-list-api/kibana.jsonc new file mode 100644 index 0000000000000..b162805a8c8b4 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-list-api", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-list-constants/kibana.jsonc b/packages/kbn-securitysolution-list-constants/kibana.jsonc new file mode 100644 index 0000000000000..ffe606ca6ade8 --- /dev/null +++ b/packages/kbn-securitysolution-list-constants/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-list-constants", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-list-hooks/kibana.jsonc b/packages/kbn-securitysolution-list-hooks/kibana.jsonc new file mode 100644 index 0000000000000..12d670f46ae32 --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-list-hooks", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-list-utils/kibana.jsonc b/packages/kbn-securitysolution-list-utils/kibana.jsonc new file mode 100644 index 0000000000000..db7d0a5ec334f --- /dev/null +++ b/packages/kbn-securitysolution-list-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-list-utils", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-rules/kibana.jsonc b/packages/kbn-securitysolution-rules/kibana.jsonc new file mode 100644 index 0000000000000..b7e64cfd39e6b --- /dev/null +++ b/packages/kbn-securitysolution-rules/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-rules", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-t-grid/kibana.jsonc b/packages/kbn-securitysolution-t-grid/kibana.jsonc new file mode 100644 index 0000000000000..bc0f533b72120 --- /dev/null +++ b/packages/kbn-securitysolution-t-grid/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-t-grid", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-securitysolution-utils/kibana.jsonc b/packages/kbn-securitysolution-utils/kibana.jsonc new file mode 100644 index 0000000000000..24e63965c20c8 --- /dev/null +++ b/packages/kbn-securitysolution-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/securitysolution-utils", + "owner": "@elastic/security-solution-platform", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-server-http-tools/kibana.jsonc b/packages/kbn-server-http-tools/kibana.jsonc new file mode 100644 index 0000000000000..b96916745c984 --- /dev/null +++ b/packages/kbn-server-http-tools/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/server-http-tools", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-server-route-repository/kibana.jsonc b/packages/kbn-server-route-repository/kibana.jsonc new file mode 100644 index 0000000000000..e1e69049b1791 --- /dev/null +++ b/packages/kbn-server-route-repository/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/server-route-repository", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-shared-svg/kibana.jsonc b/packages/kbn-shared-svg/kibana.jsonc new file mode 100644 index 0000000000000..e816819c9c24a --- /dev/null +++ b/packages/kbn-shared-svg/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-svg", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-shared-ux-utility/kibana.jsonc b/packages/kbn-shared-ux-utility/kibana.jsonc new file mode 100644 index 0000000000000..55c3996ae4dbc --- /dev/null +++ b/packages/kbn-shared-ux-utility/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-utility", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-some-dev-log/kibana.jsonc b/packages/kbn-some-dev-log/kibana.jsonc new file mode 100644 index 0000000000000..e39904defc552 --- /dev/null +++ b/packages/kbn-some-dev-log/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/some-dev-log", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-some-dev-log/package.json b/packages/kbn-some-dev-log/package.json index f075d74b65359..9b01a43a03c00 100644 --- a/packages/kbn-some-dev-log/package.json +++ b/packages/kbn-some-dev-log/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-sort-package-json/kibana.jsonc b/packages/kbn-sort-package-json/kibana.jsonc new file mode 100644 index 0000000000000..72345c2ccd31c --- /dev/null +++ b/packages/kbn-sort-package-json/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/sort-package-json", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-sort-package-json/package.json b/packages/kbn-sort-package-json/package.json index 9a875835d7450..922124b1bdd73 100644 --- a/packages/kbn-sort-package-json/package.json +++ b/packages/kbn-sort-package-json/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-spec-to-console/kibana.jsonc b/packages/kbn-spec-to-console/kibana.jsonc new file mode 100644 index 0000000000000..cf71c222f6f16 --- /dev/null +++ b/packages/kbn-spec-to-console/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/spec-to-console", + "devOnly": true, + "owner": "@elastic/platform-deployment-management", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-spec-to-console/package.json b/packages/kbn-spec-to-console/package.json index b4e488db7f4d9..b60df2a95ebb9 100644 --- a/packages/kbn-spec-to-console/package.json +++ b/packages/kbn-spec-to-console/package.json @@ -12,9 +12,6 @@ }, "author": "", "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - }, "bugs": { "url": "https://github.com/jbudz/spec-to-console/issues" }, diff --git a/packages/kbn-std/kibana.jsonc b/packages/kbn-std/kibana.jsonc new file mode 100644 index 0000000000000..246c11ee7c3f1 --- /dev/null +++ b/packages/kbn-std/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/std", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-stdio-dev-helpers/kibana.jsonc b/packages/kbn-stdio-dev-helpers/kibana.jsonc new file mode 100644 index 0000000000000..0001ba53d7b7e --- /dev/null +++ b/packages/kbn-stdio-dev-helpers/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/stdio-dev-helpers", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-stdio-dev-helpers/package.json b/packages/kbn-stdio-dev-helpers/package.json index 23b0a1cf65a76..ac14acd56e729 100644 --- a/packages/kbn-stdio-dev-helpers/package.json +++ b/packages/kbn-stdio-dev-helpers/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-storybook/kibana.jsonc b/packages/kbn-storybook/kibana.jsonc new file mode 100644 index 0000000000000..b5499440f46ad --- /dev/null +++ b/packages/kbn-storybook/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/storybook", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-storybook/package.json b/packages/kbn-storybook/package.json index f24d926aa42a3..162152c7f1922 100644 --- a/packages/kbn-storybook/package.json +++ b/packages/kbn-storybook/package.json @@ -4,8 +4,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node/index.js", - "kibana": { - "devOnly": true - } + "main": "./target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-synthetic-package-map/kibana.jsonc b/packages/kbn-synthetic-package-map/kibana.jsonc new file mode 100644 index 0000000000000..153b6548ce841 --- /dev/null +++ b/packages/kbn-synthetic-package-map/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/synthetic-package-map", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-synthetic-package-map/package.json b/packages/kbn-synthetic-package-map/package.json index ae209fdf98db0..ec6ac454bf31d 100644 --- a/packages/kbn-synthetic-package-map/package.json +++ b/packages/kbn-synthetic-package-map/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-telemetry-tools/kibana.jsonc b/packages/kbn-telemetry-tools/kibana.jsonc new file mode 100644 index 0000000000000..c182ddd3e6960 --- /dev/null +++ b/packages/kbn-telemetry-tools/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/telemetry-tools", + "devOnly": true, + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-telemetry-tools/package.json b/packages/kbn-telemetry-tools/package.json index a0096f090e830..649ff72a56956 100644 --- a/packages/kbn-telemetry-tools/package.json +++ b/packages/kbn-telemetry-tools/package.json @@ -4,8 +4,5 @@ "author": "Kibana Core", "license": "SSPL-1.0 OR Elastic License 2.0", "main": "./target_node/index.js", - "private": true, - "kibana": { - "devOnly": true - } + "private": true } \ No newline at end of file diff --git a/packages/kbn-test-jest-helpers/kibana.jsonc b/packages/kbn-test-jest-helpers/kibana.jsonc new file mode 100644 index 0000000000000..70750f8f4f28d --- /dev/null +++ b/packages/kbn-test-jest-helpers/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/test-jest-helpers", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-test-jest-helpers/package.json b/packages/kbn-test-jest-helpers/package.json index afab6001d605d..fa5851895c6d0 100644 --- a/packages/kbn-test-jest-helpers/package.json +++ b/packages/kbn-test-jest-helpers/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node", - "kibana": { - "devOnly": true - } + "main": "./target_node" } diff --git a/packages/kbn-test-subj-selector/kibana.jsonc b/packages/kbn-test-subj-selector/kibana.jsonc new file mode 100644 index 0000000000000..697ce5593ea71 --- /dev/null +++ b/packages/kbn-test-subj-selector/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/test-subj-selector", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-test-subj-selector/package.json b/packages/kbn-test-subj-selector/package.json index 875397d1ec705..8ced36990a6e3 100755 --- a/packages/kbn-test-subj-selector/package.json +++ b/packages/kbn-test-subj-selector/package.json @@ -6,8 +6,5 @@ "keywords": [], "author": "Spencer Alger ", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": "true", - "kibana": { - "devOnly": true - } + "private": "true" } diff --git a/packages/kbn-test/kibana.jsonc b/packages/kbn-test/kibana.jsonc new file mode 100644 index 0000000000000..c921f7ac39626 --- /dev/null +++ b/packages/kbn-test/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/test", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-test/package.json b/packages/kbn-test/package.json index 5f5e475e392c4..de6ba54c26800 100644 --- a/packages/kbn-test/package.json +++ b/packages/kbn-test/package.json @@ -4,8 +4,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target_node", - "kibana": { - "devOnly": true - } + "main": "./target_node" } diff --git a/packages/kbn-timelion-grammar/kibana.jsonc b/packages/kbn-timelion-grammar/kibana.jsonc new file mode 100644 index 0000000000000..211d8483089c2 --- /dev/null +++ b/packages/kbn-timelion-grammar/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/timelion-grammar", + "owner": "@elastic/kibana-vis-editors", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-tinymath/kibana.jsonc b/packages/kbn-tinymath/kibana.jsonc new file mode 100644 index 0000000000000..6ebf2ac0c00ea --- /dev/null +++ b/packages/kbn-tinymath/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/tinymath", + "owner": "@elastic/kibana-vis-editors", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-tooling-log/kibana.jsonc b/packages/kbn-tooling-log/kibana.jsonc new file mode 100644 index 0000000000000..88eecfa75bf38 --- /dev/null +++ b/packages/kbn-tooling-log/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/tooling-log", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-tooling-log/package.json b/packages/kbn-tooling-log/package.json index 53137ddf6366e..5af0ae2aca79a 100644 --- a/packages/kbn-tooling-log/package.json +++ b/packages/kbn-tooling-log/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-type-summarizer-cli/kibana.jsonc b/packages/kbn-type-summarizer-cli/kibana.jsonc new file mode 100644 index 0000000000000..88434bc04812d --- /dev/null +++ b/packages/kbn-type-summarizer-cli/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/type-summarizer-cli", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-type-summarizer-cli/package.json b/packages/kbn-type-summarizer-cli/package.json index fafc57c3c7d08..8b71981054f11 100644 --- a/packages/kbn-type-summarizer-cli/package.json +++ b/packages/kbn-type-summarizer-cli/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-type-summarizer-core/kibana.jsonc b/packages/kbn-type-summarizer-core/kibana.jsonc new file mode 100644 index 0000000000000..322a6c152b2f7 --- /dev/null +++ b/packages/kbn-type-summarizer-core/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/type-summarizer-core", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-type-summarizer-core/package.json b/packages/kbn-type-summarizer-core/package.json index a1dfb4fea8751..1ad7560b3571c 100644 --- a/packages/kbn-type-summarizer-core/package.json +++ b/packages/kbn-type-summarizer-core/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-type-summarizer/kibana.jsonc b/packages/kbn-type-summarizer/kibana.jsonc new file mode 100644 index 0000000000000..e4eb9dc7c6034 --- /dev/null +++ b/packages/kbn-type-summarizer/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/type-summarizer", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-type-summarizer/package.json b/packages/kbn-type-summarizer/package.json index b9118e2b43a3d..9ea19f6497219 100644 --- a/packages/kbn-type-summarizer/package.json +++ b/packages/kbn-type-summarizer/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-typed-react-router-config/kibana.jsonc b/packages/kbn-typed-react-router-config/kibana.jsonc new file mode 100644 index 0000000000000..51882f6266c34 --- /dev/null +++ b/packages/kbn-typed-react-router-config/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/typed-react-router-config", + "owner": "@elastic/apm-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ui-framework/kibana.jsonc b/packages/kbn-ui-framework/kibana.jsonc new file mode 100644 index 0000000000000..eaef655970e37 --- /dev/null +++ b/packages/kbn-ui-framework/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ui-framework", + "owner": "@elastic/kibana-design", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ui-shared-deps-npm/kibana.jsonc b/packages/kbn-ui-shared-deps-npm/kibana.jsonc new file mode 100644 index 0000000000000..b7d47a5ccff4b --- /dev/null +++ b/packages/kbn-ui-shared-deps-npm/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ui-shared-deps-npm", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js b/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js index 6b2c0a8e9512f..4f52032b316ac 100644 --- a/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js +++ b/packages/kbn-ui-shared-deps-npm/src/public_path_loader.js @@ -7,6 +7,7 @@ */ const Qs = require('querystring'); +// eslint-disable-next-line import/no-extraneous-dependencies const { stringifyRequest } = require('loader-utils'); const VAL_LOADER = require.resolve('val-loader'); diff --git a/packages/kbn-ui-shared-deps-src/kibana.jsonc b/packages/kbn-ui-shared-deps-src/kibana.jsonc new file mode 100644 index 0000000000000..49da1e45e9d27 --- /dev/null +++ b/packages/kbn-ui-shared-deps-src/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ui-shared-deps-src", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-ui-theme/kibana.jsonc b/packages/kbn-ui-theme/kibana.jsonc new file mode 100644 index 0000000000000..3f90299e80360 --- /dev/null +++ b/packages/kbn-ui-theme/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ui-theme", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-user-profile-components/kibana.jsonc b/packages/kbn-user-profile-components/kibana.jsonc new file mode 100644 index 0000000000000..d4c7f266fe60b --- /dev/null +++ b/packages/kbn-user-profile-components/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/user-profile-components", + "owner": "@elastic/kibana-security", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-utility-types-jest/kibana.jsonc b/packages/kbn-utility-types-jest/kibana.jsonc new file mode 100644 index 0000000000000..83eaa2ce42aa2 --- /dev/null +++ b/packages/kbn-utility-types-jest/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/utility-types-jest", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-utility-types-jest/package.json b/packages/kbn-utility-types-jest/package.json index 808dd51dec793..b409e49384fc7 100644 --- a/packages/kbn-utility-types-jest/package.json +++ b/packages/kbn-utility-types-jest/package.json @@ -3,8 +3,5 @@ "version": "1.0.0", "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "target_node/index.js", - "kibana": { - "devOnly": false - } + "main": "target_node/index.js" } \ No newline at end of file diff --git a/packages/kbn-utility-types/kibana.jsonc b/packages/kbn-utility-types/kibana.jsonc new file mode 100644 index 0000000000000..c041668a7689b --- /dev/null +++ b/packages/kbn-utility-types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/utility-types", + "owner": "@elastic/kibana-core", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-utility-types/package.json b/packages/kbn-utility-types/package.json index f79164388f18b..fa899c332dee9 100644 --- a/packages/kbn-utility-types/package.json +++ b/packages/kbn-utility-types/package.json @@ -4,9 +4,6 @@ "private": true, "license": "SSPL-1.0 OR Elastic License 2.0", "main": "target_node/index.js", - "kibana": { - "devOnly": false - }, "scripts": { "test": "../../node_modules/.bin/tsd src/tsd_tests" } diff --git a/packages/kbn-utils/kibana.jsonc b/packages/kbn-utils/kibana.jsonc new file mode 100644 index 0000000000000..1e6935937f6e5 --- /dev/null +++ b/packages/kbn-utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/utils", + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-yarn-lock-validator/kibana.jsonc b/packages/kbn-yarn-lock-validator/kibana.jsonc new file mode 100644 index 0000000000000..9ff3e33975597 --- /dev/null +++ b/packages/kbn-yarn-lock-validator/kibana.jsonc @@ -0,0 +1,8 @@ +{ + "type": "shared-common", + "id": "@kbn/yarn-lock-validator", + "devOnly": true, + "owner": "@elastic/kibana-operations", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/kbn-yarn-lock-validator/package.json b/packages/kbn-yarn-lock-validator/package.json index e7d0c00269ac7..4d024fb6aded5 100644 --- a/packages/kbn-yarn-lock-validator/package.json +++ b/packages/kbn-yarn-lock-validator/package.json @@ -3,8 +3,5 @@ "private": true, "version": "1.0.0", "main": "./target_node/index.js", - "license": "SSPL-1.0 OR Elastic License 2.0", - "kibana": { - "devOnly": true - } + "license": "SSPL-1.0 OR Elastic License 2.0" } diff --git a/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts b/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts index 923a0f11fcbf6..668f2911556c9 100644 --- a/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts +++ b/packages/kbn-yarn-lock-validator/src/validate_yarn_lock.ts @@ -93,14 +93,15 @@ export async function validateDependencies(log: SomeDevLog, yarnLock: YarnLock) // look for packages that have the the `kibana.devOnly` flag in their package.json // and make sure they aren't included in the production dependencies of Kibana const bazelPackages = await discoverBazelPackages(REPO_ROOT); - const devOnlyPackagesInProduction = bazelPackages - .filter((p) => p.isDevOnly() && Object.hasOwn(kibanaPackageJson.dependencies, p.pkg.name)) - .map((p) => p.pkg.name); - + const devOnlyPackagesInProduction = bazelPackages.flatMap((p) => + p.isDevOnly() && Object.hasOwn(kibanaPackageJson.dependencies, p.manifest.id) + ? p.manifest.id + : [] + ); if (devOnlyPackagesInProduction.length) { log.error(dedent` Some of the packages in the production dependency chain for Kibana and X-Pack are - flagged with "kibana.devOnly" in their package.json. Please check changes made to + flagged with "devOnly" in their package.json. Please check changes made to packages and their dependencies to ensure they don't end up in production. The devOnly dependencies that are being dependend on in production are: diff --git a/packages/shared-ux/avatar/solution/kibana.jsonc b/packages/shared-ux/avatar/solution/kibana.jsonc new file mode 100644 index 0000000000000..6a2ea7f756381 --- /dev/null +++ b/packages/shared-ux/avatar/solution/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-avatar-solution", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc new file mode 100644 index 0000000000000..328b3ebbdc7bb --- /dev/null +++ b/packages/shared-ux/button/exit_full_screen/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-button-exit-full-screen", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc new file mode 100644 index 0000000000000..4cfb6b20a297b --- /dev/null +++ b/packages/shared-ux/button/exit_full_screen/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-button-exit-full-screen-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc b/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc new file mode 100644 index 0000000000000..00597791c1c83 --- /dev/null +++ b/packages/shared-ux/button/exit_full_screen/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-button-exit-full-screen-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/button_toolbar/kibana.jsonc b/packages/shared-ux/button_toolbar/kibana.jsonc new file mode 100644 index 0000000000000..45d7bb2c935a9 --- /dev/null +++ b/packages/shared-ux/button_toolbar/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-button-toolbar", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/card/no_data/impl/kibana.jsonc b/packages/shared-ux/card/no_data/impl/kibana.jsonc new file mode 100644 index 0000000000000..38ce883168de3 --- /dev/null +++ b/packages/shared-ux/card/no_data/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-card-no-data", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/card/no_data/mocks/kibana.jsonc b/packages/shared-ux/card/no_data/mocks/kibana.jsonc new file mode 100644 index 0000000000000..79230acd9e35c --- /dev/null +++ b/packages/shared-ux/card/no_data/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-card-no-data-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/card/no_data/types/kibana.jsonc b/packages/shared-ux/card/no_data/types/kibana.jsonc new file mode 100644 index 0000000000000..d612fb80bfcd5 --- /dev/null +++ b/packages/shared-ux/card/no_data/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-card-no-data-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/link/redirect_app/impl/kibana.jsonc b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc new file mode 100644 index 0000000000000..38f34416473b9 --- /dev/null +++ b/packages/shared-ux/link/redirect_app/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-link-redirect-app", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc new file mode 100644 index 0000000000000..f9991820df022 --- /dev/null +++ b/packages/shared-ux/link/redirect_app/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-link-redirect-app-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/link/redirect_app/types/kibana.jsonc b/packages/shared-ux/link/redirect_app/types/kibana.jsonc new file mode 100644 index 0000000000000..4de2b13ec358f --- /dev/null +++ b/packages/shared-ux/link/redirect_app/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-link-redirect-app-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc new file mode 100644 index 0000000000000..6b44af223ee87 --- /dev/null +++ b/packages/shared-ux/page/analytics_no_data/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-analytics-no-data", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc new file mode 100644 index 0000000000000..30284a98f4b10 --- /dev/null +++ b/packages/shared-ux/page/analytics_no_data/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-analytics-no-data-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc b/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc new file mode 100644 index 0000000000000..c5f393e68b31d --- /dev/null +++ b/packages/shared-ux/page/analytics_no_data/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-analytics-no-data-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc new file mode 100644 index 0000000000000..afbc38e5c31ea --- /dev/null +++ b/packages/shared-ux/page/kibana_no_data/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-no-data", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc new file mode 100644 index 0000000000000..40b9b7ae6949f --- /dev/null +++ b/packages/shared-ux/page/kibana_no_data/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-no-data-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc new file mode 100644 index 0000000000000..b29d44238995f --- /dev/null +++ b/packages/shared-ux/page/kibana_no_data/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-no-data-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_template/impl/kibana.jsonc b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc new file mode 100644 index 0000000000000..6d1d8ff74de77 --- /dev/null +++ b/packages/shared-ux/page/kibana_template/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-template", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc new file mode 100644 index 0000000000000..43a17e3257739 --- /dev/null +++ b/packages/shared-ux/page/kibana_template/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-template-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/kibana_template/types/kibana.jsonc b/packages/shared-ux/page/kibana_template/types/kibana.jsonc new file mode 100644 index 0000000000000..b4b18d25baf0b --- /dev/null +++ b/packages/shared-ux/page/kibana_template/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-kibana-template-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data/impl/kibana.jsonc b/packages/shared-ux/page/no_data/impl/kibana.jsonc new file mode 100644 index 0000000000000..2a0576ad190bd --- /dev/null +++ b/packages/shared-ux/page/no_data/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data/mocks/kibana.jsonc b/packages/shared-ux/page/no_data/mocks/kibana.jsonc new file mode 100644 index 0000000000000..6735d457c937d --- /dev/null +++ b/packages/shared-ux/page/no_data/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data/types/kibana.jsonc b/packages/shared-ux/page/no_data/types/kibana.jsonc new file mode 100644 index 0000000000000..02a6dbc2f8fa1 --- /dev/null +++ b/packages/shared-ux/page/no_data/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data_config/impl/kibana.jsonc b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc new file mode 100644 index 0000000000000..991cb4ef781b9 --- /dev/null +++ b/packages/shared-ux/page/no_data_config/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data-config", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc new file mode 100644 index 0000000000000..d87174032f553 --- /dev/null +++ b/packages/shared-ux/page/no_data_config/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data-config-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/no_data_config/types/kibana.jsonc b/packages/shared-ux/page/no_data_config/types/kibana.jsonc new file mode 100644 index 0000000000000..2491f5442db8c --- /dev/null +++ b/packages/shared-ux/page/no_data_config/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-no-data-config-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/page/solution_nav/kibana.jsonc b/packages/shared-ux/page/solution_nav/kibana.jsonc new file mode 100644 index 0000000000000..8c62fb2f3e750 --- /dev/null +++ b/packages/shared-ux/page/solution_nav/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-page-solution-nav", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc new file mode 100644 index 0000000000000..4861e3d3b6edd --- /dev/null +++ b/packages/shared-ux/prompt/no_data_views/impl/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-prompt-no-data-views", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc new file mode 100644 index 0000000000000..65532173dd0ed --- /dev/null +++ b/packages/shared-ux/prompt/no_data_views/mocks/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-prompt-no-data-views-mocks", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc new file mode 100644 index 0000000000000..1385b91ec370e --- /dev/null +++ b/packages/shared-ux/prompt/no_data_views/types/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-prompt-no-data-views-types", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/storybook/config/kibana.jsonc b/packages/shared-ux/storybook/config/kibana.jsonc new file mode 100644 index 0000000000000..9a3b26cb20f83 --- /dev/null +++ b/packages/shared-ux/storybook/config/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-storybook-config", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/packages/shared-ux/storybook/mock/kibana.jsonc b/packages/shared-ux/storybook/mock/kibana.jsonc new file mode 100644 index 0000000000000..305626d6f3cdc --- /dev/null +++ b/packages/shared-ux/storybook/mock/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/shared-ux-storybook-mock", + "owner": "@elastic/shared-ux", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/scripts/kibana_jsonc_migration.js b/scripts/kibana_jsonc_migration.js new file mode 100644 index 0000000000000..e59682aee5517 --- /dev/null +++ b/scripts/kibana_jsonc_migration.js @@ -0,0 +1,83 @@ +/* + * 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. + */ + +var Fs = require('fs'); +var Path = require('path'); +var globby = require('globby'); +var Cp = require('child_process'); +var REPO_ROOT = require('@kbn/utils').REPO_ROOT; +var getAllBazelPackageDirs = require('@kbn/bazel-packages').getAllBazelPackageDirs; + +var MAN_SHA = '36e989a9f7fc3072955b97f4a49334ee9e307531'; + +var AUTHOR_TRANSLATIONS = new Map([['Kibana Core', '@elastic/kibana-core']]); + +var MAN_OWNERS = new Map([[]]); + +for (var dir of getAllBazelPackageDirs(REPO_ROOT)) { + var pkgs = globby.sync('*/package.json', { + cwd: dir, + absolute: true, + onlyFiles: true, + }); + + for (var pkgPath of pkgs) { + /** @type {Record} */ + var pkgJson = Fs.readFileSync(pkgPath, 'utf8'); + var pkg = JSON.parse(pkgJson); + var manifestPath = Path.resolve(Path.dirname(pkgPath), 'kibana.jsonc'); + var rel = Path.relative(REPO_ROOT, manifestPath); + + var manualManifest; + try { + manualManifest = JSON.parse( + Cp.execFileSync('git', ['cat-file', '-p', `${MAN_SHA}:${rel}`], { + cwd: REPO_ROOT, + }) + ); + } catch (error) { + if (error.message.includes(`'${rel}' does not exist in '${MAN_SHA}'`)) { + manualManifest = undefined; + } else { + throw error; + } + } + + var owner = manualManifest?.owner ?? MAN_OWNERS.get(rel) ?? AUTHOR_TRANSLATIONS.get(pkg.author); + if (!owner) { + throw new Error(`missing owner for [${rel}]`); + } + + Fs.writeFileSync( + manifestPath, + JSON.stringify( + { + type: 'shared-common', + id: pkg.name, + devOnly: pkg?.kibana?.devOnly ? true : undefined, + owner, + runtimeDeps: [], + typeDeps: [], + }, + null, + 2 + ) + '\n' + ); + + Fs.writeFileSync( + pkgPath, + JSON.stringify( + Object.assign(pkg, { + kibana: undefined, + }), + null, + 2 + ) + (pkgJson.endsWith('\n') ? '\n' : '') + ); + } +} diff --git a/src/dev/build/tasks/build_packages_task.ts b/src/dev/build/tasks/build_packages_task.ts index 521b1299f423d..fdb32731fdd8e 100644 --- a/src/dev/build/tasks/build_packages_task.ts +++ b/src/dev/build/tasks/build_packages_task.ts @@ -23,7 +23,7 @@ export const BuildBazelPackages: Task = { await runBazel(['build', '//packages:build']); for (const pkg of packages) { - log.info(`Copying build of`, pkg.pkg.name, 'into build'); + log.info(`Copying build of`, pkg.manifest.id, 'into build'); const pkgDirInBuild = build.resolvePath(pkg.normalizedRepoRelativeDir); @@ -36,7 +36,23 @@ export const BuildBazelPackages: Task = { permissions: (rec) => (rec.isDirectory ? 0o755 : 0o644), }); - await write(Path.resolve(pkgDirInBuild, 'package.json'), JSON.stringify(pkg.pkg, null, 2)); + await write( + Path.resolve(pkgDirInBuild, 'kibana.jsonc'), + JSON.stringify(pkg.manifest, null, 2) + ); + await write( + Path.resolve(pkgDirInBuild, 'package.json'), + JSON.stringify( + { + ...pkg.pkg, + name: pkg.manifest.id, + version: config.getBuildVersion(), + private: undefined, + }, + null, + 2 + ) + ); } }, }; diff --git a/src/dev/build/tasks/clean_tasks.ts b/src/dev/build/tasks/clean_tasks.ts index 409f6a77b50bf..bc4e5bca05675 100644 --- a/src/dev/build/tasks/clean_tasks.ts +++ b/src/dev/build/tasks/clean_tasks.ts @@ -260,9 +260,15 @@ export const DeleteBazelPackagesFromBuildRoot: Task = { 'Deleting bazel packages outputs from build folder root as they are now installed as node_modules', async run(config, log, build) { - const bazelPackagesOnBuildRoot = (await discoverBazelPackages(REPO_ROOT)).map((pkg) => - build.resolvePath(pkg.normalizedRepoRelativeDir) - ); + const bazelPackagesOnBuildRoot = (await discoverBazelPackages(REPO_ROOT)).flatMap((pkg) => { + const bldSrc = build.resolvePath(pkg.normalizedRepoRelativeDir); + + if (pkg.manifest.type.startsWith('plugin-')) { + return bldSrc; + } + + return [bldSrc, build.resolvePath('node_modules', pkg.manifest.id, 'kibana.jsonc')]; + }); await deleteAll(bazelPackagesOnBuildRoot, log); }, diff --git a/x-pack/packages/ml/agg_utils/kibana.jsonc b/x-pack/packages/ml/agg_utils/kibana.jsonc new file mode 100644 index 0000000000000..4bcfcbd8721a6 --- /dev/null +++ b/x-pack/packages/ml/agg_utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-agg-utils", + "owner": "@elastic/ml-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/x-pack/packages/ml/aiops_components/kibana.jsonc b/x-pack/packages/ml/aiops_components/kibana.jsonc new file mode 100644 index 0000000000000..3fc4f228e2b0f --- /dev/null +++ b/x-pack/packages/ml/aiops_components/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/aiops-components", + "owner": "@elastic/ml-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/x-pack/packages/ml/aiops_utils/kibana.jsonc b/x-pack/packages/ml/aiops_utils/kibana.jsonc new file mode 100644 index 0000000000000..46d16f2cdc334 --- /dev/null +++ b/x-pack/packages/ml/aiops_utils/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/aiops-utils", + "owner": "@elastic/ml-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/x-pack/packages/ml/is_populated_object/kibana.jsonc b/x-pack/packages/ml/is_populated_object/kibana.jsonc new file mode 100644 index 0000000000000..44240b60c4198 --- /dev/null +++ b/x-pack/packages/ml/is_populated_object/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-is-populated-object", + "owner": "@elastic/ml-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/x-pack/packages/ml/string_hash/kibana.jsonc b/x-pack/packages/ml/string_hash/kibana.jsonc new file mode 100644 index 0000000000000..0986bb25375c5 --- /dev/null +++ b/x-pack/packages/ml/string_hash/kibana.jsonc @@ -0,0 +1,7 @@ +{ + "type": "shared-common", + "id": "@kbn/ml-string-hash", + "owner": "@elastic/ml-ui", + "runtimeDeps": [], + "typeDeps": [] +} diff --git a/x-pack/plugins/lens/public/mocks/store_mocks.tsx b/x-pack/plugins/lens/public/mocks/store_mocks.tsx index e63a79693cadb..8320f429e9d5a 100644 --- a/x-pack/plugins/lens/public/mocks/store_mocks.tsx +++ b/x-pack/plugins/lens/public/mocks/store_mocks.tsx @@ -6,9 +6,7 @@ */ import React from 'react'; -// eslint-disable-next-line import/no-extraneous-dependencies import { ReactWrapper } from 'enzyme'; -// eslint-disable-next-line import/no-extraneous-dependencies import { mountWithIntl as mount } from '@kbn/test-jest-helpers'; import { Provider } from 'react-redux'; import { act } from 'react-dom/test-utils'; diff --git a/yarn.lock b/yarn.lock index 92574a3ec5eb1..32e00831ab726 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3411,14 +3411,6 @@ version "0.0.0" uid "" -"@kbn/jsonc@link:bazel-bin/packages/kbn-jsonc": - version "0.0.0" - uid "" - -"@kbn/kibana-manifest-parser@link:bazel-bin/packages/kbn-kibana-manifest-parser": - version "0.0.0" - uid "" - "@kbn/kibana-manifest-schema@link:bazel-bin/packages/kbn-kibana-manifest-schema": version "0.0.0" uid "" @@ -7493,18 +7485,10 @@ version "0.0.0" uid "" -"@types/kbn__jsonc@link:bazel-bin/packages/kbn-jsonc/npm_module_types": - version "0.0.0" - uid "" - "@types/kbn__kbn-ci-stats-performance-metrics@link:bazel-bin/packages/kbn-kbn-ci-stats-performance-metrics/npm_module_types": version "0.0.0" uid "" -"@types/kbn__kibana-manifest-parser@link:bazel-bin/packages/kbn-kibana-manifest-parser/npm_module_types": - version "0.0.0" - uid "" - "@types/kbn__kibana-manifest-schema@link:bazel-bin/packages/kbn-kibana-manifest-schema/npm_module_types": version "0.0.0" uid ""