Update dependency esbuild to v0.18.17 #243
No reviewers
Labels
No labels
ActivityPub
Bug
Indie/Micropub
Indie/Microsub
Indie/Webmention
Special/MEGA
Special/Renovate
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Reference: inhji/chiya#243
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/esbuild-0.x-lockfile"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
0.18.14
->0.18.17
Release Notes
evanw/esbuild (esbuild)
v0.18.17
Compare Source
Support
An+B
syntax and:nth-*()
pseudo-classes in CSSThis adds support for the
:nth-child()
,:nth-last-child()
,:nth-of-type()
, and:nth-last-of-type()
pseudo-classes to esbuild, which has the following consequences:An+B
syntax is now parsed, so parse errors are now reportedAn+B
values inside these pseudo-classes are now pretty-printed (e.g. a leading+
will be stripped because it's not in the AST)An+B
values are reduced to equivalent but shorter forms (e.g.2n+0
=>2n
,2n+1
=>odd
)of
clause are now detected (e.g. in:nth-child(2n of :local(.foo))
the namefoo
is now renamed)Adjust CSS nesting parser for IE7 hacks (#3272)
This fixes a regression with esbuild's treatment of IE7 hacks in CSS. CSS nesting allows selectors to be used where declarations are expected. There's an IE7 hack where prefixing a declaration with a
*
causes that declaration to only be applied in IE7 due to a bug in IE7's CSS parser. However, it's valid for nested CSS selectors to start with*
. So esbuild was incorrectly parsing these declarations and anything following it up until the next{
as a selector for a nested CSS rule. This release changes esbuild's parser to terminate the parsing of selectors for nested CSS rules when a;
is encountered to fix this edge case:Note that the syntax for CSS nesting is about to change again, so esbuild's CSS parser may still not be completely accurate with how browsers do and/or will interpret CSS nesting syntax. Expect additional updates to esbuild's CSS parser in the future to deal with upcoming CSS specification changes.
Adjust esbuild's warning about undefined imports for TypeScript
import
equals declarations (#3271)In JavaScript, accessing a missing property on an import namespace object is supposed to result in a value of
undefined
at run-time instead of an error at compile-time. This is something that esbuild warns you about by default because doing this can indicate a bug with your code. For example:If you bundle
app.js
with esbuild you will get this:However, there is TypeScript-only syntax for
import
equals declarations that can represent either a type import (which esbuild should ignore) or a value import (which esbuild should respect). Since esbuild doesn't have a type system, it tries to only respectimport
equals declarations that are actually used as values. Previously esbuild always generated this warning for unused imports referenced withinimport
equals declarations even when the reference could be a type instead of a value. Starting with this release, esbuild will now only warn in this case if the import is actually used. Here is an example of some code that no longer causes an incorrect warning:v0.18.16
Compare Source
Fix a regression with whitespace inside
:is()
(#3265)The change to parse the contents of
:is()
in version 0.18.14 introduced a regression that incorrectly flagged the contents as a syntax error if the contents started with a whitespace token (for examplediv:is( .foo ) {}
). This regression has been fixed.v0.18.15
Compare Source
Add the
--serve-fallback=
option (#2904)The web server built into esbuild serves the latest in-memory results of the configured build. If the requested path doesn't match any in-memory build result, esbuild also provides the
--servedir=
option to tell esbuild to serve the requested path from that directory instead. And if the requested path doesn't match either of those things, esbuild will either automatically generate a directory listing (for directories) or return a 404 error.Starting with this release, that last step can now be replaced with telling esbuild to serve a specific HTML file using the
--serve-fallback=
option. This can be used to provide a "not found" page for missing URLs. It can also be used to implement a single-page app that mutates the current URL and therefore requires the single app entry point to be served when the page is loaded regardless of whatever the current URL is.Use the
tsconfig
field inpackage.json
duringextends
resolution (#3247)This release adds a feature from TypeScript 3.2 where if a
tsconfig.json
file specifies a package name in theextends
field and that package'spackage.json
file has atsconfig
field, the contents of that field are used in the search for the basetsconfig.json
file.Implement CSS nesting without
:is()
when possible (#1945)Previously esbuild would always produce a warning when transforming nested CSS for a browser that doesn't support the
:is()
pseudo-class. This was because the nesting transform needs to generate an:is()
in some complex cases which means the transformed CSS would then not work in that browser. However, the CSS nesting transform can often be done without generating an:is()
. So with this release, esbuild will no longer warn when targeting browsers that don't support:is()
in the cases where an:is()
isn't needed to represent the nested CSS.In addition, esbuild's nested CSS transform has been updated to avoid generating an
:is()
in cases where an:is()
is preferable but there's a longer alternative that is also equivalent. This update means esbuild can now generate a combinatorial explosion of CSS for complex CSS nesting syntax when targeting browsers that don't support:is()
. This combinatorial explosion is necessary to accurately represent the original semantics. For example:This change means you can now use CSS nesting with esbuild when targeting an older browser that doesn't support
:is()
. You'll now only get a warning from esbuild if you use complex CSS nesting syntax that esbuild can't represent in that older browser without using:is()
. There are two such cases:These two cases still need to use
:is()
, both for different reasons, and cannot be used when targeting an older browser that doesn't support:is()
:Automatically lower
inset
in CSS for older browsersWith this release, esbuild will now automatically expand the
inset
property to thetop
,right
,bottom
, andleft
properties when esbuild'starget
is set to a browser that doesn't supportinset
:Add support for the new
@starting-style
CSS rule (#3249)This at rule allow authors to start CSS transitions on first style update. That is, you can now make the transition take effect when the
display
property changes fromnone
toblock
.This was contributed by @yisibl.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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 Renovate Bot.
f504093545
toabf1f6d1f2
abf1f6d1f2
to999e395a81
999e395a81
toc8b5ae35b9
c8b5ae35b9
toffb2a93610
Edited/Blocked Notification
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.