From e0ea3233d97723b58d2c6a352fc41598df81965f Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 30 Jul 2021 18:38:02 +0100 Subject: [PATCH] chore(NA): moving @kbn/es-query to babel transpiler (#107281) * chore(NA): moving @kbn/es-query to babel transpiler * chore(NA): update limits --- .../elastic-eslint-config-kibana/.eslintrc.js | 2 +- .../elastic-eslint-config-kibana/BUILD.bazel | 1 + packages/kbn-babel-preset/BUILD.bazel | 1 + .../styled_components_files.js | 20 +++++++ packages/kbn-babel-preset/webpack_preset.js | 2 +- packages/kbn-dev-utils/src/babel.ts | 11 ---- packages/kbn-es-query/.babelrc | 3 + packages/kbn-es-query/.babelrc.browser | 3 + packages/kbn-es-query/BUILD.bazel | 55 ++++++++----------- packages/kbn-es-query/tsconfig.browser.json | 21 ------- packages/kbn-es-query/tsconfig.json | 6 +- packages/kbn-optimizer/limits.yml | 2 +- 12 files changed, 58 insertions(+), 69 deletions(-) create mode 100644 packages/kbn-babel-preset/styled_components_files.js create mode 100644 packages/kbn-es-query/.babelrc create mode 100644 packages/kbn-es-query/.babelrc.browser delete mode 100644 packages/kbn-es-query/tsconfig.browser.json diff --git a/packages/elastic-eslint-config-kibana/.eslintrc.js b/packages/elastic-eslint-config-kibana/.eslintrc.js index d3cf7cf964a6..1b3e852e5a50 100644 --- a/packages/elastic-eslint-config-kibana/.eslintrc.js +++ b/packages/elastic-eslint-config-kibana/.eslintrc.js @@ -1,4 +1,4 @@ -const { USES_STYLED_COMPONENTS } = require('@kbn/dev-utils'); +const { USES_STYLED_COMPONENTS } = require('@kbn/babel-preset/styled_components_files'); module.exports = { extends: [ diff --git a/packages/elastic-eslint-config-kibana/BUILD.bazel b/packages/elastic-eslint-config-kibana/BUILD.bazel index 1745d919acda..628b3a8bf173 100644 --- a/packages/elastic-eslint-config-kibana/BUILD.bazel +++ b/packages/elastic-eslint-config-kibana/BUILD.bazel @@ -25,6 +25,7 @@ NPM_MODULE_EXTRA_FILES = [ ] DEPS = [ + "//packages/kbn-babel-preset", "//packages/kbn-dev-utils", "@npm//eslint-config-prettier", "@npm//semver", diff --git a/packages/kbn-babel-preset/BUILD.bazel b/packages/kbn-babel-preset/BUILD.bazel index 11eae8bc55ca..0aff32f584c6 100644 --- a/packages/kbn-babel-preset/BUILD.bazel +++ b/packages/kbn-babel-preset/BUILD.bazel @@ -8,6 +8,7 @@ SOURCE_FILES = glob([ "common_preset.js", "istanbul_preset.js", "node_preset.js", + "styled_components_files.js", "webpack_preset.js", ]) diff --git a/packages/kbn-babel-preset/styled_components_files.js b/packages/kbn-babel-preset/styled_components_files.js new file mode 100644 index 000000000000..feff76605f45 --- /dev/null +++ b/packages/kbn-babel-preset/styled_components_files.js @@ -0,0 +1,20 @@ +/* + * 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 = { + /** + * Synchronized regex list of files that use `styled-components`. + * Used by `kbn-babel-preset` and `elastic-eslint-config-kibana`. + */ + USES_STYLED_COMPONENTS: [ + /packages[\/\\]kbn-ui-shared-deps[\/\\]/, + /src[\/\\]plugins[\/\\](data|kibana_react)[\/\\]/, + /x-pack[\/\\]plugins[\/\\](apm|beats_management|cases|fleet|infra|lists|observability|osquery|security_solution|timelines|uptime)[\/\\]/, + /x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/, + ], +}; diff --git a/packages/kbn-babel-preset/webpack_preset.js b/packages/kbn-babel-preset/webpack_preset.js index 186ce8747882..0c949eae5b55 100644 --- a/packages/kbn-babel-preset/webpack_preset.js +++ b/packages/kbn-babel-preset/webpack_preset.js @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -const { USES_STYLED_COMPONENTS } = require.resolve('@kbn/dev-utils'); +const { USES_STYLED_COMPONENTS } = require.resolve('./styled_components_files'); module.exports = () => { return { diff --git a/packages/kbn-dev-utils/src/babel.ts b/packages/kbn-dev-utils/src/babel.ts index 5570055a21d1..9daa7d9fe8d7 100644 --- a/packages/kbn-dev-utils/src/babel.ts +++ b/packages/kbn-dev-utils/src/babel.ts @@ -46,14 +46,3 @@ export async function transformFileWithBabel(file: File) { file.extname = '.js'; transformedFiles.add(file); } - -/** - * Synchronized regex list of files that use `styled-components`. - * Used by `kbn-babel-preset` and `elastic-eslint-config-kibana`. - */ -export const USES_STYLED_COMPONENTS = [ - /packages[\/\\]kbn-ui-shared-deps[\/\\]/, - /src[\/\\]plugins[\/\\](data|kibana_react)[\/\\]/, - /x-pack[\/\\]plugins[\/\\](apm|beats_management|cases|fleet|infra|lists|observability|osquery|security_solution|timelines|uptime)[\/\\]/, - /x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/, -]; diff --git a/packages/kbn-es-query/.babelrc b/packages/kbn-es-query/.babelrc new file mode 100644 index 000000000000..7da72d177912 --- /dev/null +++ b/packages/kbn-es-query/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"] +} diff --git a/packages/kbn-es-query/.babelrc.browser b/packages/kbn-es-query/.babelrc.browser new file mode 100644 index 000000000000..dc6a77bbe0bc --- /dev/null +++ b/packages/kbn-es-query/.babelrc.browser @@ -0,0 +1,3 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"] +} diff --git a/packages/kbn-es-query/BUILD.bazel b/packages/kbn-es-query/BUILD.bazel index 9639a1057cac..7d6e2b4683b9 100644 --- a/packages/kbn-es-query/BUILD.bazel +++ b/packages/kbn-es-query/BUILD.bazel @@ -1,6 +1,7 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@npm//peggy:index.bzl", "peggy") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-es-query" PKG_REQUIRE_NAME = "@kbn/es-query" @@ -29,7 +30,7 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ +RUNTIME_DEPS = [ "//packages/kbn-common-utils", "//packages/kbn-config-schema", "//packages/kbn-i18n", @@ -41,14 +42,15 @@ SRC_DEPS = [ ] TYPES_DEPS = [ + "//packages/kbn-common-utils", + "//packages/kbn-i18n", + "@npm//@elastic/elasticsearch", "@npm//@types/jest", "@npm//@types/lodash", "@npm//@types/moment-timezone", "@npm//@types/node", ] -DEPS = SRC_DEPS + TYPES_DEPS - peggy( name = "grammar", data = [ @@ -64,6 +66,19 @@ peggy( ], ) +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) + ts_config( name = "tsconfig", src = "tsconfig.json", @@ -72,47 +87,25 @@ ts_config( ], ) -ts_config( - name = "tsconfig_browser", - src = "tsconfig.browser.json", - deps = [ - "//:tsconfig.base.json", - "//:tsconfig.browser.json", - ], -) - ts_project( - name = "tsc", + name = "tsc_types", args = ['--pretty'], srcs = SRCS, - deps = DEPS, + deps = TYPES_DEPS, declaration = True, - declaration_dir = "target_types", declaration_map = True, - incremental = True, - out_dir = "target_node", + emit_declaration_only = True, + incremental = False, + out_dir = "target_types", source_map = True, root_dir = "src", tsconfig = ":tsconfig", ) -ts_project( - name = "tsc_browser", - args = ['--pretty'], - srcs = SRCS, - deps = DEPS, - declaration = False, - incremental = True, - out_dir = "target_web", - source_map = True, - root_dir = "src", - tsconfig = ":tsconfig_browser", -) - js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES + [":grammar"], - deps = DEPS + [":tsc", ":tsc_browser"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-es-query/tsconfig.browser.json b/packages/kbn-es-query/tsconfig.browser.json deleted file mode 100644 index 0a1c21cc8e05..000000000000 --- a/packages/kbn-es-query/tsconfig.browser.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "extends": "../../tsconfig.browser.json", - "compilerOptions": { - "incremental": true, - "outDir": "./target_web", - "declaration": false, - "sourceMap": true, - "sourceRoot": "../../../../packages/kbn-es-query/src", - "types": [ - "jest", - "node" - ], - }, - "include": [ - "src/**/*" - ], - "exclude": [ - "**/__fixtures__/**/*", - "**/__mocks__/**/*" - ] -} diff --git a/packages/kbn-es-query/tsconfig.json b/packages/kbn-es-query/tsconfig.json index b48d90373e2c..78e722884594 100644 --- a/packages/kbn-es-query/tsconfig.json +++ b/packages/kbn-es-query/tsconfig.json @@ -1,11 +1,11 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "incremental": true, - "declarationDir": "./target_types", - "outDir": "./target_node", "declaration": true, "declarationMap": true, + "emitDeclarationOnly": true, + "incremental": false, + "outDir": "./target_types", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-es-query/src", "types": [ diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 5a0b376c4cbc..7edca22dcad2 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -13,7 +13,7 @@ pageLoadAssetSize: dashboard: 374194 dashboardEnhanced: 65646 dashboardMode: 22716 - data: 900000 + data: 943821 dataEnhanced: 50420 devTools: 38637 discover: 99999