Upgrade to Node.js 22
org.openrewrite.node.migrate.upgrade-node-22
Migrate deprecated APIs for Node.js 22 compatibility. Addresses Node 22 runtime deprecations and deprecations from earlier versions.
Recipe source
GitHub, Issue Tracker, Maven Central
This recipe is composed of more than one recipe. If you want to customize the set of recipes this is composed of, you can find and copy the GitHub source for the recipe from the link above.
This recipe is available under the Moderne Source Available License.
Definition
- Recipe List
- Yaml Recipe List
- Replace deprecated
util.types.isWebAssemblyCompiledModule() - Replace deprecated
util.isX()methods with native JavaScript - Replace deprecated
util._extend()withObject.assign() - Replace deprecated
new crypto.Hash()andnew crypto.Hmac()with factory methods - Coerce
process.exit()andprocess.exitCodeto integer - Replace deprecated
Buffer.slice()withBuffer.subarray() - Remove usage of deprecated
process.features.tls_*properties - Remove unnecessary
util.promisify()on Promise-returning functions
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.node.migrate.upgrade-node-22
displayName: Upgrade to Node.js 22
description: |
Migrate deprecated APIs for Node.js 22 compatibility. Addresses Node 22 runtime deprecations and deprecations from earlier versions.
recipeList:
- org.openrewrite.node.migrate.util.replace-is-webassembly-compiled-module
- org.openrewrite.node.migrate.util.use-native-type-checking-methods
- org.openrewrite.node.migrate.util.replace-util-extend
- org.openrewrite.node.migrate.crypto.replace-hash-constructor
- org.openrewrite.node.migrate.process.coerce-process-exit-code
- org.openrewrite.node.migrate.buffer.replace-deprecated-slice
- org.openrewrite.node.migrate.process.remove-usage-of-features-tls-underscore_constants
- org.openrewrite.node.migrate.util.remove-promisify-on-promise
Used by
This recipe is used as part of the following composite recipes:
Usage
In order to run JavaScript recipes, you will need to use the Moderne CLI. For JavaScript specific configuration instructions, please see our configuring JavaScript guide.
Once the CLI is installed, you can install this JavaScript recipe package by running the following command:
mod config recipes npm install @openrewrite/rewrite
Then, you can run the recipe via:
mod run . --recipe org.openrewrite.node.migrate.upgrade-node-22