fix(deps): update all non-major dependencies #158
Merged
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:
^2.8.1
->^2.9.0
17.0.29
->17.0.31
^17.0.9
->^17.0.10
17.0.9
->17.0.10
^5.0.0
->^5.1.0
^5.0.0
->^5.1.0
^0.13.4
->^0.13.9
^8.0.0
->^8.1.0
^2.25.1
->^2.25.2
^7.0.2
->^7.0.4
^11.2.3
->^11.2.4
^4.4.3
->^4.4.4
Release Notes
typescript-eslint/typescript-eslint
v5.1.0
Compare Source
Note: Version bump only for package @typescript-eslint/parser
evanw/esbuild
v0.13.9
Compare Source
Add support for
imports
inpackage.json
(#1691)This release adds basic support for the
imports
field inpackage.json
. It behaves similarly to theexports
field but only applies to import paths that start with#
. Theimports
field provides a way for a package to remap its own internal imports for itself, while theexports
field provides a way for a package to remap its external exports for other packages. This is useful because theimports
field respects the currently-configured conditions which means that the import mapping can change at run-time. For example:Now that esbuild supports this feature too, import paths starting with
#
and any provided conditions will be respected when bundling:Fix using
npm rebuild
with theesbuild
package (#1703)Version 0.13.4 accidentally introduced a regression in the install script where running
npm rebuild
multiple times could fail after the second time. The install script creates a copy of the binary executable usinglink
followed byrename
. Usinglink
creates a hard link which saves space on the file system, andrename
is used for safety since it atomically replaces the destination.However, the
rename
syscall has an edge case where it silently fails if the source and destination are both the same link. This meant that the install script would fail after being run twice in a row. With this release, the install script now deletes the source after callingrename
in case it has silently failed, so this issue should now be fixed. It should now be safe to usenpm rebuild
with theesbuild
package.Fix invalid CSS minification of
border-radius
(#1702)CSS minification does collapsing of
border-radius
related properties. For example:However, this only works for numeric tokens, not identifiers. For example:
Transforming this to
div{border-radius:inherit 1px 1px}
, as was done in previous releases of esbuild, is an invalid transformation and results in incorrect CSS. This release of esbuild fixes this CSS transformation bug.v0.13.8
Compare Source
Fix
super
inside arrow function inside loweredasync
function (#1425)When an
async
function is transformed into a regular function for target environments that don't supportasync
such as--target=es6
, references tosuper
inside that function must be transformed too since theasync
-to-regular function transformation moves the function body into a nested function, so thesuper
references are no longer syntactically valid. However, this transform didn't handle an edge case andsuper
references inside of an arrow function were overlooked. This release fixes this bug:Remove the implicit
/
after[dir]
in entry names (#1661)The "entry names" feature lets you customize the way output file names are generated. The
[dir]
and[name]
placeholders are filled in with the directory name and file name of the corresponding entry point file, respectively.Previously
--entry-names=[dir]/[name]
and--entry-names=[dir][name]
behaved the same because the value used for[dir]
always had an implicit trailing slash, since it represents a directory. However, some people want to be able to remove the file name with--entry-names=[dir]
and the implicit trailing slash gets in the way.With this release, you can now use the
[dir]
placeholder without an implicit trailing slash getting in the way. For example, the commandesbuild foo/bar/index.js --outbase=. --outdir=out --entry-names=[dir]
previously generated the fileout/foo/bar/.js
but will now generate the fileout/foo/bar.js
.v0.13.7
Compare Source
Minify CSS alpha values correctly (#1682)
When esbuild uses the
rgba()
syntax for a color instead of the 8-character hex code (e.g. whentarget
is set to Chrome 61 or earlier), the 0-to-255 integer alpha value must be printed as a floating-point fraction between 0 and 1. The fraction was only printed to three decimal places since that is the minimal number of decimal places required for all 256 different alpha values to be uniquely determined. However, using three decimal places does not necessarily result in the shortest result. For example,128 / 255
is0.5019607843137255
which is printed as".502"
using three decimal places, but".5"
is equivalent becauseround(0.5 * 255) == 128
, so printing".5"
would be better. With this release, esbuild will always use the minimal numeric representation for the alpha value:Match node's behavior for core module detection (#1680)
Node has a hard-coded list of core modules (e.g.
fs
) that, when required, short-circuit the module resolution algorithm and instead return the corresponding internal core module object. When you pass--platform=node
to esbuild, esbuild also implements this short-circuiting behavior and doesn't try to bundle these import paths. This was implemented in esbuild using the existingexternal
feature (e.g. essentially--external:fs
). However, there is an edge case where esbuild'sexternal
feature behaved differently than node.Modules specified via esbuild's
external
feature also cause all sub-paths to be excluded as well, so for example--external:foo
excludes bothfoo
andfoo/bar
from the bundle. However, node's core module check is only an exact equality check, so for examplefs
is a core module and bypasses the module resolution algorithm butfs/foo
is not a core module and causes the module resolution algorithm to search the file system.This behavior can be used to load a module on the file system with the same name as one of node's core modules. For example,
require('fs/')
will load the modulefs
from the file system instead of loading node's corefs
module. With this release, esbuild will now match node's behavior in this edge case. This means the external modules that are automatically added by--platform=node
now behave subtly differently than--external:
, which allows code that relies on this behavior to be bundled correctly.Fix WebAssembly builds on Go 1.17.2+ (#1684)
Go 1.17.2 introduces a change (specifically a fix for CVE-2021-38297) that causes Go's WebAssembly bootstrap script to throw an error when it's run in situations with many environment variables. One such situation is when the bootstrap script is run inside GitHub Actions. This change was introduced because the bootstrap script writes a copy of the environment variables into WebAssembly memory without any bounds checking, and writing more than 4096 bytes of data ends up writing past the end of the buffer and overwriting who-knows-what. So throwing an error in this situation is an improvement. However, this breaks esbuild which previously (at least seemingly) worked fine.
With this release, esbuild's WebAssembly bootstrap script that calls out to Go's WebAssembly bootstrap script will now delete all environment variables except for the ones that esbuild checks for, of which there are currently only four:
NO_COLOR
,NODE_PATH
,npm_config_user_agent
, andWT_SESSION
. This should avoid a crash when esbuild is built using Go 1.17.2+ and should reduce the likelihood of memory corruption when esbuild is built using Go 1.17.1 or earlier. This release also updates the Go version that esbuild ships with to version 1.17.2. Note that this problem only affects theesbuild-wasm
package. Theesbuild
package is not affected.See also:
v0.13.6
Compare Source
Emit decorators for
declare
class fields (#1675)In version 3.7, TypeScript introduced the
declare
keyword for class fields that avoids generating any code for that field:However, it turns out that TypeScript still emits decorators for these omitted fields. With this release, esbuild will now do this too:
Experimental support for esbuild on NetBSD (#1624)
With this release, esbuild now has a published binary executable for NetBSD in the
esbuild-netbsd-64
npm package, and esbuild's installer has been modified to attempt to use it when on NetBSD. Hopefully this makes installing esbuild via npm work on NetBSD. This change was contributed by @gdt.Disable the "esbuild was bundled" warning if
ESBUILD_BINARY_PATH
is provided (#1678)The
ESBUILD_BINARY_PATH
environment variable allows you to substitute an alternate binary executable for esbuild's JavaScript API. This is useful in certain cases such as when debugging esbuild. The JavaScript API has some code that throws an error if it detects that it was bundled before being run, since bundling prevents esbuild from being able to find the path to its binary executable. However, that error is unnecessary ifESBUILD_BINARY_PATH
is present because an alternate path has been provided. This release disables the warning whenESBUILD_BINARY_PATH
is present so that esbuild can be used when bundled as long as you also manually specifyESBUILD_BINARY_PATH
.This change was contributed by @heypiotr.
Remove unused
catch
bindings when minifying (#1660)With this release, esbuild will now remove unused
catch
bindings when minifying:This takes advantage of the new optional catch binding syntax feature that was introduced in ES2019. This minification rule is only enabled when optional catch bindings are supported by the target environment. Specifically, it's not enabled when using
--target=es2018
or older. Make sure to set esbuild'starget
setting correctly when minifying if the code will be running in an older JavaScript environment.This change was contributed by @sapphi-red.
v0.13.5
Compare Source
Improve watch mode accuracy (#1113)
Watch mode is enabled by
--watch
and causes esbuild to become a long-running process that automatically rebuilds output files when input files are changed. It's implemented by recording all calls to esbuild's internal file system interface and then invalidating the build whenever these calls would return different values. For example, a call to esbuild's internalReadFile()
function is considered to be different if either the presence of the file has changed (e.g. the file didn't exist before but now exists) or the presence of the file stayed the same but the content of the file has changed.Previously esbuild's watch mode operated at the
ReadFile()
andReadDirectory()
level. When esbuild checked whether a directory entry existed or not (e.g. whether a directory contains anode_modules
subdirectory or apackage.json
file), it calledReadDirectory()
which then caused the build to depend on that directory's set of entries. This meant the build would be invalidated even if a new unrelated entry was added or removed, since that still changes the set of entries. This is problematic when using esbuild in environments that constantly create and destroy temporary directory entries in your project directory. In that case, esbuild's watch mode would constantly rebuild as the directory was constantly considered to be dirty.With this release, watch mode now operates at the
ReadFile()
andReadDirectory().Get()
level. So when esbuild checks whether a directory entry exists or not, the build should now only depend on the presence status for that one directory entry. This should avoid unnecessary rebuilds due to unrelated directory entries being added or removed. The log messages generated using--watch
will now also mention the specific directory entry whose presence status was changed if a build is invalidated for this reason.Note that this optimization does not apply to plugins using the
watchDirs
return value because those paths are only specified at the directory level and do not describe individual directory entries. You can usewatchFiles
orwatchDirs
on the individual entries inside the directory to get a similar effect instead.Disallow certain uses of
<
in.mts
and.cts
filesThe upcoming version 4.5 of TypeScript is introducing the
.mts
and.cts
extensions that turn into the.mjs
and.cjs
extensions when compiled. However, unlike the existing.ts
and.tsx
extensions, expressions that start with<
are disallowed when they would be ambiguous depending on whether they are parsed in.ts
or.tsx
mode. The ambiguity is caused by the overlap between the syntax for JSX elements and the old deprecated syntax for type casts:.ts
.tsx
.mts
/.cts
<x>y
<T>() => {}
<x>y</x>
<T>() => {}</T>
<T extends>() => {}</T>
<T extends={0}>() => {}</T>
<T,>() => {}
<T extends X>() => {}
This release of esbuild introduces a syntax error for these ambiguous syntax constructs in
.mts
and.cts
files to match the new behavior of the TypeScript compiler.Do not remove empty
@keyframes
rules (#1665)CSS minification in esbuild automatically removes empty CSS rules, since they have no effect. However, empty
@keyframes
rules still trigger JavaScript animation events so it's incorrect to remove them. To demonstrate that empty@keyframes
rules still have an effect, here is a bug report for Firefox where it was incorrectly not triggering JavaScript animation events for empty@keyframes
rules: https://bugzilla.mozilla.org/show_bug.cgi?id=1004377.With this release, empty
@keyframes
rules are now preserved during minification:This fix was contributed by @eelco.
Fix an incorrect duplicate label error (#1671)
When labeling a statement in JavaScript, the label must be unique within the enclosing statements since the label determines the jump target of any labeled
break
orcontinue
statement:However, an enclosing label with the same name is allowed as long as it's located in a different function body. Since
break
andcontinue
statements can't jump across function boundaries, the label is not ambiguous. This release fixes a bug where esbuild incorrectly treated this valid code as a syntax error:This fix was contributed by @nevkontakte.
eslint/eslint
v8.1.0
Compare Source
446b4b3
Docs: Update commit message format docs (#15200) (Nicholas C. Zakas)d9d84a0
Fix: keyword-spacing conflict with space-infix-ops on>
(fixes #14712) (#15172) (Milos Djermanovic)a1f7ad7
Fix: allowbaseConfig
to extend preloaded plugin config (fixes #15079) (#15187) (Milos Djermanovic)3d370fb
New: Add no-unused-private-class-members rule (fixes #14859) (#14895) (Tim van der Lippe)e926b17
New: Add name to RuleTester (#15179) (Gareth Jones)90a5b6b
Chore: improve performance of:function
selector (#15181) (Milos Djermanovic)31af1c8
Chore: fix counting of files in performance test (#15190) (Milos Djermanovic)1b87fa8
Build: add node v17 (#15193) (唯然)0fb3bb2
Docs: removeinstanceof
from keyword-spacing docs (#15180) (Milos Djermanovic)249a040
Upgrade:eslint-plugin-eslint-plugin
to v4 (#15169) (Bryan Mishkin)35f3254
Docs: Describe range in rule docs (fixes #14162) (#15174) (Nicholas C. Zakas)b5049c8
Chore: Update stale bot settings (#15173) (Nicholas C. Zakas)2b32f50
Docs: Fix typo in README.md (#15168) (Dmitriy Fishman)dd58cd4
Chore: migrate master to main (#15062) (Nitesh Seram)ec0f8e0
Chore: Add stale issue/PR checker (#15151) (Nicholas C. Zakas)2cfbd4b
Docs: Update README team and sponsors (ESLint Jenkins)v8.0.1
Compare Source
f9217e5
Upgrade: @eslint/eslintrc@1.0.3 for Jest workaround (#15164) (Brandon Mills)c584a63
Chore: add ecmaVersion 13 to types.js (#15163) (Milos Djermanovic)ff5fcd4
Docs: add 13 as allowed ecma version (fixes #15159) (#15162) (唯然)import-js/eslint-plugin-import
v2.25.2
Compare Source
Fixed
eslint-module-utils
for real this time ([#2255])typicode/husky
v7.0.4
Compare Source
No changes. Husky v7.0.3 was reverted, this version is the same as v7.0.2.
v7.0.3
Compare Source
okonet/lint-staged
v11.2.4
Compare Source
Performance Improvements
cosmiconfig
withlilconfig
(#981) (04529e2)Microsoft/TypeScript
v4.4.4
Compare Source
This patch release contains fixes for a performance regression in
--build
mode by only callingrealpath
onpackage.json
files only when those files are known to exist on disk, and to only perform this work under--watch
mode.For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
Downloads are available on:
Configuration
📅 Schedule: "before 12pm on Sunday" (UTC).
🚦 Automerge: Enabled.
♻ 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 WhiteSource Renovate. View repository job log here.