fix(deps): update dependencies (non-major) #13
Merged
+774
−407
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.20.5
->^7.20.7
^7.20.2
->^7.20.7
^7.20.5
->^7.20.7
^23.0.4
->^23.0.7
^5.0.1
->^5.0.2
^0.2.0
->^0.2.1
^0.16.3
->^0.16.10
^3.4.1
->^3.4.2
^3.7.1
->^3.8.1
^7.6.0
->^7.8.0
^3.19.1
->^3.20.2
Release Notes
babel/babel
v7.20.7
Compare Source
👓 Spec Compliance
babel-helper-member-expression-to-functions
,babel-helper-replace-supers
,babel-plugin-proposal-class-properties
,babel-plugin-transform-classes
babel-helpers
,babel-plugin-proposal-class-properties
,babel-plugin-transform-classes
,babel-plugin-transform-object-super
🐛 Bug Fix
babel-parser
,babel-plugin-transform-typescript
babel-traverse
.parentPath
after rename inSwitchCase
(@nicolo-ribaudo)babel-plugin-transform-typescript
,babel-traverse
babel-plugin-transform-block-scoping
babel-plugin-proposal-async-generator-functions
,babel-preset-env
for await
with shadowed variables (@liuxingbaoyu)babel-generator
,babel-plugin-proposal-optional-chaining
(a ?? b) as T
(@liuxingbaoyu)babel-plugin-transform-react-jsx
,babel-types
JSXText
(@liuxingbaoyu)babel-core
,babel-helpers
,babel-plugin-transform-computed-properties
,babel-runtime-corejs2
,babel-runtime-corejs3
,babel-runtime
babel-helper-member-expression-to-functions
,babel-helper-replace-supers
,babel-plugin-proposal-class-properties
,babel-plugin-transform-classes
babel-generator
TSEnumMember
(@liuxingbaoyu)💅 Polish
babel-plugin-transform-block-scoping
,babel-traverse
🏠 Internal
babel-helper-define-map
,babel-plugin-transform-property-mutators
@babel/helper-define-map
(@nicolo-ribaudo)babel-core
,babel-plugin-proposal-class-properties
,babel-plugin-transform-block-scoping
,babel-plugin-transform-classes
,babel-plugin-transform-destructuring
,babel-plugin-transform-parameters
,babel-plugin-transform-regenerator
,babel-plugin-transform-runtime
,babel-preset-env
,babel-traverse
transform-block-scoping
plugin (@nicolo-ribaudo)🏃♀️ Performance
babel-helper-compilation-targets
getTargets
(@liuxingbaoyu)rollup/plugins (@rollup/plugin-commonjs)
v23.0.7
Compare Source
2022-12-17
Bugfixes
v23.0.6
Compare Source
2022-12-17
Bugfixes
v23.0.5
Compare Source
2022-12-15
Bugfixes
rollup/plugins (@rollup/plugin-replace)
v5.0.2
Compare Source
2022-12-17
Bugfixes
rollup/plugins (@rollup/plugin-terser)
v0.2.1
Compare Source
2022-12-21
Bugfixes
evanw/esbuild
v0.16.10
Compare Source
Change the default "legal comment" behavior again (#2745)
The legal comments feature automatically gathers comments containing
@license
or@preserve
and puts the comments somewhere (either in the generated code or in a separate file). This behavior used to be on by default but was disabled by default in version 0.16.0 because automatically inserting comments is potentially confusing and misleading. These comments can appear to be assigning the copyright of your code to another entity. And this behavior can be especially problematic if it happens automatically by default since you may not even be aware of it happening. For example, if you bundle the TypeScript compiler the preserving legal comments means your source code would contain this comment, which appears to be assigning the copyright of all of your code to Microsoft:However, people have asked for this feature to be re-enabled by default. To resolve the confusion about what these comments are applying to, esbuild's default behavior will now be to attempt to describe which package the comments are coming from. So while this feature has been re-enabled by default, the output will now look something like this instead:
Note that you can still customize this behavior with the
--legal-comments=
flag. For example, you can use--legal-comments=none
to turn this off, or you can use--legal-comments=linked
to put these comments in a separate.LEGAL.txt
file instead.Enable
external
legal comments with the transform API (#2390)Previously esbuild's transform API only supported
none
,inline
, oreof
legal comments. With this release,external
legal comments are now also supported with the transform API. This only applies to the JS and Go APIs, not to the CLI, and looks like this:JS:
Go:
Fix duplicate function declaration edge cases (#2757)
The change in the previous release to forbid duplicate function declarations in certain cases accidentally forbid some edge cases that should have been allowed. Specifically duplicate function declarations are forbidden in nested blocks in strict mode and at the top level of modules, but are allowed when they are declared at the top level of function bodies. This release fixes the regression by re-allowing the last case.
Allow package subpaths with
alias
(#2715)Previously the names passed to the
alias
feature had to be the name of a package (with or without a package scope). With this release, you can now also use thealias
feature with package subpaths. So for example you can now create an alias that substitutes@org/pkg/lib
with something else.v0.16.9
Compare Source
Update to Unicode 15.0.0
The character tables that determine which characters form valid JavaScript identifiers have been updated from Unicode version 14.0.0 to the newly-released Unicode version 15.0.0. I'm not putting an example in the release notes because all of the new characters will likely just show up as little squares since fonts haven't been updated yet. But you can read https://www.unicode.org/versions/Unicode15.0.0/#Summary for more information about the changes.
Disallow duplicate lexically-declared names in nested blocks and in strict mode
In strict mode or in a nested block, it's supposed to be a syntax error to declare two symbols with the same name unless all duplicate entries are either
function
declarations or allvar
declarations. However, esbuild was overly permissive and allowed this when duplicate entries were eitherfunction
declarations orvar
declarations (even if they were mixed). This check has now been made more restrictive to match the JavaScript specification:Add a type declaration for the new
empty
loader (#2755)I forgot to add this in the previous release. It has now been added.
This fix was contributed by @fz6m.
Add support for the
v
flag in regular expression literalsPeople are currently working on adding a
v
flag to JavaScript regular expresions. You can read more about this flag here: https://v8.dev/features/regexp-v-flag. This release adds support for parsing this flag, so esbuild will now no longer consider regular expression literals with this flag to be a syntax error. If the target is set to something other thanesnext
, esbuild will transform regular expression literals containing this flag into anew RegExp()
constructor call so the resulting code doesn't have a syntax error. This enables you to provide a polyfill forRegExp
that implements thev
flag to get your code to work at run-time. While esbuild doesn't typically adopt proposals until they're already shipping in a real JavaScript run-time, I'm adding it now because a) esbuild's implementation doesn't need to change as the proposal evolves, b) this isn't really new syntax since regular expression literals already have flags, and c) esbuild's implementation is a trivial pass-through anyway.Avoid keeping the name of classes with static
name
propertiesThe
--keep-names
property attempts to preserve the original value of thename
property for functions and classes even when identifiers are renamed by the minifier or to avoid a name collision. This is currently done by generating code to assign a string to thename
property on the function or class object. However, this should not be done for classes with a staticname
property since in that case the explicitly-definedname
property overwrites the automatically-generated class name. With this release, esbuild will now no longer attempt to preserve thename
property for classes with a staticname
property.v0.16.8
Compare Source
Allow plugins to resolve injected files (#2754)
Previously paths passed to the
inject
feature were always interpreted as file system paths. This meant thatonResolve
plugins would not be run for them and esbuild's default path resolver would always be used. This meant that theinject
feature couldn't be used in the browser since the browser doesn't have access to a file system. This release runs paths passed toinject
through esbuild's full path resolution pipeline so plugins now have a chance to handle them usingonResolve
callbacks. This makes it possible to write a plugin that makes esbuild'sinject
work in the browser.Add the
empty
loader (#1541, #2753)The new
empty
loader tells esbuild to pretend that a file is empty. So for example--loader:.css=empty
effectively skips all imports of.css
files in JavaScript so that they aren't included in the bundle, sinceimport "./some-empty-file"
in JavaScript doesn't bundle anything. You can also use theempty
loader to remove asset references in CSS files. For example--loader:.png=empty
causes esbuild to replace asset references such asurl(image.png)
withurl()
so that they are no longer included in the resulting style sheet.Fix
</script>
and</style>
escaping for non-default targets (#2748)The change in version 0.16.0 to give control over
</script>
escaping via--supported:inline-script=false
or--supported:inline-script=true
accidentally broke automatic escaping of</script>
when an explicittarget
setting is specified. This release restores the correct automatic escaping of</script>
(which should not depend on whattarget
is set to).Enable the
exports
field withNODE_PATHS
(#2752)Node has a rarely-used feature where you can extend the set of directories that node searches for packages using the
NODE_PATHS
environment variable. While esbuild supports this too, previously it only supported the oldmain
field path resolution but did not support the newexports
field package resolution. This release makes the path resolution rules the same again for bothnode_modules
directories andNODE_PATHS
directories.v0.16.7
Compare Source
Include
file
loader strings in metafile imports (#2731)Bundling a file with the
file
loader copies that file to the output directory and imports a module with the path to the copied file in thedefault
export. Previously when bundling with thefile
loader, there was no reference in the metafile from the JavaScript file containing the path string to the copied file. With this release, there will now be a reference in the metafile in theimports
array with the kindfile-loader
:Fix byte counts in metafile regarding references to other output files (#2071)
Previously files that contained references to other output files had slightly incorrect metadata for the byte counts of input files which contributed to that output file. So for example if
app.js
importsimage.png
using the file loader and esbuild generatesout.js
andimage-LSAMBFUD.png
, the metadata for how many bytes ofout.js
are fromapp.js
was slightly off (the metadata for the byte count ofout.js
was still correct). The reason is because esbuild substitutes the final paths for references between output files toward the end of the build to handle cyclic references, and the byte counts needed to be adjusted as well during the path substitution. This release fixes these byte counts (specifically thebytesInOutput
values).The alias feature now strips a trailing slash (#2730)
People sometimes add a trailing slash to the name of one of node's built-in modules to force node to import from the file system instead of importing the built-in module. For example, importing
util
imports node's built-in module calledutil
but importingutil/
tries to find a package calledutil
on the file system. Previously attempting to use esbuild's package alias feature to replace imports toutil
with a specific file would fail because the file path would also gain a trailing slash (e.g. mappingutil
to./file.js
turnedutil/
into./file.js/
). With this release, esbuild will now omit the path suffix if it's a single trailing slash, which should now allow you to successfully apply aliases to these import paths.v0.16.6
Compare Source
Do not mark subpath imports as external with
--packages=external
(#2741)Node has a feature called subpath imports where special import paths that start with
#
are resolved using theimports
field in thepackage.json
file of the enclosing package. The intent of the newly-added--packages=external
setting is to exclude a package's dependencies from the bundle. Since a package's subpath imports are only accessible within that package, it's wrong for them to be affected by--packages=external
. This release changes esbuild so that--packages=external
no longer affects subpath imports.Forbid invalid numbers in JSON files
Previously esbuild parsed numbers in JSON files using the same syntax as JavaScript. But starting from this release, esbuild will now parse them with JSON syntax instead. This means the following numbers are no longer allowed by esbuild in JSON files:
0
)0b
,0o
, and0x
numeric prefixes_
such as1_000
.
such as0.
and.0
-
such as- 1
Add external imports to metafile (#905, #1768, #1933, #1939)
External imports now appear in
imports
arrays in the metafile (which is present when bundling withmetafile: true
) next to normal imports, but additionally haveexternal: true
to set them apart. This applies both to files in theinputs
section and theoutputs
section. Here's an example:One additional useful consequence of this is that the
imports
array is now populated when bundling is disabled. So you can now use esbuild with bundling disabled to inspect a file's imports.v0.16.5
Compare Source
Make it easy to exclude all packages from a bundle (#1958, #1975, #2164, #2246, #2542)
When bundling for node, it's often necessary to exclude npm packages from the bundle since they weren't designed with esbuild bundling in mind and don't work correctly after being bundled. For example, they may use
__dirname
and run-time file system calls to load files, which doesn't work after bundling with esbuild. Or they may compile a native.node
extension that has similar expectations about the layout of the file system that are no longer true after bundling (even if the.node
extension is copied next to the bundle).The way to get this to work with esbuild is to use the
--external:
flag. For example, thefsevents
package contains a native.node
extension and shouldn't be bundled. To bundle code that uses it, you can pass--external:fsevents
to esbuild to exclude it from your bundle. You will then need to ensure that thefsevents
package is still present when you run your bundle (e.g. by publishing your bundle to npm as a package with a dependency onfsevents
).It was possible to automatically do this for all of your dependencies, but it was inconvenient. You had to write some code that read your
package.json
file and passed the keys of thedependencies
,devDependencies
,peerDependencies
, and/oroptionalDependencies
maps to esbuild as external packages (either that or write a plugin to mark all package paths as external). Previously esbuild's recommendation for making this easier was to do--external:./node_modules/*
(added in version 0.14.13). However, this was a bad idea because it caused compatibility problems with many node packages as it caused esbuild to mark the post-resolve path as external instead of the pre-resolve path. Doing that could break packages that are published as both CommonJS and ESM if esbuild's bundler is also used to do a module format conversion.With this release, you can now do the following to automatically exclude all packages from your bundle:
CLI:
JS:
Go:
Doing
--external:./node_modules/*
is still possible and still has the same behavior, but is no longer recommended. I recommend that you use the newpackages
feature instead.Fix some subtle bugs with tagged template literals
This release fixes a bug where minification could incorrectly change the value of
this
within tagged template literal function calls:This release also fixes a bug where using optional chaining with
--target=es2019
or earlier could incorrectly change the value ofthis
within tagged template literal function calls:Some slight minification improvements
The following minification improvements were implemented:
if (~a !== 0) throw x;
=>if (~a) throw x;
if ((a | b) !== 0) throw x;
=>if (a | b) throw x;
if ((a & b) !== 0) throw x;
=>if (a & b) throw x;
if ((a ^ b) !== 0) throw x;
=>if (a ^ b) throw x;
if ((a << b) !== 0) throw x;
=>if (a << b) throw x;
if ((a >> b) !== 0) throw x;
=>if (a >> b) throw x;
if ((a >>> b) !== 0) throw x;
=>if (a >>> b) throw x;
if (!!a || !!b) throw x;
=>if (a || b) throw x;
if (!!a && !!b) throw x;
=>if (a && b) throw x;
if (a ? !!b : !!c) throw x;
=>if (a ? b : c) throw x;
v0.16.4
Compare Source
Fix binary downloads from the
@esbuild/
scope for Deno (#2729)Version 0.16.0 of esbuild moved esbuild's binary executables into npm packages under the
@esbuild/
scope, which accidentally broke the binary downloader script for Deno. This release fixes this script so it should now be possible to use esbuild version 0.16.4+ with Deno.rollup/rollup
v3.8.1
Compare Source
2022-12-23
Bug Fixes
cache: false
(#4762)Pull Requests
v3.8.0
Compare Source
2022-12-22
Features
Bug Fixes
Pull Requests
v3.7.5
Compare Source
2022-12-17
Bug Fixes
RollupWarning.cause
compatible withError.cause
(#4757)Pull Requests
stack
info in cli error (@TrickyPi)v3.7.4
Compare Source
2022-12-13
Bug Fixes
.exec
and.test
for included stateful regular expressions (#4742)Pull Requests
v3.7.3
Compare Source
2022-12-11
Bug Fixes
this.getFileName
no longer returns a placeholder as soon as hash placeholders have been resolved (#4747)Pull Requests
v3.7.2
Compare Source
2022-12-10
Bug Fixes
Pull Requests
reactivex/rxjs
v7.8.0
Compare Source
Features
closingNotifier
now supports anyObservableInput
(#7073) (61b877a)delayWhen
'sdelayDurationSelector
now supports anyObservableInput
(#7049) (dfd95db)compareTo
now supports anyObservableInput
(#7102) (d501961)ShareConfig
factory properties now supports anyObservableInput
(#7093) (cc3995a)notifier
now supports anyObservableInput
(#7091) (60d6c40)windowBoundaries
now supports anyObservableInput
(#7088) (8c4347c)v7.7.0
Compare Source
Features
flush
argument now supports anyObservableInput
(#7081) (74c9ebd)notifier
supportsObservableInput
(#7103) (8f1b976)notifier
now supports anyObservableInput
(#7105) (794f806)notifier
now supports anyObservableInput
(#7104) (b18c2eb)colinhacks/zod
v3.20.2
Compare Source
Commits:
d7d49e7
Clarify boolean coercionf49cbcb
Fix formatting0b62f8c
Revert email regex changes68919aa
3.20.2c9e4ed4
Fix string testv3.20.1
Compare Source
Commits:
1298d26
Update readmeb3b0ecf
Only call .catch() method when parsing fails (#1674)957b55b
Fixing ZodString::isDatetime. (#1678)29ec1f8
Add default1161b8f
3.20.1v3.20.0
: -betaCompare Source
Breaking changes
There are no breaking API changes, however TypeScript versions
4.4
and earlier are no longer officially supported.New features
The most feature-packed release since Zod 3.0!
.pipe()
A new schema method
.pipe()
is now available on all schemas. which can be used to chain multiple schemas into a "validation pipeline". Typically this will be used in conjunction with.transform()
.The
.pipe()
method returns aZodPipeline
instance.z.coerce
Zod now provides a more convenient way to coerce primitive values.
During the parsing step, the input is passed through the
String()
function, which is a JavaScript built-in for coercing data into strings. Note that the returned schema is aZodString
instance so you can use all string methods.All primitive types support coercion.
.catch()
A new schema method
.catch()
is now available on all schemas. It can be used to provide a "catchall" value that will be returned in the event of a parsing error.The
.catch()
method returns aZodCatch
instance.z.symbol()
A long-missing hole in Zod's type system is finally filled! Thanks @santosmarco-caribou.
Relatedly, you can also pass symbols into
z.literal()
.z.string().datetime()
A new method has been added to
ZodString
to validate ISO datetime strings. Thanks @samchungy!This method defaults to only allowing UTC datetimes (the ones that end in
"Z"
). No timezone offsets are allowed; arbitrary sub-second precision is supported.Offsets can be supported with the
offset
parameter.You can additionally constrain the allowable
precision
. This specifies the number of digits that should follow the decimal point.z.number().finite()
Restrict a number schema to finite values. Thanks @igalklebanov.
What's Changed
mask
parameter to.required
method by @SrBrahma in https://github.com/colinhacks/zod/pull/1315fatal
toZodIssue
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1555.finite()
@ZodNumber
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1546.required()
doesn't remove optional flag from the result of.nullish()
. by @igalklebanov in https://github.com/colinhacks/zod/pull/1542datetime()
string formats by @samchungy in https://github.com/colinhacks/zod/pull/1494path
parameter into account within.parseAsync()
by @RobinTail in https://github.com/colinhacks/zod/pull/1513ZodSymbol
by @santosmarco-caribou in https://github.com/colinhacks/zod/pull/1448New Contributors
Configuration
📅 Schedule: Branch creation - "before 2am" (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