From 9c38f97a0786c929b98857d67dbe45438c8d2f11 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 4 May 2021 20:00:48 -0400 Subject: [PATCH] chore(NA): moving @kbn/config into bazel (#99199) (#99279) Co-authored-by: Tiago Costa --- .../monorepo-packages.asciidoc | 1 + package.json | 2 +- packages/BUILD.bazel | 1 + packages/kbn-cli-dev-mode/package.json | 1 - packages/kbn-config/BUILD.bazel | 97 +++++++++++++++++++ packages/kbn-config/package.json | 6 +- packages/kbn-config/tsconfig.json | 2 +- packages/kbn-docs-utils/package.json | 3 - packages/kbn-optimizer/package.json | 1 - yarn.lock | 2 +- 10 files changed, 103 insertions(+), 13 deletions(-) create mode 100644 packages/kbn-config/BUILD.bazel diff --git a/docs/developer/getting-started/monorepo-packages.asciidoc b/docs/developer/getting-started/monorepo-packages.asciidoc index fad8b42f204c..8ffecbd0da75 100644 --- a/docs/developer/getting-started/monorepo-packages.asciidoc +++ b/docs/developer/getting-started/monorepo-packages.asciidoc @@ -69,6 +69,7 @@ yarn kbn watch-bazel - @kbn/apm-utils - @kbn/babel-code-parser - @kbn/babel-preset +- @kbn/config - @kbn/config-schema - @kbn/dev-utils - @kbn/eslint-import-resolver-kibana diff --git a/package.json b/package.json index d934b4e51d42..fee024dd2d60 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "@kbn/analytics": "link:bazel-bin/packages/kbn-analytics/npm_module", "@kbn/apm-config-loader": "link:bazel-bin/packages/kbn-apm-config-loader/npm_module", "@kbn/apm-utils": "link:bazel-bin/packages/kbn-apm-utils/npm_module", - "@kbn/config": "link:packages/kbn-config", + "@kbn/config": "link:bazel-bin/packages/kbn-config/npm_module", "@kbn/config-schema": "link:bazel-bin/packages/kbn-config-schema/npm_module", "@kbn/crypto": "link:packages/kbn-crypto", "@kbn/i18n": "link:packages/kbn-i18n", diff --git a/packages/BUILD.bazel b/packages/BUILD.bazel index 3f5f42e759c0..a0c2924aff28 100644 --- a/packages/BUILD.bazel +++ b/packages/BUILD.bazel @@ -11,6 +11,7 @@ filegroup( "//packages/kbn-apm-utils:build", "//packages/kbn-babel-code-parser:build", "//packages/kbn-babel-preset:build", + "//packages/kbn-config:build", "//packages/kbn-config-schema:build", "//packages/kbn-dev-utils:build", "//packages/kbn-eslint-import-resolver-kibana:build", diff --git a/packages/kbn-cli-dev-mode/package.json b/packages/kbn-cli-dev-mode/package.json index 9def59623c93..0401e6a82e11 100644 --- a/packages/kbn-cli-dev-mode/package.json +++ b/packages/kbn-cli-dev-mode/package.json @@ -14,7 +14,6 @@ "devOnly": true }, "dependencies": { - "@kbn/config": "link:../kbn-config", "@kbn/server-http-tools": "link:../kbn-server-http-tools", "@kbn/optimizer": "link:../kbn-optimizer" } diff --git a/packages/kbn-config/BUILD.bazel b/packages/kbn-config/BUILD.bazel new file mode 100644 index 000000000000..a079d9c8f641 --- /dev/null +++ b/packages/kbn-config/BUILD.bazel @@ -0,0 +1,97 @@ +load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") +load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") + +PKG_BASE_NAME = "kbn-config" +PKG_REQUIRE_NAME = "@kbn/config" + +SOURCE_FILES = glob( + [ + "src/**/*.ts", + ], + exclude = [ + "**/*.test.*", + "**/__fixtures__", + "**/__mocks__", + "**/__snapshots__" + ], +) + +SRCS = SOURCE_FILES + +filegroup( + name = "srcs", + srcs = SRCS, +) + +NPM_MODULE_EXTRA_FILES = [ + "package.json", + "README.md" +] + +SRC_DEPS = [ + "//packages/elastic-safer-lodash-set", + "//packages/kbn-config-schema", + "//packages/kbn-logging", + "//packages/kbn-std", + "//packages/kbn-utility-types", + "@npm//js-yaml", + "@npm//load-json-file", + "@npm//lodash", + "@npm//rxjs", + "@npm//type-detect", +] + +TYPES_DEPS = [ + "@npm//@types/jest", + "@npm//@types/js-yaml", + "@npm//@types/lodash", + "@npm//@types/node", + "@npm//@types/type-detect", +] + +DEPS = SRC_DEPS + TYPES_DEPS + +ts_config( + name = "tsconfig", + src = "tsconfig.json", + deps = [ + "//:tsconfig.base.json", + ], +) + +ts_project( + name = "tsc", + args = ['--pretty'], + srcs = SRCS, + deps = DEPS, + declaration = True, + declaration_map = True, + incremental = True, + out_dir = "target", + source_map = True, + root_dir = "src", + tsconfig = ":tsconfig", +) + +js_library( + name = PKG_BASE_NAME, + srcs = NPM_MODULE_EXTRA_FILES, + deps = [":tsc"] + DEPS, + package_name = PKG_REQUIRE_NAME, + visibility = ["//visibility:public"], +) + +pkg_npm( + name = "npm_module", + deps = [ + ":%s" % PKG_BASE_NAME, + ] +) + +filegroup( + name = "build", + srcs = [ + ":npm_module", + ], + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-config/package.json b/packages/kbn-config/package.json index b114cb13933d..56f1855bebbc 100644 --- a/packages/kbn-config/package.json +++ b/packages/kbn-config/package.json @@ -4,9 +4,5 @@ "types": "./target/index.d.ts", "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "private": true, - "scripts": { - "build": "../../node_modules/.bin/tsc", - "kbn:bootstrap": "yarn build" - } + "private": true } \ No newline at end of file diff --git a/packages/kbn-config/tsconfig.json b/packages/kbn-config/tsconfig.json index 4e1bf573f488..115af2c46b54 100644 --- a/packages/kbn-config/tsconfig.json +++ b/packages/kbn-config/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "incremental": false, + "incremental": true, "outDir": "./target", "stripInternal": false, "declaration": true, diff --git a/packages/kbn-docs-utils/package.json b/packages/kbn-docs-utils/package.json index 6aca554f0f94..27d38d2d8ed4 100644 --- a/packages/kbn-docs-utils/package.json +++ b/packages/kbn-docs-utils/package.json @@ -11,8 +11,5 @@ "scripts": { "kbn:bootstrap": "../../node_modules/.bin/tsc", "kbn:watch": "../../node_modules/.bin/tsc --watch" - }, - "dependencies": { - "@kbn/config": "link:../kbn-config" } } \ No newline at end of file diff --git a/packages/kbn-optimizer/package.json b/packages/kbn-optimizer/package.json index f193fcf898a3..54fcdc3bb130 100644 --- a/packages/kbn-optimizer/package.json +++ b/packages/kbn-optimizer/package.json @@ -11,7 +11,6 @@ "kbn:watch": "yarn build --watch" }, "dependencies": { - "@kbn/config": "link:../kbn-config", "@kbn/ui-shared-deps": "link:../kbn-ui-shared-deps" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index e6ae47d53036..f1b12df75e90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2615,7 +2615,7 @@ version "0.0.0" uid "" -"@kbn/config@link:packages/kbn-config": +"@kbn/config@link:bazel-bin/packages/kbn-config/npm_module": version "0.0.0" uid ""