How to resolve breaking changes
This PR may introduce breaking changes that require manual intervention. In such cases, you will need to check out this branch, fix the cause of the breakage, and commit the fix to ensure a green CI build. To check out and update this PR, follow the steps below:
```sh
# Check out the PR branch
git checkout -b renovate/esbuild-devdependencies main
git pull https://github.com/ampproject/amphtml.git renovate/esbuild-devdependencies
# Directly make fixes and commit them
amp lint --fix # For lint errors in JS files
amp prettify --fix # For prettier errors in non-JS files
# Edit source code in case of new compiler warnings / errors
# Push the changes to the branch
git push git@github.com:ampproject/amphtml.git renovate/esbuild-devdependencies:renovate/esbuild-devdependencies
```
Release Notes
evanw/esbuild (esbuild)
### [`v0.23.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0231)
[Compare Source](https://togithub.com/evanw/esbuild/compare/v0.23.0...v0.23.1)
- Allow using the `node:` import prefix with `es*` targets ([#3821](https://togithub.com/evanw/esbuild/issues/3821))
The [`node:` prefix on imports](https://nodejs.org/api/esm.html#node-imports) is an alternate way to import built-in node modules. For example, `import fs from "fs"` can also be written `import fs from "node:fs"`. This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with `--target=node14` so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as `--target=node18,es2022` removes the `node:` prefix because none of the `es*` targets are known to support this feature. This release adds the support for the `node:` flag to esbuild's internal compatibility table for `es*` to allow you to use compound targets like this:
```js
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "node:fs";
fs.open;
```
- Fix a panic when using the CLI with invalid build flags if `--analyze` is present ([#3834](https://togithub.com/evanw/esbuild/issues/3834))
Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the `--analyze` flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how `--analyze` is implemented) to a null build object. The panic has been fixed in this release.
- Fix incorrect location of certain error messages ([#3845](https://togithub.com/evanw/esbuild/issues/3845))
This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild.
- Print comments before case clauses in switch statements ([#3838](https://togithub.com/evanw/esbuild/issues/3838))
With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification).
- Fix a memory leak with `pluginData` ([#3825](https://togithub.com/evanw/esbuild/issues/3825))
With this release, the build context's internal `pluginData` cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return `pluginData` objects from `onResolve` and/or `onLoad` callbacks.
Configuration
📅 Schedule: Branch creation - "after 12am every weekday" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.23.0
->0.23.1
See all other Renovate PRs on the Dependency Dashboard
How to resolve breaking changes
This PR may introduce breaking changes that require manual intervention. In such cases, you will need to check out this branch, fix the cause of the breakage, and commit the fix to ensure a green CI build. To check out and update this PR, follow the steps below: ```sh # Check out the PR branch git checkout -b renovate/esbuild-devdependencies main git pull https://github.com/ampproject/amphtml.git renovate/esbuild-devdependencies # Directly make fixes and commit them amp lint --fix # For lint errors in JS files amp prettify --fix # For prettier errors in non-JS files # Edit source code in case of new compiler warnings / errors # Push the changes to the branch git push git@github.com:ampproject/amphtml.git renovate/esbuild-devdependencies:renovate/esbuild-devdependencies ```Release Notes
evanw/esbuild (esbuild)
### [`v0.23.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0231) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.23.0...v0.23.1) - Allow using the `node:` import prefix with `es*` targets ([#3821](https://togithub.com/evanw/esbuild/issues/3821)) The [`node:` prefix on imports](https://nodejs.org/api/esm.html#node-imports) is an alternate way to import built-in node modules. For example, `import fs from "fs"` can also be written `import fs from "node:fs"`. This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with `--target=node14` so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as `--target=node18,es2022` removes the `node:` prefix because none of the `es*` targets are known to support this feature. This release adds the support for the `node:` flag to esbuild's internal compatibility table for `es*` to allow you to use compound targets like this: ```js // Original code import fs from 'node:fs' fs.open // Old output (with --bundle --format=esm --platform=node --target=node18,es2022) import fs from "fs"; fs.open; // New output (with --bundle --format=esm --platform=node --target=node18,es2022) import fs from "node:fs"; fs.open; ``` - Fix a panic when using the CLI with invalid build flags if `--analyze` is present ([#3834](https://togithub.com/evanw/esbuild/issues/3834)) Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the `--analyze` flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how `--analyze` is implemented) to a null build object. The panic has been fixed in this release. - Fix incorrect location of certain error messages ([#3845](https://togithub.com/evanw/esbuild/issues/3845)) This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild. - Print comments before case clauses in switch statements ([#3838](https://togithub.com/evanw/esbuild/issues/3838)) With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification). - Fix a memory leak with `pluginData` ([#3825](https://togithub.com/evanw/esbuild/issues/3825)) With this release, the build context's internal `pluginData` cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return `pluginData` objects from `onResolve` and/or `onLoad` callbacks.Configuration
📅 Schedule: Branch creation - "after 12am every weekday" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.