Skip to content

Commit

Permalink
chore(NA): moving @kbn/server-route-repository to babel transpiler (e…
Browse files Browse the repository at this point in the history
…lastic#107571) (elastic#107715)

* chore(NA): moving @kbn/server-route-repository to babel transpiler

* chore(NA): update types

Co-authored-by: Tiago Costa <tiagoffcc@hotmail.com>
  • Loading branch information
kibanamachine and mistic committed Aug 5, 2021
1 parent 3826f50 commit 917d7a8
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 19 deletions.
3 changes: 3 additions & 0 deletions packages/kbn-server-route-repository/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": ["@kbn/babel-preset/node_preset"]
}
26 changes: 18 additions & 8 deletions packages/kbn-server-route-repository/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project")
load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm")
load("//src/dev/bazel:index.bzl", "jsts_transpiler")

PKG_BASE_NAME = "kbn-server-route-repository"
PKG_REQUIRE_NAME = "@kbn/server-route-repository"
Expand All @@ -25,23 +26,31 @@ NPM_MODULE_EXTRA_FILES = [
"README.md"
]

SRC_DEPS = [
RUNTIME_DEPS = [
"//packages/kbn-config-schema",
"//packages/kbn-io-ts-utils",
"@npm//@hapi/boom",
"@npm//fp-ts",
"@npm//io-ts",
"@npm//lodash",
"@npm//utility-types"
]

TYPES_DEPS = [
"//packages/kbn-config-schema",
"//packages/kbn-io-ts-utils",
"@npm//@hapi/boom",
"@npm//fp-ts",
"@npm//utility-types",
"@npm//@types/jest",
"@npm//@types/lodash",
"@npm//@types/node",
]

DEPS = SRC_DEPS + TYPES_DEPS
jsts_transpiler(
name = "target_node",
srcs = SRCS,
build_pkg_name = package_name(),
)

ts_config(
name = "tsconfig",
Expand All @@ -52,14 +61,15 @@ ts_config(
)

ts_project(
name = "tsc",
name = "tsc_types",
args = ['--pretty'],
srcs = SRCS,
deps = DEPS,
deps = TYPES_DEPS,
declaration = True,
declaration_map = True,
incremental = True,
out_dir = "target",
emit_declaration_only = True,
incremental = False,
out_dir = "target_types",
source_map = True,
root_dir = "src",
tsconfig = ":tsconfig",
Expand All @@ -68,7 +78,7 @@ ts_project(
js_library(
name = PKG_BASE_NAME,
srcs = NPM_MODULE_EXTRA_FILES,
deps = DEPS + [":tsc"],
deps = RUNTIME_DEPS + [":target_node", ":tsc_types"],
package_name = PKG_REQUIRE_NAME,
visibility = ["//visibility:public"],
)
Expand Down
4 changes: 2 additions & 2 deletions packages/kbn-server-route-repository/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@kbn/server-route-repository",
"main": "./target/index.js",
"types": "./target/index.d.ts",
"main": "./target_node/index.js",
"types": "./target_types/index.d.ts",
"version": "1.0.0",
"license": "SSPL-1.0 OR Elastic License 2.0",
"private": true
Expand Down
10 changes: 6 additions & 4 deletions packages/kbn-server-route-repository/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"incremental": true,
"outDir": "./target",
"stripInternal": false,
"declaration": true,
"declarationMap": true,
"emitDeclarationOnly": true,
"incremental": false,
"outDir": "./target_types",
"rootDir": "src",
"sourceMap": true,
"sourceRoot": "../../../../packages/kbn-server-route-repository/src",
"stripInternal": false,
"types": [
"jest",
"node"
],
"noUnusedLocals": false
},
"include": [
"./src/**/*.ts"
"src/**/*.ts"
]
}
12 changes: 10 additions & 2 deletions x-pack/plugins/apm/public/services/rest/createCallApmApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,17 @@ import * as t from 'io-ts';
import type {
ClientRequestParamsOf,
EndpointOf,
formatRequest as formatRequestType,
ReturnOf,
RouteRepositoryClient,
ServerRouteRepository,
ServerRoute,
} from '@kbn/server-route-repository';
import { formatRequest } from '@kbn/server-route-repository/target/format_request';
// @ts-expect-error cannot find module or correspondent type declarations
// The code and types are at separated folders on @kbn/server-route-repository
// so in order to do targeted imports they must me imported separately, and
// an error is expected here
import { formatRequest } from '@kbn/server-route-repository/target_node/format_request';
import { FetchOptions } from '../../../common/fetch_options';
import { callApi } from './callApi';
import type {
Expand Down Expand Up @@ -81,7 +86,10 @@ export function createCallApmApi(core: CoreStart | CoreSetup) {
params?: Partial<Record<string, any>>;
};

const { method, pathname } = formatRequest(endpoint, params?.path);
const { method, pathname } = formatRequest(
endpoint,
params?.path
) as ReturnType<typeof formatRequestType>;

return callApi(core, {
...opts,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import { jsonRt } from '@kbn/io-ts-utils';
import { createServerRouteRepository } from '@kbn/server-route-repository';
import { ServerRoute } from '@kbn/server-route-repository/target/typings';
import { ServerRoute } from '@kbn/server-route-repository';
import * as t from 'io-ts';
import { CoreSetup, Logger } from 'src/core/server';
import { APMConfig } from '../..';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
* 2.0.
*/

import { formatRequest } from '@kbn/server-route-repository/target/format_request';
// @ts-expect-error
import { formatRequest } from '@kbn/server-route-repository/target_node/format_request';
import type { formatRequest as formatRequestType } from '@kbn/server-route-repository/target_types/format_request';
import type { HttpSetup } from 'kibana/public';
import type { AbstractObservabilityClient, ObservabilityClient } from './types';

Expand All @@ -17,7 +19,9 @@ export function createCallObservabilityApi(http: HttpSetup) {
const client: AbstractObservabilityClient = (options) => {
const { params: { path, body, query } = {}, endpoint, ...rest } = options;

const { method, pathname } = formatRequest(endpoint, path);
const { method, pathname } = formatRequest(endpoint, path) as ReturnType<
typeof formatRequestType
>;

return http[method](pathname, {
...rest,
Expand Down

0 comments on commit 917d7a8

Please sign in to comment.