Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eslint-plugin-expect-type

Package Overview
Dependencies
Maintainers
3
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-expect-type

ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩

  • 0.4.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7.5K
increased by28.88%
Maintainers
3
Weekly downloads
 
Created
Source

eslint-plugin-expect-type

ESLint plugin with `^?` Twoslash, `$ExpectError`, and `$ExpectType` type assertions. 🧩

All Contributors: 11 👪 Codecov Test Coverage Contributor Covenant License: Apache-2.0 Style: Prettier TypeScript: Strict npm package version Contributor Covenant

let value = 9001;
//  ^? let value: number

// $ExpectError
value = "over nine thousand";

// $ExpectType number
9001;

Installation

Make sure you have TypeScript and @typescript-eslint/parser installed, then install the plugin:

npm i -D eslint-plugin-expect-type

See typescript-eslint's Getting Started docs for how to run ESLint on TypeScript files.

Usage

Add the following options to your ESLint configuration file:

import expectType from "eslint-plugin-expect-type/configs/recommended";

export default [
	// your other ESLint configurations
	expectType,
];

Then, you'll be able to use ^?, $ExpectError, $ExpectType, and $ExpectTypeSnapshot comments in code assert on types.

Usage (Legacy Config)

If you're still using the legacy ESLint configuration file format:

{
	"extends": ["plugin:expect-type/recommended"],
	"plugins": ["expect-type"]
}

Rules

💼 Configurations enabled in.
✅ Set in the recommended configuration.
🔧 Automatically fixable by the --fix CLI option.
💭 Requires type information.

NameDescription💼🔧💭
expectExpects type error, type snapshot, or type.🔧💭

References

You might consider using other popular type assertion libraries in the TypeScript ecosystem:

  • expect-type: Provides functions that return assorted generic type assertion methods, such as expectTypeOf('abc').toMatchTypeOf<string>().
  • ts-expect: Provides generic type assertion function, used like expectType<string>('abc')().
  • tsd: Allows writing tests specifically for .d.ts definition files.
  • Vitest: Includes assertType and expectTypeOf assertions.

TypeScript Version Support

eslint-plugin-expect-type mirrors the DefinitelyTyped TypeScript Support Window. Roughly, that's major versions of TypeScript less than 2 years old.

Appreciation

Many thanks to @ibezkrovnyi for creating the initial version and core infrastructure of this package! 💖

Contributors

Batuhan Wilhelm
Batuhan Wilhelm

🐛 💻
Colin
Colin

🐛
Dan Vanderkam
Dan Vanderkam

💻 🚧
Daniel Nagy
Daniel Nagy

🐛
Dominik Dorfmeister
Dominik Dorfmeister

📖
Francesco Trotta
Francesco Trotta

💻
Igor Bezkrovnyi
Igor Bezkrovnyi

🐛 💻 📖 🚧
Josh Goldberg ✨
Josh Goldberg ✨

🐛 💻 📖 🚧 🚇 🤔
Russell Davis
Russell Davis

💻
detachhead
detachhead

🤔
nirtamir2
nirtamir2

📖

💙 This package was templated with create-typescript-app.

Keywords

FAQs

Package last updated on 10 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc