chore(deps): update all devdependencies #11278
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:
0.11.0
->0.12.1
8.50.0
->8.51.0
0.16.0
->0.17.3
5.20.0
->5.21.0
Release Notes
arethetypeswrong/arethetypeswrong.github.io (@arethetypeswrong/cli)
v0.12.1
Compare Source
Patch Changes
35544c5
]v0.12.0
Compare Source
Patch Changes
a578211
]eslint/eslint (eslint)
v8.51.0
Compare Source
Features
0a9c433
feat: Add--no-warn-ignored
CLI option for flat config (#17569) (Domantas Petrauskas)977e67e
feat: logical-assignment-operators to report expressions with 3 operands (#17600) (Yosuke Ota)Bug Fixes
f976b2f
fix: make rule severity case-sensitive in flat config (#17619) (Milos Djermanovic)0edfe36
fix: Ensure crash error messages are not duplicated (#17584) (Nicholas C. Zakas)dd79abc
fix:eslint-disable
to be able to parse quoted rule names (#17612) (Yosuke Ota)d2f6801
fix: Ensure correct code path for && followed by ?? (#17618) (Nicholas C. Zakas)Documentation
ee5be81
docs: default tosourceType: "module"
in rule examples (#17615) (Francesco Trotta)1aa26df
docs: Add more examples for multiline-ternary (#17610) (George Ashiotis)47d0b44
docs: Update README (GitHub Actions Bot)dbf831e
docs: use generated og image (#17601) (Percy Ma)1866da5
docs: Update README (GitHub Actions Bot)Chores
1ef39ea
chore: upgrade @eslint/js@8.51.0 (#17624) (Milos Djermanovic)f8c7403
chore: package.json update for @eslint/js release (ESLint Jenkins)2665552
test: fix flat config linter tests to use Linter in flat config mode (#17616) (Milos Djermanovic)7b77bcc
chore: Refactor CodePathState (#17510) (Nicholas C. Zakas)bc77c9a
chore: Document and refactor ForkContext (#17566) (Nicholas C. Zakas)24e1f14
chore: Refactor and document CodePath (#17558) (Nicholas C. Zakas)mmkal/expect-type (expect-type)
v0.17.3
Compare Source
907b8aa
v0.17.2
Compare Source
4b38117
Diff(truncated - scroll right!):
v0.17.1
Compare Source
.not
and.branded
togethercf38918
(this was actually documented in the v0.17.0 release but really it was only pushed here)
v0.17.0
Compare Source
#16 went in to - hopefully - significantly improve the error messages produce on failing assertions. Here's an example of how vitest's failing tests were improved:
Before:
After:
Docs copied from the readme about how to interpret these error messages
Error messages
When types don't match,
.toEqualTypeOf
and.toMatchTypeOf
use a special helper type to produce error messages that are as actionable as possible. But there's a bit of an nuance to understanding them. Since the assertions are written "fluently", the failure should be on the "expected" type, not the "actual" type (expect<Actual>().toEqualTypeOf<Expected>()
). This means that type errors can be a little confusing - so this library produces aMismatchInfo
type to try to make explicit what the expectation is. For example:Is an assertion that will fail, since
{a: 1}
has type{a: number}
and not{a: string}
. The error message in this case will read something like this:Note that the type constraint reported is a human-readable messaging specifying both the "expected" and "actual" types. Rather than taking the sentence
Types of property 'a' are incompatible // Type 'string' is not assignable to type "Expected: string, Actual: number"
literally - just look at the property name ('a'
) and the message:Expected: string, Actual: number
. This will tell you what's wrong, in most cases. Extremely complex types will of course be more effort to debug, and may require some experimentation. Please raise an issue if the error messages are actually misleading.The
toBe...
methods (liketoBeString
,toBeNumber
,toBeVoid
etc.) fail by resolving to a non-callable type when theActual
type under test doesn't match up. For example, the failure for an assertion likeexpectTypeOf(1).toBeString()
will look something like this:The
This expression is not callable
part isn't all that helpful - the meaningful error is the next line,Type 'ExpectString<number> has no call signatures
. This essentially means you passed a number but asserted it should be a string.If TypeScript added support for "throw" types these error messagess could be improved. Until then they will take a certain amount of squinting.
Concrete "expected" objects vs typeargs
Error messages for an assertion like this:
Will be less helpful than for an assertion like this:
This is because the TypeScript compiler needs to infer the typearg for the
.toEqualTypeOf({a: ''})
style, and this library can only mark it as a failure by comparing it against a genericMismatch
type. So, where possible, use a typearg rather than a concrete type for.toEqualTypeOf
andtoMatchTypeOf
. If it's much more convenient to compare two concrete types, you can usetypeof
:Kinda-breaking changes: essentially none, but technically,
.branded
no longer returns a "full"ExpectTypeOf
instance at compile-time. Previously you could do this:Now that won't work (and it was always slightly nonsensical), so you'd have to use
// @​ts-expect-error
instead ofnot
if you have a negated case where you needbranded
:What's Changed
New Contributors
Full Changelog: mmkal/expect-type@v0.16.0...v0.17.0
terser/terser (terser)
v5.21.0
Compare Source
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.