chore(deps): update all non-major dependencies #89
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:
^18.11.13->^18.11.18^5.46.0->^5.50.0^5.46.0->^5.50.0^0.27.0->^0.28.3^0.17.0->^0.17.5^8.29.0->^8.33.0^8.5.0->^8.6.0^2.26.0->^2.27.5^2.8.1->^2.8.3^15.5.1->^15.6.0^4.9.4->^4.9.5^0.27.0->^0.28.3Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
v5.50.0Compare Source
Bug Fixes
String.prototype.length(#5704) (09d57ce)ThisExpressionandPrivateIdentifiererrors (#6028) (85e783c)Features
key-spacingrule extension for interface & type declarations (#6211) (67706e7)v5.49.0Compare Source
Features
#privatemodifier on class members (#6259) (c8a6d80)5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/eslint-plugin
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/eslint-plugin
v5.48.2Compare Source
Note: Version bump only for package @typescript-eslint/eslint-plugin
v5.48.1Compare Source
Note: Version bump only for package @typescript-eslint/eslint-plugin
v5.48.0Compare Source
Features
5.47.1 (2022-12-26)
Bug Fixes
v5.47.1Compare Source
Bug Fixes
v5.47.0Compare Source
Features
5.46.1 (2022-12-12)
Note: Version bump only for package @typescript-eslint/eslint-plugin
v5.46.1Compare Source
Note: Version bump only for package @typescript-eslint/eslint-plugin
typescript-eslint/typescript-eslint (@typescript-eslint/parser)
v5.50.0Compare Source
Note: Version bump only for package @typescript-eslint/parser
v5.49.0Compare Source
Note: Version bump only for package @typescript-eslint/parser
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/parser
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/parser
v5.48.2Compare Source
Note: Version bump only for package @typescript-eslint/parser
v5.48.1Compare Source
Note: Version bump only for package @typescript-eslint/parser
v5.48.0Compare Source
Note: Version bump only for package @typescript-eslint/parser
5.47.1 (2022-12-26)
Note: Version bump only for package @typescript-eslint/parser
v5.47.1Compare Source
Note: Version bump only for package @typescript-eslint/parser
v5.47.0Compare Source
Note: Version bump only for package @typescript-eslint/parser
5.46.1 (2022-12-12)
Note: Version bump only for package @typescript-eslint/parser
v5.46.1Compare Source
Note: Version bump only for package @typescript-eslint/parser
vitest-dev/vitest
v0.28.3Compare Source
🚀 Features
configoption to be false - by @antfu in https://github.com/vitest-dev/vitest/issues/2749 (c66e3)🐞 Bug Fixes
🏎 Performance
View changes on GitHub
v0.28.2Compare Source
🐞 Bug Fixes
timestamp: 0- by @danielroe in https://github.com/vitest-dev/vitest/issues/2747 (e88c0)View changes on GitHub
v0.28.1Compare Source
🐞 Bug Fixes
View changes on GitHub
v0.28.0Compare Source
🚨 Breaking Changes
@vitet/runnerpackage instead ofvitest🐞 Bug Fixes
View changes on GitHub
v0.27.3Compare Source
🚀 Features
environmentMatchGlobsoption to auto infer env based on glob - by @antfu in https://github.com/vitest-dev/vitest/issues/2714 (3e142)🐞 Bug Fixes
reportCoveragecontext can be optional - by @antfu (4cd1e)View changes on GitHub
v0.27.2Compare Source
🚀 Features
🐞 Bug Fixes
coverage.allonly when all tests are run - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2665 (85096)🏎 Performance
View changes on GitHub
v0.27.1Compare Source
🚀 Features
🐞 Bug Fixes
coverage.extension- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/2641 (7e388)View changes on GitHub
evanw/esbuild
v0.17.5Compare Source
Parse
consttype parameters from TypeScript 5.0The TypeScript 5.0 beta announcement adds
consttype parameters to the language. You can now add theconstmodifier on a type parameter of a function, method, or class like this:The type of
namesin the above example isreadonly ["Alice", "Bob", "Eve"]. Marking the type parameter asconstbehaves as if you had writtenas constat 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
asyncarrow functions more strict in.tsxfilesPreviously 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
asyncfollowed by a JSX element starting with<T>. So with this release, esbuild will now reject this syntax in.tsxfiles too. You'll now have to add a comma after the type parameter to get generic arrow functions like this to parse in.tsxfiles:Allow the
inandouttype parameter modifiers on class expressionsTypeScript 4.7 added the
inandoutmodifiers 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
enumconstant 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 enumfeature. With this release, esbuild will now attempt to follow these new rules. For example, you can now initialize anenummember 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
constvariables 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.4Compare Source
Implement HTTP
HEADrequests in serve mode (#2851)Previously esbuild's serve mode only responded to HTTP
GETrequests. With this release, esbuild's serve mode will also respond to HTTPHEADrequests, which are just like HTTPGETrequests 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:
moduleandexportsfor 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-levelawaitis 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/.tsthen 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/.tswill generate an output file named.js.Support replacing property access expressions with inject
At a high level, this change means the
injectfeature can now replace all of the same kinds of names as thedefinefeature. Soinjectis basically now a more powerful version ofdefine, instead of previously only being able to do some of the things thatdefinecould do.Soem background is necessary to understand this change if you aren't already familiar with the
injectfeature. Theinjectfeature lets you replace references to global variable with a shim. It works like this:injectfeatureFor example, if you inject the following file using
--inject:./injected.js:Then esbuild will replace all references to
processwith theprocessShimvariable, 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:
injectfeaturedefinefeature 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.cwdwith thecwdShimvariable, 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.cwdwith thecwdShimvariable, 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:
v0.17.3Compare Source
Fix incorrect CSS minification for certain rules (#2838)
Certain rules such as
@mediacould previously be minified incorrectly. Due to a typo in the duplicate rule checker, two known@-rules that share the same hash code were incorrectly considered to be equal. This problem was made worse by the rule hashing code considering two unknown declarations (such as CSS variables) to have the same hash code, which also isn't optimal from a performance perspective. Both of these issues have been fixed:v0.17.2Compare Source
Add
onDisposeto the plugin API (#2140, #2205)If your plugin wants to perform some cleanup after it's no longer going to be used, you can now use the
onDisposeAPI to register a callback for cleanup-related tasks. For example, if a plugin starts a long-running child process then it may want to terminate that process when the plugin is discarded. Previously there was no way to do this. Here's an example:These
onDisposecallbacks will be called after everybuild()call regardless of whether the build failed or not as well as after the firstdispose()call on a given build context.v0.17.1Compare Source
Make it possible to cancel a build (#2725)
The context object introduced in version 0.17.0 has a new
cancel()method. You can use it to cancel a long-running build so that you can start a new one without needing to wait for the previous one to finish. When this happens, the previous build should always have at least one error and have no output files (i.e. it will be a failed build).Using it might look something like this:
JS:
Go:
This API is a quick implementation and isn't maximally efficient, so the build may continue to do some work for a little bit before stopping. For example, I have added stop points between each top-level phase of the bundler and in the main module graph traversal loop, but I haven't added fine-grained stop points within the internals of the linker. How quickly esbuild stops can be improved in future releases. This means you'll want to wait for
cancel()and/or the previousrebuild()to finish (i.e. await the returned promise in JavaScript) before starting a new build, otherwiserebuild()will give you the just-canceled build that still hasn't ended yet. Note thatonEndcallbacks will still be run regardless of whether or not the build was canceled.Fix server-sent events without
servedir(#2827)The server-sent events for live reload were incorrectly using
servedirto calculate the path to modified output files. This means events couldn't be sent whenservedirwasn't specified. This release uses the internal output directory (which is always present) instead ofservedir(which might be omitted), so live reload should now work whenservediris not specified.Custom entry point output paths now work with the
copyloader (#2828)Entry points can optionally provide custom output paths to change the path of the generated output file. For example,
esbuild foo=abc.js bar=xyz.js --outdir=outgenerates the filesout/foo.jsandout/bar.js. However, this previously didn't work when using thecopyloader due to an oversight. This bug has been fixed. For example, you can now doesbuild foo=abc.html bar=xyz.html --outdir=out --loader:.html=copyto generate the filesout/foo.htmlandout/bar.html.The JS API can now take an array of objects (#2828)
Previously it was not possible to specify two entry points with the same custom output path using the JS API, although it was possible to do this with the Go API and the CLI. This will not cause a collision if both entry points use different extensions (e.g. if one uses
.jsand the other uses.css). You can now pass the JS API an array of objeConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 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 Mend Renovate. View repository job log here.