sleistner / vscode-fileutils

Visual Studio Code Extension
https://marketplace.visualstudio.com/items?itemName=sleistner.vscode-fileutils
MIT License
190 stars 26 forks source link

chore(deps): update dependency esbuild to v0.17.8 #520

Closed renovate[bot] closed 1 year ago

renovate[bot] commented 1 year ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
esbuild 0.17.7 -> 0.17.8 age adoption passing confidence

Release Notes

evanw/esbuild ### [`v0.17.8`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#​0178) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.17.7...v0.17.8) - Fix a minification bug with non-ASCII identifiers ([#​2910](https://togithub.com/evanw/esbuild/issues/2910)) This release fixes a bug with esbuild where non-ASCII identifiers followed by a keyword were incorrectly not separated by a space. This bug affected both the `in` and `instanceof` keywords. Here's an example of the fix: ```js // Original code π in a // Old output (with --minify --charset=utf8) πin a; // New output (with --minify --charset=utf8) π in a; ``` - Fix a regression with esbuild's WebAssembly API in version 0.17.6 ([#​2911](https://togithub.com/evanw/esbuild/issues/2911)) Version 0.17.6 of esbuild updated the Go toolchain to version 1.20.0. This had the unfortunate side effect of increasing the amount of stack space that esbuild uses (presumably due to some changes to Go's WebAssembly implementation) which could cause esbuild's WebAssembly-based API to crash with a stack overflow in cases where it previously didn't crash. One such case is the package `grapheme-splitter` which contains code that looks like this: ```js if ( (0x0300 <= code && code <= 0x036F) || (0x0483 <= code && code <= 0x0487) || (0x0488 <= code && code <= 0x0489) || (0x0591 <= code && code <= 0x05BD) || // ... many hundreds of lines later ... ) { return; } ``` This edge case involves a chain of binary operators that results in an AST over 400 nodes deep. Normally this wouldn't be a problem because Go has growable call stacks, so the call stack would just grow to be as large as needed. However, WebAssembly byte code deliberately doesn't expose the ability to manipulate the stack pointer, so Go's WebAssembly translation is forced to use the fixed-size WebAssembly call stack. So esbuild's WebAssembly implementation is vulnerable to stack overflow in cases like these. It's not unreasonable for this to cause a stack overflow, and for esbuild's answer to this problem to be "don't write code like this." That's how many other AST-manipulation tools handle this problem. However, it's possible to implement AST traversal using iteration instead of recursion to work around limited call stack space. This version of esbuild implements this code transformation for esbuild's JavaScript parser and printer, so esbuild's WebAssembly implementation is now able to process the `grapheme-splitter` package (at least when compiled with Go 1.20.0 and run with node's WebAssembly implementation).

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

sleistner commented 1 year ago

:tada: This PR is included in version 3.10.1 :tada:

The release is available on:

Your semantic-release bot :package::rocket: