# Backport
This will backport the following commits from `main` to `7.17`:
- [Bump Node.js from 18.17.1 to 18.18.2
(#168914)](https://github.com/elastic/kibana/pull/168914)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Thomas
Watson","email":"watson@elastic.co"},"sourceCommit":{"committedDate":"2023-10-16T13:50:15Z","message":"Bump
Node.js from 18.17.1 to 18.18.2
(#168914)","sha":"217929a636afe0c6c6ee8990e42dc4bb8d771123","branchLabelMapping":{"^v8.12.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["blocker","Team:uptime","release_note:skip","backport:all-open","v8.12.0","v8.10.4"],"number":168914,"url":"https://github.com/elastic/kibana/pull/168914","mergeCommit":{"message":"Bump
Node.js from 18.17.1 to 18.18.2
(#168914)","sha":"217929a636afe0c6c6ee8990e42dc4bb8d771123"}},"sourceBranch":"main","suggestedTargetBranches":["8.10"],"targetPullRequestStates":[{"branch":"main","label":"v8.12.0","labelRegex":"^v8.12.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/168914","number":168914,"mergeCommit":{"message":"Bump
Node.js from 18.17.1 to 18.18.2
(#168914)","sha":"217929a636afe0c6c6ee8990e42dc4bb8d771123"}},{"branch":"8.10","label":"v8.10.4","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"url":"https://github.com/elastic/kibana/pull/168966","number":168966,"branch":"8.11","state":"OPEN"}]}]
BACKPORT-->
Closes https://github.com/elastic/kibana/issues/162695
# Backport
This will backport the following commits from `main` to `7.17`:
- [[Ops] Bump Node.js to version 18
(#160289)](https://github.com/elastic/kibana/pull/160289)
<!--- Backport version: 8.9.7 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alex
Szabo","email":"alex.szabo@elastic.co"},"sourceCommit":{"committedDate":"2023-07-27T12:12:48Z","message":"[Ops]
Bump Node.js to version 18 (#160289)\n\n## Summary\r\n\r\nBumps node.js
to 18.17.0 (replacement for PR #144012 which was
later\r\nreverted)\r\n\r\nAs a result, these categorical additions were
needed: \r\n- `node` evocations will need the
`--openssl-legacy-provider` flag,\r\nwherever it would use certain
crypto functionalities\r\n- tests required updating of the expected
HTTPS Agent call arguments,\r\n`noDelay` seems to be a default\r\n -
`window.[NAME]` fields cannot be written directly\r\n - some stricter
typechecks\r\n\r\nThis is using our in-house built node.js 18 versions
through the URLs\r\nthe proxy-cache. (built
with\r\nhttps://github.com/elastic/kibana-custom-nodejs-builds/pull/4)\r\n\r\nThese
urls are served from a bucket, where the RHEL7/Centos7
compatible\r\nnode distributables are.
(see:\r\nhttps://github.com/elastic/kibana-ci-proxy-cache/pull/7)\r\n\r\nFurther
todos: \r\n - [x] check docs wording and consistency\r\n - [ ] update
the dependency report\r\n - [x] explain custom builds in
documentation\r\n - [x] node_sass
prebuilts\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Tiago Costa <tiago.costa@elastic.co>\r\nCo-authored-by: Thomas Watson
<w@tson.dk>","sha":"8cf68dc6ba8f010e36538c1e7c92601a341efcf4","branchLabelMapping":{"^v8.10.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","Team:uptime","backport:skip","release_note:feature","ci:all-cypress-suites","v8.10.0"],"number":160289,"url":"https://github.com/elastic/kibana/pull/160289","mergeCommit":{"message":"[Ops]
Bump Node.js to version 18 (#160289)\n\n## Summary\r\n\r\nBumps node.js
to 18.17.0 (replacement for PR #144012 which was
later\r\nreverted)\r\n\r\nAs a result, these categorical additions were
needed: \r\n- `node` evocations will need the
`--openssl-legacy-provider` flag,\r\nwherever it would use certain
crypto functionalities\r\n- tests required updating of the expected
HTTPS Agent call arguments,\r\n`noDelay` seems to be a default\r\n -
`window.[NAME]` fields cannot be written directly\r\n - some stricter
typechecks\r\n\r\nThis is using our in-house built node.js 18 versions
through the URLs\r\nthe proxy-cache. (built
with\r\nhttps://github.com/elastic/kibana-custom-nodejs-builds/pull/4)\r\n\r\nThese
urls are served from a bucket, where the RHEL7/Centos7
compatible\r\nnode distributables are.
(see:\r\nhttps://github.com/elastic/kibana-ci-proxy-cache/pull/7)\r\n\r\nFurther
todos: \r\n - [x] check docs wording and consistency\r\n - [ ] update
the dependency report\r\n - [x] explain custom builds in
documentation\r\n - [x] node_sass
prebuilts\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Tiago Costa <tiago.costa@elastic.co>\r\nCo-authored-by: Thomas Watson
<w@tson.dk>","sha":"8cf68dc6ba8f010e36538c1e7c92601a341efcf4"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.10.0","labelRegex":"^v8.10.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/160289","number":160289,"mergeCommit":{"message":"[Ops]
Bump Node.js to version 18 (#160289)\n\n## Summary\r\n\r\nBumps node.js
to 18.17.0 (replacement for PR #144012 which was
later\r\nreverted)\r\n\r\nAs a result, these categorical additions were
needed: \r\n- `node` evocations will need the
`--openssl-legacy-provider` flag,\r\nwherever it would use certain
crypto functionalities\r\n- tests required updating of the expected
HTTPS Agent call arguments,\r\n`noDelay` seems to be a default\r\n -
`window.[NAME]` fields cannot be written directly\r\n - some stricter
typechecks\r\n\r\nThis is using our in-house built node.js 18 versions
through the URLs\r\nthe proxy-cache. (built
with\r\nhttps://github.com/elastic/kibana-custom-nodejs-builds/pull/4)\r\n\r\nThese
urls are served from a bucket, where the RHEL7/Centos7
compatible\r\nnode distributables are.
(see:\r\nhttps://github.com/elastic/kibana-ci-proxy-cache/pull/7)\r\n\r\nFurther
todos: \r\n - [x] check docs wording and consistency\r\n - [ ] update
the dependency report\r\n - [x] explain custom builds in
documentation\r\n - [x] node_sass
prebuilts\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Tiago Costa <tiago.costa@elastic.co>\r\nCo-authored-by: Thomas Watson
<w@tson.dk>","sha":"8cf68dc6ba8f010e36538c1e7c92601a341efcf4"}}]}]
BACKPORT-->
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: Thomas Watson <w@tson.dk>
Co-authored-by: Jonathan Budzenski <jon@elastic.co>
* feat(NA): upgrade node js version on file configs.
* chore(NA): migrate configs and 3rd party dependencies to work on node js 10.x
* fix(NA): add missing async function declaration.
* chore(NA): updated elastic/good package to work with node10
* chore(NA): update lockfiles.
* fix(NA): add missing dep.
* fix(NA): types for node 10.
* test(NA): fix error return type for node10.
* fix(NA): kbn-pm webpack config to unlazy a require using lazy-cache. fix(NA): build to work with node 10.
* test(NA): jest integration test for kbn-pluin-helpers.
* test(NA): fix jest tests for kbn-es.
* fix(NA): use ostmpdir instead of a tmp folder inside the fixtures.
* fix(NA): change afterEach on kbn es decompress test.
* fix(NA): change afterEach on kbn es decompress test.
* fix(NA): readd mock-fs for the tests that still use it on kbn-es and that works on node10.
* fix(NA): readd mock-fs for the tests that still use it on kbn-es and that works on node10.
* refact(NA): rewrite tests using mock-fs and completely remove this dependency.
* fix(NA): failing test implementation using jest mock in order to replace mock-fs.
* fix(NA): update jest snapshots to match new ones generated one node 10.
* fix(NA): cli/cluster mock to spyOn off method instead off spyOn removeListener as this was changed on Node 10.
* fix(NA): tests for cluster_manager to also spyOn off and on instead of addListener and removeListener
* test(NA): fix management advance settings image field test flow.
* fix(NA): apply missing types for src/core/server/plugins/discovery/plugins_discovery.ts.
* test(NA): updated 2 missing snapshots for KuiCodeEditor on kbn-ui-framework.
* refact(NA): fix eslint errors.
* refact(NA): fix ts code with tslint fix. chore(NA): update jest snapshots.
* chore(NA): migrate kbn config schema peer dependency to last used joi version to avoid warning on bootstrap.
* fix(NA): tslint errors.
* chore(NA): upgrade types node to the last version.
* fix(NA): missing utf8 input format encoding when reading a file.
* chore(NA): upgrade to node 10.14.1
* fix(NA): Buffer api usage to avoid deprecation warnings.