diff --git a/docs/developer/getting-started/monorepo-packages.asciidoc b/docs/developer/getting-started/monorepo-packages.asciidoc index 655a491f8b3ca..88a142e5b53c0 100644 --- a/docs/developer/getting-started/monorepo-packages.asciidoc +++ b/docs/developer/getting-started/monorepo-packages.asciidoc @@ -63,5 +63,5 @@ yarn kbn watch-bazel - @elastic/datemath - @kbn/apm-utils - +- @kbn/config-schema diff --git a/package.json b/package.json index c1f2a3b3cf132..1d31aa627129c 100644 --- a/package.json +++ b/package.json @@ -127,7 +127,7 @@ "@kbn/apm-config-loader": "link:packages/kbn-apm-config-loader", "@kbn/apm-utils": "link:bazel-bin/packages/kbn-apm-utils/npm_module", "@kbn/config": "link:packages/kbn-config", - "@kbn/config-schema": "link:packages/kbn-config-schema", + "@kbn/config-schema": "link:bazel-bin/packages/kbn-config-schema/npm_module", "@kbn/crypto": "link:packages/kbn-crypto", "@kbn/i18n": "link:packages/kbn-i18n", "@kbn/interpreter": "link:packages/kbn-interpreter", diff --git a/packages/BUILD.bazel b/packages/BUILD.bazel index 3944c2356badc..aa66c96764718 100644 --- a/packages/BUILD.bazel +++ b/packages/BUILD.bazel @@ -4,6 +4,7 @@ filegroup( name = "build", srcs = [ "//packages/elastic-datemath:build", - "//packages/kbn-apm-utils:build" + "//packages/kbn-apm-utils:build", + "//packages/kbn-config-schema:build" ], ) diff --git a/packages/kbn-cli-dev-mode/package.json b/packages/kbn-cli-dev-mode/package.json index 2ee9831e96084..1ea319ef3601c 100644 --- a/packages/kbn-cli-dev-mode/package.json +++ b/packages/kbn-cli-dev-mode/package.json @@ -15,7 +15,6 @@ }, "dependencies": { "@kbn/config": "link:../kbn-config", - "@kbn/config-schema": "link:../kbn-config-schema", "@kbn/logging": "link:../kbn-logging", "@kbn/server-http-tools": "link:../kbn-server-http-tools", "@kbn/optimizer": "link:../kbn-optimizer", diff --git a/packages/kbn-config-schema/BUILD.bazel b/packages/kbn-config-schema/BUILD.bazel new file mode 100644 index 0000000000000..5dcbd9e5a802a --- /dev/null +++ b/packages/kbn-config-schema/BUILD.bazel @@ -0,0 +1,86 @@ +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-schema" +PKG_REQUIRE_NAME = "@kbn/config-schema" + +SOURCE_FILES = glob([ + "src/**/*.ts", + "types/joi.d.ts" +]) + +SRCS = SOURCE_FILES + +filegroup( + name = "srcs", + srcs = SRCS, +) + +NPM_MODULE_EXTRA_FILES = [ + "package.json", + "README.md", +] + +SRC_DEPS = [ + "@npm//joi", + "@npm//lodash", + "@npm//moment", + "@npm//tsd", + "@npm//type-detect", +] + +TYPES_DEPS = [ + "@npm//@types/jest", + "@npm//@types/joi", + "@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 = [], + deps = [":tsc"] + DEPS, + package_name = PKG_REQUIRE_NAME, + visibility = ["//visibility:public"], +) + +pkg_npm( + name = "npm_module", + srcs = NPM_MODULE_EXTRA_FILES, + deps = [ + ":%s" % PKG_BASE_NAME, + ] +) + +filegroup( + name = "build", + srcs = [ + ":npm_module", + ], + visibility = ["//visibility:public"], +) diff --git a/packages/kbn-config-schema/package.json b/packages/kbn-config-schema/package.json index a47dee88db588..85b52f5d75533 100644 --- a/packages/kbn-config-schema/package.json +++ b/packages/kbn-config-schema/package.json @@ -1,12 +1,8 @@ { "name": "@kbn/config-schema", - "main": "./target/out/index.js", - "types": "./target/types/index.d.ts", + "main": "./target/index.js", + "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-schema/tsconfig.json b/packages/kbn-config-schema/tsconfig.json index d33683acded16..5490f37a943fc 100644 --- a/packages/kbn-config-schema/tsconfig.json +++ b/packages/kbn-config-schema/tsconfig.json @@ -1,14 +1,14 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "incremental": false, - "outDir": "./target/out", - "declarationDir": "./target/types", - "stripInternal": true, "declaration": true, "declarationMap": true, + "incremental": true, + "outDir": "target", + "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../../packages/kbn-config-schema/src", + "stripInternal": true, "types": [ "jest", "node" diff --git a/packages/kbn-config/package.json b/packages/kbn-config/package.json index e71175034787a..8093b6ac0d211 100644 --- a/packages/kbn-config/package.json +++ b/packages/kbn-config/package.json @@ -11,7 +11,6 @@ }, "dependencies": { "@elastic/safer-lodash-set": "link:../elastic-safer-lodash-set", - "@kbn/config-schema": "link:../kbn-config-schema", "@kbn/logging": "link:../kbn-logging", "@kbn/std": "link:../kbn-std" }, diff --git a/packages/kbn-legacy-logging/package.json b/packages/kbn-legacy-logging/package.json index 96edeccad6658..9450fd39607ea 100644 --- a/packages/kbn-legacy-logging/package.json +++ b/packages/kbn-legacy-logging/package.json @@ -11,7 +11,6 @@ "kbn:watch": "yarn build --watch" }, "dependencies": { - "@kbn/utils": "link:../kbn-utils", - "@kbn/config-schema": "link:../kbn-config-schema" + "@kbn/utils": "link:../kbn-utils" } } diff --git a/packages/kbn-server-http-tools/package.json b/packages/kbn-server-http-tools/package.json index 6c65a0dd6e475..24f8f8d67dfd7 100644 --- a/packages/kbn-server-http-tools/package.json +++ b/packages/kbn-server-http-tools/package.json @@ -11,7 +11,6 @@ "kbn:watch": "yarn build --watch" }, "dependencies": { - "@kbn/config-schema": "link:../kbn-config-schema", "@kbn/crypto": "link:../kbn-crypto", "@kbn/std": "link:../kbn-std" }, diff --git a/packages/kbn-utils/package.json b/packages/kbn-utils/package.json index b6bb7759c40ef..2c3c0c11b65ab 100644 --- a/packages/kbn-utils/package.json +++ b/packages/kbn-utils/package.json @@ -9,8 +9,5 @@ "build": "rm -rf target && ../../node_modules/.bin/tsc", "kbn:bootstrap": "yarn build", "kbn:watch": "yarn build --watch" - }, - "dependencies": { - "@kbn/config-schema": "link:../kbn-config-schema" } } \ No newline at end of file diff --git a/src/core/server/server.api.md b/src/core/server/server.api.md index 53b2eb8610418..05af684053f39 100644 --- a/src/core/server/server.api.md +++ b/src/core/server/server.api.md @@ -363,7 +363,7 @@ export const config: { healthCheck: import("@kbn/config-schema").ObjectType<{ delay: Type; }>; - ignoreVersionMismatch: import("@kbn/config-schema/target/types/types").ConditionalType; + ignoreVersionMismatch: import("@kbn/config-schema/target/types").ConditionalType; }>; }; logging: { diff --git a/src/plugins/vis_type_timeseries/common/vis_schema.ts b/src/plugins/vis_type_timeseries/common/vis_schema.ts index 9fb7644b0fd16..d31fed4639ffe 100644 --- a/src/plugins/vis_type_timeseries/common/vis_schema.ts +++ b/src/plugins/vis_type_timeseries/common/vis_schema.ts @@ -7,7 +7,7 @@ */ import { schema } from '@kbn/config-schema'; -import { TypeOptions } from '@kbn/config-schema/target/types/types'; +import { TypeOptions } from '@kbn/config-schema/target/types'; const stringOptionalNullable = schema.maybe(schema.nullable(schema.string())); const stringOptional = schema.maybe(schema.string()); diff --git a/x-pack/package.json b/x-pack/package.json index 9e96388145038..36a6d120d946b 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -38,7 +38,6 @@ }, "dependencies": { "@elastic/safer-lodash-set": "link:../packages/elastic-safer-lodash-set", - "@kbn/config-schema": "link:../packages/kbn-config-schema", "@kbn/i18n": "link:../packages/kbn-i18n", "@kbn/interpreter": "link:../packages/kbn-interpreter", "@kbn/ui-framework": "link:../packages/kbn-ui-framework" diff --git a/yarn.lock b/yarn.lock index 559ad6e7f62f8..4cc989088e8cb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2632,7 +2632,7 @@ version "0.0.0" uid "" -"@kbn/config-schema@link:packages/kbn-config-schema": +"@kbn/config-schema@link:bazel-bin/packages/kbn-config-schema/npm_module": version "0.0.0" uid ""