Skip to content
This repository was archived by the owner on Jul 24, 2025. It is now read-only.

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 5, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@swc/core (source) ^1.3.10 -> ^1.3.21 age adoption passing confidence
@types/node (source) ^18.11.9 -> ^18.11.10 age adoption passing confidence
@types/react (source) ^18.0.25 -> ^18.0.26 age adoption passing confidence
esbuild ^0.15.15 -> ^0.15.18 age adoption passing confidence
vite (source) ^4.0.0-alpha.5 -> ^4.0.0-alpha.6 age adoption passing confidence

Release Notes

swc-project/swc

v1.3.21

Compare Source

Bug Fixes
  • (ci) Fix publish action for binaries (#​6517) (2ac3201)

  • (es/minifier) Don't drop used variables from sequential inliner (#​6520) (b394f9f)

  • (es/minifier) Make sequential inliner respect resolution order (#​6509) (27ae59e)

  • (es/minifier) Use unsafe option for arrow => method (#​6521) (9752b43)

  • (es/minifier) Don't convert a signed integer literal key to a numeric literal (#​6529) (81224b5)

  • (html/parser) Fix parsing of cdata (#​6534) (e3cbe7e)

Features
Miscellaneous Tasks
Performance
  • (common) Fix perf bug of sourcemap for inputs with multi-byte chars (#​6523) (47908a4)
Refactor
Testing
  • (es/minifier) Add tests for preserving top-level directives (#​6545) (8d8f150)

  • (es/transforms) Add tests about preserving top-level directives (#​6518) (5ff87af)

  • (es/typescript) Migrate inline tests to fixture tests (#​6546) (cddbc41)

  • (ts/compat) Migrate inline tests to fixture testing (#​6475) (cc4646a)- general: Use correct extensions for fixture tests (#​6539) (7ee86d1)

Build

v1.3.20

Compare Source

Bug Fixes
Features
  • (es/codegen) Skip whitespaces for comments in minify mode (#​6465) (08a9e21)
Miscellaneous Tasks
Performance
Refactor
Build

v1.3.19

Compare Source

Bug Fixes
Features
Refactor

v1.3.18

Compare Source

Bug Fixes
Features

v1.3.17

Compare Source

Bug Fixes
Miscellaneous Tasks
Refactor

v1.3.16

Compare Source

Bug Fixes

v1.3.15

Compare Source

Bug Fixes
Documentation
  • (contributing) Change feature flags for running all tests (#​6396) (6e443d4)
Features
Miscellaneous Tasks
Performance
Refactor
Testing
  • (es/resolver) Add a test about hoisting of functions in a switch (#​6341) (2513862)

v1.3.14

Compare Source

Bug Fixes
Features
Miscellaneous Tasks
Performance
Refactor
Testing

v1.3.13

Compare Source

v1.3.11

Compare Source

Bug Fixes
Features
Miscellaneous Tasks
Refactor
Testing
Build
evanw/esbuild

v0.15.18

Compare Source

  • Performance improvements for both JS and CSS

    This release brings noticeable performance improvements for JS parsing and for CSS parsing and printing. Here's an example benchmark for using esbuild to pretty-print a single large minified CSS file and JS file:

    Test case Previous release This release
    4.8mb CSS file 19ms 11ms (1.7x faster)
    5.8mb JS file 36ms 32ms (1.1x faster)

    The performance improvements were very straightforward:

    • Identifiers were being scanned using a generic character advancement function instead of using custom inline code. Advancing past each character involved UTF-8 decoding as well as updating multiple member variables. This was sped up using loop that skips UTF-8 decoding entirely and that only updates member variables once at the end. This is faster because identifiers are plain ASCII in the vast majority of cases, so Unicode decoding is almost always unnecessary.

    • CSS identifiers and CSS strings were still being printed one character at a time. Apparently I forgot to move this part of esbuild's CSS infrastructure beyond the proof-of-concept stage. These were both very obvious in the profiler, so I think maybe I have just never profiled esbuild's CSS printing before?

    • There was unnecessary work being done that was related to source maps when source map output was disabled. I likely haven't observed this before because esbuild's benchmarks always have source maps enabled. This work is now disabled when it's not going to be used.

    I definitely should have caught these performance issues earlier. Better late than never I suppose.

v0.15.17

Compare Source

  • Search for missing source map code on the file system (#​2711)

    Source maps are JSON files that map from compiled code back to the original code. They provide the original source code using two arrays: sources (required) and sourcesContent (optional). When bundling is enabled, esbuild is able to bundle code with source maps that was compiled by other tools (e.g. with Webpack) and emit source maps that map all the way back to the original code (e.g. before Webpack compiled it).

    Previously if the input source maps omitted the optional sourcesContent array, esbuild would use null for the source content in the source map that it generates (since the source content isn't available). However, sometimes the original source code is actually still present on the file system. With this release, esbuild will now try to find the original source code using the path in the sources array and will use that instead of null if it was found.

  • Fix parsing bug with TypeScript infer and extends (#​2712)

    This release fixes a bug where esbuild incorrectly failed to parse valid TypeScript code that nests extends inside infer inside extends, such as in the example below:

    type A<T> = {};
    type B = {} extends infer T extends {} ? A<T> : never;

    TypeScript code that does this should now be parsed correctly.

  • Use WebAssembly.instantiateStreaming if available (#​1036, #​1900)

    Currently the WebAssembly version of esbuild uses fetch to download esbuild.wasm and then WebAssembly.instantiate to compile it. There is a newer API called WebAssembly.instantiateStreaming that both downloads and compiles at the same time, which can be a performance improvement if both downloading and compiling are slow. With this release, esbuild now attempts to use WebAssembly.instantiateStreaming and falls back to the original approach if that fails.

    The implementation for this builds on a PR by @​lbwa.

  • Preserve Webpack comments inside constructor calls (#​2439)

    This improves the use of esbuild as a faster TypeScript-to-JavaScript frontend for Webpack, which has special magic comments inside new Worker() expressions that affect Webpack's behavior.

v0.15.16

Compare Source

  • Add a package alias feature (#​2191)

    With this release, you can now easily substitute one package for another at build time with the new alias feature. For example, --alias:oldpkg=newpkg replaces all imports of oldpkg with newpkg. One use case for this is easily replacing a node-only package with a browser-friendly package in 3rd-party code that you don't control. These new substitutions happen first before all of esbuild's existing path resolution logic.

    Note that when an import path is substituted using an alias, the resulting import path is resolved in the working directory instead of in the directory containing the source file with the import path. If needed, the working directory can be set with the cd command when using the CLI or with the absWorkingDir setting when using the JS or Go APIs.

  • Fix crash when pretty-printing minified JSX with object spread of object literal with computed property (#​2697)

    JSX elements are translated to JavaScript function calls and JSX element attributes are translated to properties on a JavaScript object literal. These properties are always either strings (e.g. in <x y />, y is a string) or an object spread (e.g. in <x {...y} />, y is an object spread) because JSX doesn't provide syntax for directly passing a computed property as a JSX attribute. However, esbuild's minifier has a rule that tries to inline object spread with an inline object literal in JavaScript. For example, x = { ...{ y } } is minified to x={y} when minification is enabled. This means that there is a way to generate a non-string non-spread JSX attribute in esbuild's internal representation. One example is with <x {...{ [y]: z }} />. When minification is enabled, esbuild's internal representation of this is something like <x [y]={z} /> due to object spread inlining, which is not valid JSX syntax. If this internal representation is then pretty-printed as JSX using --minify --jsx=preserve, esbuild previously crashed when trying to print this invalid syntax. With this release, esbuild will now print <x {...{[y]:z}}/> in this scenario instead of crashing.

vitejs/vite

v4.0.0-alpha.6

Compare Source


Configuration

📅 Schedule: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

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

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Dec 5, 2022
@ArnaudBarre ArnaudBarre merged commit a0a84ce into main Dec 5, 2022
@ArnaudBarre ArnaudBarre deleted the renovate/all-minor-patch branch December 5, 2022 09:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants