closure-compiler
proposal-type-annotations
Our great sponsors
closure-compiler | proposal-type-annotations | |
---|---|---|
14 | 101 | |
7,247 | 4,093 | |
0.6% | 2.3% | |
9.6 | 4.7 | |
8 days ago | about 1 month ago | |
Java | JavaScript | |
Apache License 2.0 | - |
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.
closure-compiler
-
TypeScript Might Not Be Your God: Case Study of Migration from TS to JSDoc
The most well-known tools that rely on JSDoc are Closure Compiler (not to be confused with the Closure programming language) and TypeScript. Both of these tools can help make your JavaScript typed, but they approach it differently. Closure Compiler primarily focuses on enhancing your .js files by adding typing through JSDoc annotations (after all, they are just comments), while TypeScript is designed for .ts files, introducing its own well-known TypeScript constructs such as type, interface, enum, namespace, and so on.
-
Minify and Gzip (2022)
Closure Compiler follows the same line of thinking:
https://github.com/google/closure-compiler/wiki/FAQ#closure-...
- Svelte is migrating from TypeScript to JSDoc
-
Do any engines or optimizers product TS-specific performance gains?
I think only Google Closure Compiler did some optimizations based on its JSDoc-style annotations (see docs). If I remember correctly, types mostly allowed renaming objects' properties across modules, but most other advanced optimizations (like dead code elimination or functions inlining) didn't rely on types. In my experience properties renaming resulted in subtle, hard to discover bugs and I'd say they didn't bring much benefit.
- Can something like typescript or elm be AOT-compiled efficiently?
-
What does it mean?: *Template parameter* in Google style guide
The @template tag is supported by Google Closure Compiler
- Google announces a new OS written in Rust
-
Google Fonts Pull Requests Ignored
i'm not sure you want them to write back https://github.com/google/closure-compiler/pull/3958
time to fork
- Why don't we do this instead of TypeScript?
-
Is anyone using Google Closure Compiler? And why not?
I just came across the Google Closure Compiler. As the documentation says, it does not create machine code, but rather, "compiles JavaScript to better JavaScript".
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!
https://github.com/tc39/proposal-type-annotations
-
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.
[0] https://tc39.es/proposal-type-annotations
-
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?
swc - Rust-based platform for the Web
astexplorer - A web tool to explore the ASTs generated by various parsers.
terser - 🗜 JavaScript parser, mangler and compressor toolkit for ES6+
Scala.js - Scala.js, the Scala to JavaScript compiler
V8 - The official mirror of the V8 Git repository
rescript-compiler - The compiler for ReScript.
cash - An absurdly small jQuery alternative for modern browsers.
Carp - A statically typed lisp, without a GC, for real-time applications.
zepto - Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
npm-groovy-lint - Lint, format and auto-fix your Groovy / Jenkinsfile / Gradle files using command line
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!