docs: update codemod commands for Express 5 migration guide (#2143)

Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
This commit is contained in:
Sebastian Beltran
2026-01-13 11:40:12 -05:00
committed by GitHub
parent 16d43efa4c
commit de7293572d

View File

@@ -28,16 +28,16 @@ To help you migrate your express server, we have created a set of codemods that
Run the following command for run all the codemods available:
```sh
npx @expressjs/codemod upgrade
npx codemod@latest @expressjs/v5-migration-recipe
```
If you want to run a specific codemod, you can run the following command:
```sh
npx @expressjs/codemod name-of-the-codemod
npx codemod@latest @expressjs/name-of-the-codemod
```
You can find the list of available codemods [here](https://github.com/expressjs/codemod?tab=readme-ov-file#available-codemods).
You can find the list of available codemods [here](https://codemod.link/express).
<h2 id="changes">Changes in Express 5</h2>
@@ -97,15 +97,15 @@ Express 5 no longer supports the `app.del()` function. If you use this function,
Initially, `del` was used instead of `delete`, because `delete` is a reserved keyword in JavaScript. However, as of ECMAScript 6, `delete` and other reserved keywords can legally be used as property names.
{% capture codemod-deprecated-signatures %}
{% capture codemod-route-del-to-delete %}
You can replace the deprecated signatures with the following command:
```plain-text
npx @expressjs/codemod v4-deprecated-signatures
npx codemod@latest @expressjs/route-del-to-delete
```
{% endcapture %}
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% include admonitions/note.html content=codemod-route-del-to-delete %}
```js
// v4
@@ -137,7 +137,7 @@ The following method names have been pluralized. In Express 4, using the old met
You can replace the deprecated signatures with the following command:
```plain-text
npx @expressjs/codemod pluralized-methods
npx codemod@latest @expressjs/pluralize-method-names
```
{% endcapture %}
@@ -177,7 +177,7 @@ This potentially confusing and dangerous method of retrieving form data has been
You can replace the deprecated signatures with the following command:
```plain-text
npx @expressjs/codemod req-param
npx codemod@latest @expressjs/explicit-request-params
```
{% endcapture %}
@@ -207,7 +207,15 @@ app.post('/user', (req, res) => {
Express 5 no longer supports the signature `res.json(obj, status)`. Instead, set the status and then chain it to the `res.json()` method like this: `res.status(status).json(obj)`.
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% capture codemod-status-send-order %}
You can replace the deprecated signatures with the following command:
```plain-text
npx codemod@latest @expressjs/status-send-order
```
{% endcapture %}
{% include admonitions/note.html content=codemod-status-send-order %}
```js
// v4
@@ -225,7 +233,8 @@ app.post('/user', (req, res) => {
Express 5 no longer supports the signature `res.jsonp(obj, status)`. Instead, set the status and then chain it to the `res.jsonp()` method like this: `res.status(status).jsonp(obj)`.
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% include admonitions/note.html content=codemod-status-send-order %}
```js
// v4
@@ -243,7 +252,15 @@ app.post('/user', (req, res) => {
Express 5 no longer supports the signature `res.redirect(url, status)`. Instead, use the following signature: `res.redirect(status, url)`.
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% capture codemod-redirect-arg-order %}
You can replace the deprecated signatures with the following command:
```plain-text
npx codemod@latest @expressjs/redirect-arg-order
```
{% endcapture %}
{% include admonitions/note.html content=codemod-redirect-arg-order %}
```js
// v4
@@ -262,15 +279,15 @@ app.get('/user', (req, res) => {
Express 5 no longer supports the magic string `back` in the `res.redirect()` and `res.location()` methods. Instead, use the `req.get('Referrer') || '/'` value to redirect back to the previous page. In Express 4, the `res.redirect('back')` and `res.location('back')` methods were deprecated.
{% capture codemod-magic-redirect %}
{% capture codemod-back-redirect-deprecated %}
You can replace the deprecated signatures with the following command:
```plain-text
npx @expressjs/codemod magic-redirect
npx codemod@latest @expressjs/back-redirect-deprecated
```
{% endcapture %}
{% include admonitions/note.html content=codemod-magic-redirect %}
{% include admonitions/note.html content=codemod-back-redirect-deprecated %}
```js
// v4
@@ -288,7 +305,8 @@ app.get('/user', (req, res) => {
Express 5 no longer supports the signature `res.send(obj, status)`. Instead, set the status and then chain it to the `res.send()` method like this: `res.status(status).send(obj)`.
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% include admonitions/note.html content=codemod-status-send-order %}
```js
// v4
@@ -307,7 +325,8 @@ app.get('/user', (req, res) => {
Express 5 no longer supports the signature `res.send(status)`, where `status` is a number. Instead, use the `res.sendStatus(statusCode)` function, which sets the HTTP response header status code and sends the text version of the code: "Not Found", "Internal Server Error", and so on.
If you need to send a number by using the `res.send()` function, quote the number to convert it to a string, so that Express does not interpret it as an attempt to use the unsupported old signature.
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% include admonitions/note.html content=codemod-status-send-order %}
```js
// v4
@@ -334,7 +353,15 @@ The `res.sendfile()` function has been replaced by a camel-cased version `res.se
- Font files (.woff): now "font/woff" instead of "application/font-woff"
- SVG files (.svg): now "image/svg+xml" instead of "application/svg+xml"
{% include admonitions/note.html content=codemod-deprecated-signatures %}
{% capture codemod-camelcase-sendfile %}
You can replace the deprecated signatures with the following command:
```plain-text
npx codemod@latest @expressjs/camelcase-sendfile
```
{% endcapture %}
{% include admonitions/note.html content=codemod-camelcase-sendfile %}
```js
// v4