fix(deps): update dependencies (non-major) #54
Merged
+183
−167
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^7.33.8
->^7.34.3
^4.0.2
->^4.0.3
^24.0.0
->^24.0.1
^0.3.0
->^0.4.0
^4.21.4
->^4.21.5
^0.17.3
->^0.17.6
^2.8.3
->^2.8.4
^4.1.1
->^4.1.2
^3.10.0
->^3.14.0
^3.20.2
->^3.20.3
Release Notes
rollup/plugins (@rollup/plugin-alias)
v4.0.3
Compare Source
2023-01-20
Bugfixes
rollup/plugins (@rollup/plugin-commonjs)
v24.0.1
Compare Source
2023-01-20
Bugfixes
rollup/plugins (@rollup/plugin-terser)
v0.4.0
Compare Source
2023-01-23
Features
browserslist/browserslist
v4.21.5
Compare Source
evanw/esbuild
v0.17.6
Compare Source
Fix a CSS parser crash on invalid CSS (#2892)
Previously the following invalid CSS caused esbuild's parser to crash:
The crash was caused by trying to construct a helpful error message assuming that there was an opening
{
token, which is not the case here. This release fixes the crash.Inline TypeScript enums that are referenced before their declaration
Previously esbuild inlined enums within a TypeScript file from top to bottom, which meant that references to TypeScript enum members were only inlined within the same file if they came after the enum declaration. With this release, esbuild will now inline enums even when they are referenced before they are declared:
This makes esbuild's TypeScript output smaller and faster when processing code that does this. I noticed this issue when I ran the TypeScript compiler's source code through esbuild's bundler. Now that the TypeScript compiler is going to be bundled with esbuild in the upcoming TypeScript 5.0 release, improvements like this will also improve the TypeScript compiler itself!
Fix esbuild installation on Arch Linux (#2785, #2812, #2865)
Someone made an unofficial
esbuild
package for Linux that adds theESBUILD_BINARY_PATH=/usr/bin/esbuild
environment variable to the user's default environment. This breaks all npm installations of esbuild for users with this unofficial Linux package installed, which has affected many people. Most (all?) people who encounter this problem haven't even installed this unofficial package themselves; instead it was installed for them as a dependency of another Linux package. The problematic change to add theESBUILD_BINARY_PATH
environment variable was reverted in the latest version of this unofficial package. However, old versions of this unofficial package are still there and will be around forever. With this release,ESBUILD_BINARY_PATH
is now ignored by esbuild's install script when it's set to the value/usr/bin/esbuild
. This should unbreak using npm to installesbuild
in these problematic Linux environments.Note: The
ESBUILD_BINARY_PATH
variable is an undocumented way to override the location of esbuild's binary when esbuild's npm package is installed, which is necessary to substitute your own locally-built esbuild binary when debugging esbuild's npm package. It's only meant for very custom situations and should absolutely not be forced on others by default, especially without their knowledge. I may remove the code in esbuild's installer that readsESBUILD_BINARY_PATH
in the future to prevent these kinds of issues. It will unfortunately make debugging esbuild harder. IfESBUILD_BINARY_PATH
is ever removed, it will be done in a "breaking change" release.v0.17.5
Compare Source
Parse
const
type parameters from TypeScript 5.0The TypeScript 5.0 beta announcement adds
const
type parameters to the language. You can now add theconst
modifier on a type parameter of a function, method, or class like this:The type of
names
in the above example isreadonly ["Alice", "Bob", "Eve"]
. Marking the type parameter asconst
behaves as if you had writtenas const
at every use instead. The above code is equivalent to the following TypeScript, which was the only option before TypeScript 5.0:You can read the announcement for more information.
Make parsing generic
async
arrow functions more strict in.tsx
filesPreviously esbuild's TypeScript parser incorrectly accepted the following code as valid:
The official TypeScript parser rejects this code because it thinks it's the identifier
async
followed by a JSX element starting with<T>
. So with this release, esbuild will now reject this syntax in.tsx
files too. You'll now have to add a comma after the type parameter to get generic arrow functions like this to parse in.tsx
files:Allow the
in
andout
type parameter modifiers on class expressionsTypeScript 4.7 added the
in
andout
modifiers on the type parameters of classes, interfaces, and type aliases. However, while TypeScript supported them on both class expressions and class statements, previously esbuild only supported them on class statements due to an oversight. This release now allows these modifiers on class expressions too:Update
enum
constant folding for TypeScript 5.0TypeScript 5.0 contains an updated definition of what it considers a constant expression:
This impacts esbuild's implementation of TypeScript's
const enum
feature. With this release, esbuild will now attempt to follow these new rules. For example, you can now initialize anenum
member with a template literal expression that contains a numeric constant:These rules are not followed exactly due to esbuild's limitations. The rule about dotted references to
const
variables is not followed both because esbuild's enum processing is done in an isolated module setting and because doing so would potentially require esbuild to use a type system, which it doesn't have. For example:Also, the rule that requires converting numbers to a string currently only followed for 32-bit signed integers and non-finite numbers. This is done to avoid accidentally introducing a bug if esbuild's number-to-string operation doesn't exactly match the behavior of a real JavaScript VM. Currently esbuild's number-to-string constant folding is conservative for safety.
Forbid definite assignment assertion operators on class methods
In TypeScript, class methods can use the
?
optional property operator but not the!
definite assignment assertion operator (while class fields can use both):Previously esbuild incorrectly allowed the definite assignment assertion operator with class methods. This will no longer be allowed starting with this release.
v0.17.4
Compare Source
Implement HTTP
HEAD
requests in serve mode (#2851)Previously esbuild's serve mode only responded to HTTP
GET
requests. With this release, esbuild's serve mode will also respond to HTTPHEAD
requests, which are just like HTTPGET
requests except that the body of the response is omitted.Permit top-level await in dead code branches (#2853)
Adding top-level await to a file has a few consequences with esbuild:
module
andexports
for exports and also enables strict mode, which disables certain syntax and changes how function hoisting works (among other things).require()
on this file or on any file that imports this file (even indirectly), since therequire()
function doesn't return a promise and so can't represent top-level await.This release relaxes these rules slightly: rules 2 and 3 will now no longer apply when esbuild has identified the code branch as dead code, such as when it's behind an
if (false)
check. This should make it possible to use esbuild to convert code into different output formats that only uses top-level await conditionally. This release does not relax rule 1. Top-level await will still cause esbuild to unconditionally consider the input module format to be ESM, even when the top-levelawait
is in a dead code branch. This is necessary because whether the input format is ESM or not affects the whole file, not just the dead code branch.Fix entry points where the entire file name is the extension (#2861)
Previously if you passed esbuild an entry point where the file extension is the entire file name, esbuild would use the parent directory name to derive the name of the output file. For example, if you passed esbuild a file
./src/.ts
then the output name would besrc.js
. This bug happened because esbuild first strips the file extension to get./src/
and then joins the path with the working directory to get the absolute path (e.g.join("/working/dir", "./src/")
gives/working/dir/src
). However, the join operation also canonicalizes the path which strips the trailing/
. Later esbuild uses the "base name" operation to extract the name of the output file. Since there is no trailing/
, esbuild returns"src"
as the base name instead of""
, which causes esbuild to incorrectly include the directory name in the output file name. This release fixes this bug by deferring the stripping of the file extension until after all path manipulations have been completed. So now the file./src/.ts
will generate an output file named.js
.Support replacing property access expressions with inject
At a high level, this change means the
inject
feature can now replace all of the same kinds of names as thedefine
feature. Soinject
is basically now a more powerful version ofdefine
, instead of previously only being able to do some of the things thatdefine
could do.Soem background is necessary to understand this change if you aren't already familiar with the
inject
feature. Theinject
feature lets you replace references to global variable with a shim. It works like this:inject
featureFor example, if you inject the following file using
--inject:./injected.js
:Then esbuild will replace all references to
process
with theprocessShim
variable, which will causeprocess.cwd()
to return'/'
. This feature is sort of abusing the ESM export alias syntax to specify the mapping of global variables to shims. But esbuild works this way because using this syntax for that purpose is convenient and terse.However, if you wanted to replace a property access expression, the process was more complicated and not as nice. You would have to:
inject
featuredefine
feature to map the property access expression to the random name you made in step 2For example, if you inject the following file using
--inject:./injected2.js --define:process.cwd=someRandomName
:Then esbuild will replace all references to
process.cwd
with thecwdShim
variable, which will also causeprocess.cwd()
to return'/'
(but which this time will not mess with other references toprocess
, which might be desirable).With this release, using the inject feature to replace a property access expression is now as simple as using it to replace an identifier. You can now use JavaScript's "arbitrary module namespace identifier names" feature to specify the property access expression directly using a string literal. For example, if you inject the following file using
--inject:./injected3.js
:Then esbuild will now replace all references to
process.cwd
with thecwdShim
variable, which will also causeprocess.cwd()
to return'/'
(but which will also not mess with other references toprocess
).In addition to inserting a shim for a global variable that doesn't exist, another use case is replacing references to static methods on global objects with cached versions to both minify them better and to make access to them potentially faster. For example:
prettier/prettier
v2.8.4
Compare Source
diff
Fix leading comments in mapped types with
readonly
(#13427 by @thorn0, @sosukesuzuki)Group params in opening block statements (#14067 by @jamescdavis)
This is a follow-up to #13930 to establish wrapping consistency between opening block statements and else blocks by
grouping params in opening blocks. This causes params to break to a new line together and not be split across lines
unless the length of params exceeds the print width. This also updates the else block wrapping to behave exactly the
same as opening blocks.
Ignore files in
.sl/
(#14206 by @bolinfest)In Sapling SCM,
.sl/
is the folder where it stores its state, analogous to.git/
in Git. It should be ignored in Prettier like the other SCM folders.Recognize
@satisfies
in Closure-style type casts (#14262 by @fisker)Fix parens in inferred function return types with
extends
(#14279 by @fisker)isaacs/rimraf
v4.1.2
Compare Source
rollup/rollup
v3.14.0
Compare Source
2023-02-05
Features
experimentalDeepDynamicChunkOptimization
option to produce fewer chunks from dynamic imports (#4837)Pull Requests
v3.13.0
Compare Source
2023-02-03
Features
experimentalMinChunkSize
(#4723)Pull Requests
v3.12.1
Compare Source
2023-02-01
Bug Fixes
Pull Requests
v3.12.0
Compare Source
2023-01-28
Features
Pull Requests
v3.11.0
Compare Source
2023-01-26
Features
Bug Fixes
Pull Requests
v3.10.1
Compare Source
2023-01-20
Bug Fixes
Pull Requests
colinhacks/zod
v3.20.3
Compare Source
Features
ZodNumber.isFinite
, makeZodNumber.isInt
true if.multipleOf(int)
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1714extract
/exclude
methods toZodEnum
by @santosmarco-caribou in https://github.com/colinhacks/zod/pull/1652Fixes and documentation
z.coerce
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1680isAsync
type guard by @aaronccasanova in https://github.com/colinhacks/zod/pull/1719ZodCatch
by @santosmarco-caribou in https://github.com/colinhacks/zod/pull/1733deno/lib/README.md
to matchzod/README.md
by @JacobWeisenburger in https://github.com/colinhacks/zod/pull/1791.describe()
by @rattrayalex in https://github.com/colinhacks/zod/pull/1819.pick
,.omit
,.partial
&.required
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1875ZodObject
's.omit(mask)
,.pick(mask)
,.required(mask)
&.partial(mask)
at compile time. by @igalklebanov in https://github.com/colinhacks/zod/pull/1564New Contributors
Full Changelog: colinhacks/zod@v3.20.2...v3.20.3
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.
This PR has been generated by Mend Renovate using a preset from
. View repository job log here