Closed renovate[bot] closed 1 year ago
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.
This PR contains the following updates:
^0.15.2
->^0.17.0
Release Notes
evanw/esbuild
### [`v0.17.16`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01716) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.17.15...v0.17.16) - Fix CSS nesting transform for triple-nested rules that start with a combinator ([#3046](https://togithub.com/evanw/esbuild/issues/3046)) This release fixes a bug with esbuild where triple-nested CSS rules that start with a combinator were not transformed correctly for older browsers. Here's an example of such a case before and after this bug fix: ```css /* Original input */ .a { color: red; > .b { color: green; > .c { color: blue; } } } /* Old output (with --target=chrome90) */ .a { color: red; } .a > .b { color: green; } .a .b > .c { color: blue; } /* New output (with --target=chrome90) */ .a { color: red; } .a > .b { color: green; } .a > .b > .c { color: blue; } ``` - Support `--inject` with a file loaded using the `copy` loader ([#3041](https://togithub.com/evanw/esbuild/issues/3041)) This release now allows you to use `--inject` with a file that is loaded using the `copy` loader. The `copy` loader copies the imported file to the output directory verbatim and rewrites the path in the `import` statement to point to the copied output file. When used with `--inject`, this means the injected file will be copied to the output directory as-is and a bare `import` statement for that file will be inserted in any non-copy output files that esbuild generates. Note that since esbuild doesn't parse the contents of copied files, esbuild will not expose any of the export names as usable imports when you do this (in the way that esbuild's `--inject` feature is typically used). However, any side-effects that the injected file has will still occur. ### [`v0.17.15`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01715) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.17.14...v0.17.15) - Allow keywords as type parameter names in mapped types ([#3033](https://togithub.com/evanw/esbuild/issues/3033)) TypeScript allows type keywords to be used as parameter names in mapped types. Previously esbuild incorrectly treated this as an error. Code that does this is now supported: ```ts type Foo = 'a' | 'b' | 'c' type A = { [keyof in Foo]: number } type B = { [infer in Foo]: number } type C = { [readonly in Foo]: number } ``` - Add annotations for re-exported modules in node ([#2486](https://togithub.com/evanw/esbuild/issues/2486), [#3029](https://togithub.com/evanw/esbuild/issues/3029)) Node lets you import named imports from a CommonJS module using ESM import syntax. However, the allowed names aren't derived from the properties of the CommonJS module. Instead they are derived from an arbitrary syntax-only analysis of the CommonJS module's JavaScript AST. To accommodate node doing this, esbuild's ESM-to-CommonJS conversion adds a special non-executable "annotation" for node that describes the exports that node should expose in this scenario. It takes the form `0 && (module.exports = { ... })` and comes at the end of the file (`0 && expr` means `expr` is never evaluated). Previously esbuild didn't do this for modules re-exported using the `export * from` syntax. Annotations for these re-exports will now be added starting with this release: ```js // Original input export { foo } from './foo' export * from './bar' // Old output (with --format=cjs --platform=node) ... 0 && (module.exports = { foo }); // New output (with --format=cjs --platform=node) ... 0 && (module.exports = { foo, ...require("./bar") }); ``` Note that you need to specify both `--format=cjs` and `--platform=node` to get these node-specific annotations. - Avoid printing an unnecessary space in between a number and a `.` ([#3026](https://togithub.com/evanw/esbuild/pull/3026)) JavaScript typically requires a space in between a number token and a `.` token to avoid the `.` being interpreted as a decimal point instead of a member expression. However, this space is not required if the number token itself contains a decimal point, an exponent, or uses a base other than 10. This release of esbuild now avoids printing the unnecessary space in these cases: ```js // Original input foo(1000 .x, 0 .x, 0.1 .x, 0.0001 .x, 0xFFFF_0000_FFFF_0000 .x) // Old output (with --minify) foo(1e3 .x,0 .x,.1 .x,1e-4 .x,0xffff0000ffff0000 .x); // New output (with --minify) foo(1e3.x,0 .x,.1.x,1e-4.x,0xffff0000ffff0000.x); ``` - Fix server-sent events with live reload when writing to the file system root ([#3027](https://togithub.com/evanw/esbuild/issues/3027)) This release fixes a bug where esbuild previously failed to emit server-sent events for live reload when `outdir` was the file system root, such as `/`. This happened because `/` is the only path on Unix that cannot have a trailing slash trimmed from it, which was fixed by improved path handling. ### [`v0.17.14`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01714) [Compare Source](https://togithub.com/evanw/esbuild/compare/v0.17.13...v0.17.14) - Allow the TypeScript 5.0 `const` modifier in object type declarations ([#3021](https://togithub.com/evanw/esbuild/issues/3021)) The new TypeScript 5.0 `const` modifier was added to esbuild in version 0.17.5, and works with classes, functions, and arrow expressions. However, support for it wasn't added to object type declarations (e.g. interfaces) due to an oversight. This release adds support for these cases, so the following TypeScript 5.0 code can now be built with esbuild: ```ts interface Foo {Configuration
📅 Schedule: Branch creation - "every weekend" (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.
🔕 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.