JSLint
proposal-type-annotations
Our great sponsors
JSLint | proposal-type-annotations | |
---|---|---|
18 | 101 | |
3,596 | 4,081 | |
0.1% | 2.1% | |
6.2 | 4.7 | |
23 days ago | about 1 month ago | |
JavaScript | JavaScript | |
The Unlicense | - |
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.
JSLint
-
Misty Programming Language
This is the spec for the language Douglas Crockford (author of the book "JavaScript: The Good Parts", the JSON specification[1], JSLint[2]) had explained in his famous talk: "The Next Programming Language"[3].
The "big things" in the language are the Actor model, favouring immutability and capabilities-based security.
-
JavaScript Is Weird
Someone should write a book about this [0] and a tool to automate checking your JavaScript code [1].
[0]: https://www.oreilly.com/library/view/javascript-the-good/978...
I'm working on a book called "How to not get your knickers in a twist because you neglected to learn from people who came before you."
-
200 Web-Based, Must-Try Web Design and Development Tools
JavaScript Linter
-
How To Secure Your JavaScript Applications
One way to achieve this is by using linting tools like ESLint or JSLint. These tools automatically analyze your code for errors, stylistic inconsistencies, and potential security vulnerabilities. By customizing the linting rules to align with coding standards and best practices, you can identify and rectify potential security issues early in the development process. Linting helps maintain a clean and secure codebase.
-
JavaScript import maps are now supported cross-browser
>Does this mean that in theory i could skip the build/bundling step entirely?
You can but you must write your app in something the browser understands (js not ts, css not sass etc) and use native modules. For example, here is the test harness for a custom module, written in pure html with no build step: https://github.com/javajosh/simpatico/blob/master/combine2.h.... Here is a more complex (and much older) example from Crockford: https://www.jslint.com/
And yes, the experience developing this way is quite nice!
- How do I tell jslint to ignore this?
-
Find ES6 features in any JS code
I came across a problem where I had to find the ES6 features used by any javascript project and other data regarding their use. When I reached out to stackoverflow, I could find only one relevant post which asks you to use linters like jshint/jshint or compilers like babel. Jslint didn't seem to report anything specific to ES6 and Babel converts all the ES6+ features to ES5 but doesn't report anything regarding which constructs were used or how many times they were used. However, Jshint reported all ES6 features used in the code along with some metadata. And, to suit my needs, I ended up writing a python script that calls Jshint on all JS files in a project and presents the features used in the project and the number of times they were used across all files. You can find the code here : jsHintRunner
-
The Why & How To Create A Front-End Website Testing Plan
Javascript Linting parses and checks if any syntax is violating the rule. If a violation occurs, a warning is shown explaining unexpected behavior. Use the online version for small projects: JSLint, ESLint or JSHint. For larger projects, it is recommended to use a task runner like Gulp or Grunt. Linters ensure developers are following the best practices as a result of which few bugs appear during project development.
-
Disambiguating Jamstack and MACH
Programmers of classical languages hate JavaScript because it's prototype-based, dynamic and weakly typed (among other complaints). It's also the number one most in-demand programming language in 2022 according to a number of independent surveys. JSLint can help you write better JavaScript and JSMin can minify your code before deployment. These tools were created by Douglas Crockford. I would recommend his books JavaScript: The Good Parts for programmers coming to JavaScript for the first time, and How JavaScript Works for experienced JavaScript programmers.
- Thing we can do today to JavaScript is to retire it
proposal-type-annotations
-
Bun 1.1
That proposal is not fully compatible with Typescript: https://github.com/tc39/proposal-type-annotations?tab=readme...
-
Go 1.22 Release Notes
They held a meeting a few months ago so it's alive but probably still years away.
https://github.com/tc39/proposal-type-annotations/issues/184
-
[AskJS] Kicking a dead horse - TS vs JS
I particularly like this thread in the TC39 types proposal. TypeScript IS a development trojan horse and locks you into the Microsoft Way of being a JS developer.
- Strong static typing, a hill I'm willing to die on...
-
HTML First – Six principles for building simple, maintainable, web software
Edit: There is a proposal to extend JavaScript with type annotations, which would allow ("a reasonably large subset") of TypeScript to run directly in the browser. Yay!
-
Building React Components Using Unions in TypeScript
More importantly, TypeScript typically commits to build things into itself when the proposal in JavaScript reaches Stage 3. The pattern matching proposal in JavaScript is Stage 1, but depends on many other proposals as well that may or may not need to be at Stage 3 as well for it to work. This particular proposal is interested on pattern matching on JavaScript Objects and other primitives, just like Python does with it’s native primitives. These are also dynamic types which helps in some areas, but makes it harder than others. Additionally, the JavaScript type annotations proposal needs to possibly account for this. So it’s going to be awhile. Like many years.
-
Show HN: Conway's Game of Life in TypeScript's type system
this is exactly what I want from the _Types as Comments_ proposal[0] as I think it's the only way that types can feasibly become part of the language. It's hard to imagine how all of the concepts TS introduces via special syntax can be covered otherwise.
-
Why Htmx Does Not Have a Build Step
Crossing my fingers that the proposal for allowing (browser-ignored) type annotations in javascript progresses: https://tc39.es/proposal-type-annotations/
Between that, HTTP2/3 and ES modules many of the downsides for building apps with no compile step are almost completely mitigated.
-
TypeScript Without Transpilation
JSDoc can get you pretty far, but it can be clumsy sometimes. There’s a [TC39 proposal](https://github.com/tc39/proposal-type-annotations) to allow types to live in JS code and be treated as comments (similar with Python types today)
- Do you think typescript will ever have native support on brosers? Or we will have only the JS type annotations?
What are some alternatives?
ESLint - Find and fix problems in your JavaScript code.
astexplorer - A web tool to explore the ASTs generated by various parsers.
prettier - Prettier is an opinionated code formatter.
rescript-compiler - The compiler for ReScript.
JSHint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code
Scala.js - Scala.js, the Scala to JavaScript compiler
jsinspect - Detect copy-pasted and structurally similar code
Carp - A statically typed lisp, without a GC, for real-time applications.
Typefont - The first open-source library that detects the font of a text in a image.
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
jsfmt - For formatting, searching, and rewriting JavaScript.
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!