proposal-record-tuple
typescript-eslint
Our great sponsors
proposal-record-tuple | typescript-eslint | |
---|---|---|
73 | 123 | |
2,411 | 14,458 | |
0.8% | 1.7% | |
2.7 | 9.9 | |
4 months ago | 5 days ago | |
HTML | TypeScript | |
- | 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.
proposal-record-tuple
-
Union, intersection, difference, and more are coming to JavaScript Sets
relevant issue, which is at the crux of this problem: https://github.com/tc39/proposal-record-tuple/issues/387
-
The Everything NPM Package
There are still so many basic things that aren't in the JS stdlib, though. A good example is Map - if you need to use a tuple of two values as a key, you're SOL because there's no way to customize key comparisons. Hopefully we'll get https://tc39.es/proposal-record-tuple/ eventually, but meanwhile languages ranging from C++ to Java to Python have had some sensible way to do this for over 20 years now.
-
Deep Cloning Objects in JavaScript, the Modern Way
If you’re reaching for structuredClone, what you really want is native immutable Record and Tuple syntax, and the companion “deep path properties” syntax which allows for efficient and ergonomic immutable updates:
-
Cool language features that Rust is missing?
It will be called "record" in JavaScript which will swing the popularity back the other way I guess (currently a language proposal)
-
Why doesn't TypeScript properly type Object.keys?
I suspect considering the strong desire to maintain consistency with JavaScript, we will eventually see something that when the Record proposal passes through tc39
-
ES2023 features list!
I hope the Record and Tuple proposal makes it through
-
[AskJS] Is JavaScript missing some built-in methods?
Record and tuple is at stage 2
-
[AskJS] Which utility libraries are in your opinion so good they are basicaly mandatory?
Can't wait until we get records and tuples and you won't have to resort to shenanigans like this just to check if data is equal to other data
-
Pipe Operator (|>) For JavaScript
I hope Records & Tuples[0] land before this does. It would have meaningful and far reaching positive effects for the language, without much controversy. Like most of these things, it takes about 5-7 years for it to permeate through enough of the engines to be meaningfully useful in the day to day of web developers (node / deno typically 12-18 months tops). It would drastically speed up existing code once wide adoption is gained though.
I don't think the Pipe Operator would be as useful in comparison
-
Which Language in your opinion is well designed?
You might be interested in the Stage 2 Tuples and Records proposal. It's one of the proposals I'm most excited about, but there will be interesting discussions on how TypeScript will integrate those into their type system.
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.
-
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
-
Create React UI Lib 1.1: Ladle and ESLint
You can also add ESLint now (props to @femincan for the suggestion). It comes with recommended settings for these plugins: typescript, prettier, react, react-hooks, jsx-a11y.
-
npx storybook init does not work properly? It installs react and react-dom, also the components are full of errors?! Am I doing something wrong?
{ "root": true, "ignorePatterns": ["projects/**/*"], "rules": { "prettier/prettier": [ "error", { "endOfLine": "auto" } ] }, "overrides": [ { // TODO: find a way to apply rules on all files ending with .ts except for files ending with .stories.ts "files": ["*.ts"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates", "plugin:prettier/recommended" ], "rules": { // https://github.com/angular-eslint/angular-eslint/tree/main/packages/eslint-plugin/docs/rules "@angular-eslint/directive-selector": [ "error", { "type": "attribute", "prefix": "hv", "style": "camelCase" } ], "@angular-eslint/component-selector": [ "error", { "type": "element", "prefix": "hv", "style": "kebab-case" } ], // https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules "@typescript-eslint/member-ordering": "error", "@typescript-eslint/naming-convention": "error", // https://eslint.org/docs/latest/rules/ "default-case": "error", "default-case-last": "error" } }, { "files": ["*.html"], "extends": [ "plugin:@angular-eslint/template/recommended", "plugin:prettier/recommended" ], "rules": { // https://github.com/angular-eslint/angular-eslint/tree/main/packages/eslint-plugin-template/docs/rules "@angular-eslint/template/no-duplicate-attributes": ["error"], "@angular-eslint/template/attributes-order": ["error"], "@angular-eslint/template/no-call-expression": [ "error" ], "@angular-eslint/template/accessibility-elements-content": [ "error", { "allowList": [ "ariaLabel" ] } ], "@angular-eslint/template/accessibility-valid-aria": [ "error" ] } }, { "files": ["*.stories.@(ts|mjs|cjs)"], "extends": ["plugin:storybook/recommended"] // https://github.com/storybookjs/eslint-plugin-storybook/tree/main/docs/rules // "rules": {} } ] }
-
Have questions about ESLint?
View on GitHub
-
How does the typescript-eslint project generate its changelogs?
Hi. I'm maintaining a small monorepo and I'd like to learn techniques from large, mature projects like typescript-eslint. I assume they automate changelogs from commit logs and/or PRs, but I can't figure out how they do it by looking at their source code. I do know of tools like release-it that helps automate the process; do the typescript-eslint maintainers use such a tool, or use a homegrown one?
- Searching for videos about the TypeScript Compiler API
What are some alternatives?
eslint-config-google - ESLint shareable config for the Google JavaScript style guide
angular-eslint - :sparkles: Monorepo for all the tooling related to using ESLint with Angular
ts-standard - Typescript style guide, linter, and formatter using StandardJS
zod - TypeScript-first schema validation with static type inference
node-clinic - Clinic.js diagnoses your Node.js performance issues
ts-node - TypeScript execution and REPL for node.js
WSL - Issues found on WSL
eslint-plugin-import - ESLint plugin with rules that help validate proper imports. [Moved to: https://github.com/import-js/eslint-plugin-import]
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
eslint-plugin-jest - ESLint plugin for Jest
io-ts - Runtime type system for IO decoding/encoding