TypL alternatives and similar libraries
Based on the "Type Checkers" category.
Alternatively, view TypL alternatives based on common mentions on social networks and blogs.
-
TypeScript
IO wrapper around TypeScript language services, allowing for easy consumption by editor plugins
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of TypL or a related project?
README
TypL
The Type Linter for JS.
Overview
TypL provides optional type annotations for JS programs, so you can verify that you haven't mixed incompatible value-types in any operations (which can cause bugs!). However, TypL takes a different approach from the more well-known TypeScript and Flow tools.
As a quick glance at the differences:
not a typed-language variant of JS, but rather a (type) linter in the truest sense: TypL checks code against a set of opinions (that you control!) about how types should be treated in your program; with a heavy emphasis on type inferencing, you can run type linting on existing JS programs without any code changes
for type annotations, uses only standard valid JS syntax (ES6 template tags), so type-annotated code can be executed without any compilation step if desired (as long as the runtime library is present)
shifts focus from "typing your variables" to "typing your values and expressions"; variables optionally get assigned "implied types" from the annotated value-types
provides compile-time static type checks as well as runtime dynamic type checks (assertions), both of which are optional
completely configurable (like ESLint), so you're always in control of what is reported as a type error or not -- for example, you decide if some specific type conversion/coercion is allowed, etc
TypL is still in early development. For more information, please see: TypL.dev.
Run
bin/typl --file=./some-code.js
or:
node ./lib/cli.js --file=./some-code.js
Test
npm test
Project Champions
I would like to thank the following people for their generous sponsorship as a project champion. You are awesome!
License
All code and documentation are (c) 2019 Kyle Simpson and released under the MIT License. A copy of the MIT License [is also included](LICENSE.txt).
*Note that all licence references and agreements mentioned in the TypL README section above
are relevant to that project's source code only.