All Projects → getify → Typl

getify / Typl

Licence: mit
The Type Linter for JS

Programming Languages

javascript
184084 projects - #8 most used programming language
types
53 projects

Labels

Projects that are alternatives of or similar to Typl

Nayumi
A cute bot of Telegram.
Stars: ✭ 12 (-95.74%)
Mutual labels:  linter
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (-7.8%)
Mutual labels:  linter
Tlint
Tighten linter for Laravel conventions
Stars: ✭ 274 (-2.84%)
Mutual labels:  linter
pug-lint-vue
Command line tool to lint Pug templates in Vue single file components.
Stars: ✭ 21 (-92.55%)
Mutual labels:  linter
textlint-rule-terminology
Textlint rule to check correct terms spelling
Stars: ✭ 32 (-88.65%)
Mutual labels:  linter
Goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report.
Stars: ✭ 2,943 (+943.62%)
Mutual labels:  linter
fortran-linter
A simple fortran syntax checker, including automatic fixing of the code.
Stars: ✭ 15 (-94.68%)
Mutual labels:  linter
Lint Review
An automated code linting bot that integrates various code lint tools with github pull requests.
Stars: ✭ 279 (-1.06%)
Mutual labels:  linter
awesome-react-app
Always the latest version of "create-react-app" with awesome configurations (lint, commit lint, husk, editor config, etc)
Stars: ✭ 44 (-84.4%)
Mutual labels:  linter
Repolinter
Repolinter, The Open Source Repository Linter
Stars: ✭ 270 (-4.26%)
Mutual labels:  linter
shcheck
easily bind shellcheck and shfmt to your CI, so your shellscripts can be checked.
Stars: ✭ 16 (-94.33%)
Mutual labels:  linter
unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 119 (-57.8%)
Mutual labels:  linter
Typescript Tslint Plugin
TypeScript TSLint language service plugin
Stars: ✭ 270 (-4.26%)
Mutual labels:  linter
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-86.88%)
Mutual labels:  linter
Linter
Static Analysis Compiler Plugin for Scala
Stars: ✭ 273 (-3.19%)
Mutual labels:  linter
Swift-Coding-Guidelines
A repository to collect best practices when programming with Swift
Stars: ✭ 17 (-93.97%)
Mutual labels:  linter
Graphql For Vscode
GraphQL syntax highlighting, linting, auto-complete, and more!
Stars: ✭ 265 (-6.03%)
Mutual labels:  linter
Vim Terraform Completion
A (Neo)Vim Autocompletion and linter for Terraform, a HashiCorp tool
Stars: ✭ 280 (-0.71%)
Mutual labels:  linter
Coala Bears
Bears for coala
Stars: ✭ 276 (-2.13%)
Mutual labels:  linter
Wotan
Pluggable TypeScript and JavaScript linter
Stars: ✭ 271 (-3.9%)
Mutual labels:  linter

TypL

The ***Typ***e ***L***inter 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].