diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh index 2c8465a5983e..dc9544d7aa1e 100755 --- a/.buildkite/scripts/steps/test/jest_parallel.sh +++ b/.buildkite/scripts/steps/test/jest_parallel.sh @@ -60,7 +60,7 @@ while read -r config; do # --trace-warnings to debug # Node.js process-warning detected: # Warning: Closing file descriptor 24 on garbage collection - cmd="NODE_OPTIONS=\"--max-old-space-size=12288 --trace-warnings" + cmd="NODE_OPTIONS=\"--max-old-space-size=12288 --trace-warnings --no-experimental-require-module" if [ "${KBN_ENABLE_FIPS:-}" == "true" ]; then cmd=$cmd" --enable-fips --openssl-config=$HOME/nodejs.cnf" diff --git a/.node-version b/.node-version index 0254b1e633c7..ba331903d16c 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.18.2 +20.19.2 diff --git a/.nvmrc b/.nvmrc index 0254b1e633c7..ba331903d16c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.18.2 +20.19.2 diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 4c347d053640..52c6f564873d 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -22,13 +22,13 @@ load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install # Setup the Node.js toolchain for the architectures we want to support node_repositories( node_repositories = { - "20.18.2-darwin_amd64": ("node-v20.18.2-darwin-x64.tar.gz", "node-v20.18.2-darwin-x64", "00a16bb0a82a2ad5d00d66b466ae1afa678482283747c27e9bce96668f334744"), - "20.18.2-darwin_arm64": ("node-v20.18.2-darwin-arm64.tar.gz", "node-v20.18.2-darwin-arm64", "fa76d5b5340f14070ebaa88ef8faa28c1e9271502725e830cb52f0cf5b6493de"), - "20.18.2-linux_arm64": ("node-v20.18.2-linux-arm64.tar.xz", "node-v20.18.2-linux-arm64", "1b4b1745ef7b6d342ddf998352438cfc61dbfcdf0895c9db7e9f1d8a427815d2"), - "20.18.2-linux_amd64": ("node-v20.18.2-linux-x64.tar.xz", "node-v20.18.2-linux-x64", "1a6e1fbd768437e130eac1a54c5535736d6992df700c09a6ce58f22040d6a34c"), - "20.18.2-windows_amd64": ("node-v20.18.2-win-x64.zip", "node-v20.18.2-win-x64", "ed790b94570518a7dce67b62485e16bc4bffecee4ec3b6df35ed220ae91117a5"), + "20.19.2-darwin_amd64": ("node-v20.19.2-darwin-x64.tar.gz", "node-v20.19.2-darwin-x64", "29f91e05992a7d81498ab1d04938a184313cb4aaccab95bb4636e30e6424eae3"), + "20.19.2-darwin_arm64": ("node-v20.19.2-darwin-arm64.tar.gz", "node-v20.19.2-darwin-arm64", "5f96c725cd2be1151f08b25c05bf5a21866a2dc7db3803d351a6ea19fcc53665"), + "20.19.2-linux_arm64": ("node-v20.19.2-linux-arm64.tar.xz", "node-v20.19.2-linux-arm64", "7886dc7e151d2dda49b0837bb93dca233a9d3b7f5005ebbcbff9bd1a5ba4981c"), + "20.19.2-linux_amd64": ("node-v20.19.2-linux-x64.tar.xz", "node-v20.19.2-linux-x64", "3a3b6ccb3d687b60cc8a142e179d7a9cc6a04c7374ba0f782363a26176d6ea74"), + "20.19.2-windows_amd64": ("node-v20.19.2-win-x64.zip", "node-v20.19.2-win-x64", "8735c9940b97548f6d9d4dda7cf5fd4471c062f15f44c2b890c9b0b430460feb"), }, - node_version = "20.18.2", + node_version = "20.19.2", node_urls = [ "https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v{version}/{filename}", ], diff --git a/config/node.options b/config/node.options index d5799f2c2068..51bb576dcf89 100644 --- a/config/node.options +++ b/config/node.options @@ -10,3 +10,6 @@ ## restore < Node 16 default DNS lookup behavior --dns-result-order=ipv4first + +## disable ES modules until stable +--no-experimental-require-module diff --git a/package.json b/package.json index ffd4676826e6..1ca36ac12e6d 100644 --- a/package.json +++ b/package.json @@ -40,40 +40,40 @@ "scripts": { "backport-skip-ci": "backport --prDescription \"[skip-ci]\"", "bazel": "bazel", - "build": "node scripts/build --all-platforms", - "build:apidocs": "node scripts/build_api_docs", - "checkLicenses": "node scripts/check_licenses --dev", - "debug": "node --nolazy --inspect scripts/kibana --dev", - "debug-break": "node --nolazy --inspect-brk scripts/kibana --dev", + "build": "node --no-experimental-require-module scripts/build --all-platforms", + "build:apidocs": "node --no-experimental-require-module scripts/build_api_docs", + "checkLicenses": "node --no-experimental-require-module scripts/check_licenses --dev", + "debug": "node --no-experimental-require-module --nolazy --inspect scripts/kibana --dev", + "debug-break": "node --no-experimental-require-module --nolazy --inspect-brk scripts/kibana --dev", "dev-docs": "scripts/dev_docs.sh", - "es": "node scripts/es", - "preinstall": "node ./preinstall_check", - "kbn": "node scripts/kbn", + "es": "node --no-experimental-require-module scripts/es", + "preinstall": "node --no-experimental-require-module ./preinstall_check", + "kbn": "node --no-experimental-require-module scripts/kbn", "lint": "yarn run lint:es && yarn run lint:style", - "lint:es": "node scripts/eslint", - "lint:style": "node scripts/stylelint", - "makelogs": "node scripts/makelogs", - "quick-checks": "node scripts/quick_checks", - "serverless": "node scripts/kibana --dev --serverless", - "serverless-es": "node scripts/kibana --dev --serverless=es", - "serverless-oblt": "node scripts/kibana --dev --serverless=oblt", - "serverless-security": "node scripts/kibana --dev --serverless=security", - "spec_to_console": "node scripts/spec_to_console", - "start": "node scripts/kibana --dev", - "storybook": "node scripts/storybook", - "test:ftr": "node scripts/functional_tests", - "test:ftr:runner": "node scripts/functional_test_runner", - "test:ftr:server": "node scripts/functional_tests_server", - "test:jest": "node scripts/jest", - "test:jest_integration": "node scripts/jest_integration", - "test:type_check": "node scripts/type_check" + "lint:es": "node --no-experimental-require-module scripts/eslint", + "lint:style": "node --no-experimental-require-module scripts/stylelint", + "makelogs": "node --no-experimental-require-module scripts/makelogs", + "quick-checks": "node --no-experimental-require-module scripts/quick_checks", + "serverless": "node --no-experimental-require-module scripts/kibana --dev --serverless", + "serverless-es": "node --no-experimental-require-module scripts/kibana --dev --serverless=es", + "serverless-oblt": "node --no-experimental-require-module scripts/kibana --dev --serverless=oblt", + "serverless-security": "node --no-experimental-require-module scripts/kibana --dev --serverless=security", + "spec_to_console": "node --no-experimental-require-module scripts/spec_to_console", + "start": "node --no-experimental-require-module scripts/kibana --dev", + "storybook": "node --no-experimental-require-module scripts/storybook", + "test:ftr": "node --no-experimental-require-module scripts/functional_tests", + "test:ftr:runner": "node --no-experimental-require-module scripts/functional_test_runner", + "test:ftr:server": "node --no-experimental-require-module scripts/functional_tests_server", + "test:jest": "node --no-experimental-require-module scripts/jest", + "test:jest_integration": "node --no-experimental-require-module scripts/jest_integration", + "test:type_check": "node --no-experimental-require-module scripts/type_check" }, "repository": { "type": "git", "url": "https://github.com/elastic/kibana.git" }, "engines": { - "node": "20.18.2", + "node": "20.19.2", "yarn": "^1.22.19" }, "resolutions": { diff --git a/src/cli/dev.js b/src/cli/dev.js index 97d501a77178..ba1c0836a080 100644 --- a/src/cli/dev.js +++ b/src/cli/dev.js @@ -24,6 +24,12 @@ if (collectExtendedStackTrace) { } // More info in https://trace.js.org/ +if (process.features.require_module) { + console.warn( + "Node.js's experimental support for native ES modules is enabled. This will not be enabled in production while the feature is experimental. It is recommended to add `--no-experimental-require-module` to NODE_OPTIONS." + ); +} + require('../setup_node_env'); require('./apm')(process.env.ELASTIC_APM_SERVICE_NAME || 'kibana-proxy');