tslib
typescript-eslint
Our great sponsors
tslib | typescript-eslint | |
---|---|---|
4 | 123 | |
1,223 | 14,590 | |
1.2% | 1.7% | |
6.5 | 9.9 | |
6 days ago | about 19 hours ago | |
TypeScript | TypeScript | |
BSD Zero Clause License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tslib
-
Htmx changes license to Zero-Clause BSD
It's appropriate for software designed for use cases where an attribution requirement would be inconvenient or otherwise undesirable. For example, https://github.com/microsoft/tslib uses it, because that library is automatically included in any TypeScript program that uses downleveling, so if it had an attribution requirement then that requirement would apply to every program written in TypeScript, which nobody wants. (GCC and LLVM do something similar with their special runtime-library exceptions to the GPL and Apache License, respectively, but tslib lives in a separate repository from the rest of TypeScript and so could easily just get a separate license.)
-
String Literals in JavaScript: Should I Use Double-quotes or Single-quotes?
Looking at some popular JavaScript projects on GitHub, I noted that react, moment, and express all use single quotes for strings. However, another popular project, tslib, uses double quotes 🙄. So, while it would seem that single quotes is more common, this metric is not entirely conclusive.
-
https://np.reddit.com/r/learnjavascript/comments/o61djh/es6_what_is_the_difference_between_import_as/h2raxp0/
Things get a little interesting if you're using CommonJS interoperability, in which case our second import becomes something like const view2 = __importDefault(require("./view2")).default. This helper function checks to see if the imported file is an ES module and effectively namespaces the module under the default property if not. You can see TypeScript's implementation of this here.
-
Optimizing bundle size with TSLib helper functions
You may just copy them from tslib. It's 0BSD-licensed which doesn't even require attribution; but having the link somewhere in your comments is at least polite 🙂
typescript-eslint
-
Mastering Type-Safe JSON Serialization in TypeScript
Typescript-eslint can assist in this task. This tool helps identify all instances of unsafe any usage. Specifically, all usages of JSON.parse can be found and it can be ensured that the received data's format is checked. More about getting rid of the any type in a codebase can be read in the article Making TypeScript Truly "Strongly Typed".
-
Oxlint – written in Rust – 50-100 Times Faster than ESLint
> Only lint files that have changed? How hard that is?
Quite hard, especially since type-aware rules from e.g. https://typescript-eslint.io/ mean that changing the type of a variable in file A can break your code in file B, even if file B hasn't changed.
-
How to Do a TypeScript Conversion: an opinionated take on gradual conversions
The article only touches this: when converting to TypeScript, `any` is useful, but in the end you don't want this type in your codebase - so don't forget to use typescript-eslint [0] and turn on those no-unsafe-* rules which guard against `any` leaking into your code.
[0] https://github.com/typescript-eslint/typescript-eslint
- How do I add additional rules to my typescript-eslint settings?
- What's the best config for typescript-eslint?
- How do you add angular-eslint to your typescript-eslint config?
- What's the best typescript-eslint config?
-
The Best ESLint Rules for React Projects
By convention, React components should be named in PascalCase. @typescript-eslint has the config we need, and though we can't specifically target React components, we can target variables (and set some other conventions while we're at it):
- Open source public fund experiment - One and a half years update
- Never touch those //ts-ignores
What are some alternatives?
tsyringe - Lightweight dependency injection container for JavaScript/TypeScript
eslint-config-google - ESLint shareable config for the Google JavaScript style guide
XToolSet - Typed import, and export XLSX spreadsheet to JS / TS. Template-based create, render, and export data into excel files.
angular-eslint - :sparkles: Monorepo for all the tooling related to using ESLint with Angular
bundlejs - An online tool to quickly bundle & minify your projects, while viewing the compressed bundle size, all running locally on your browser. A quick and easy way to bundle, minify, and compress (gzip and brotli) your ts, js, jsx and npm projects all online, with the bundle file size.
ts-standard - Typescript style guide, linter, and formatter using StandardJS
ts-transform-import-path-rewrite - TS AST transformer to rewrite import path
zod - TypeScript-first schema validation with static type inference
ESLint - Find and fix problems in your JavaScript code.
node-clinic - Clinic.js diagnoses your Node.js performance issues
ts_injector - Simple and lightweight injector for typescript projects.
ts-node - TypeScript execution and REPL for node.js