closure-compiler
prepack
Our great sponsors
closure-compiler | prepack | |
---|---|---|
14 | 8 | |
7,251 | 14,385 | |
0.7% | - | |
9.6 | 0.0 | |
1 day ago | about 2 years ago | |
Java | JavaScript | |
Apache License 2.0 | 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.
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".
prepack
-
Ask HN: Interest in a Rust-Inspired Language Compiling to JavaScript?
Hello HN,
I'm considering the development of a new programming language, drawing inspiration from Rust's strengths, with a focus on compiling to JavaScript. Here what I'm considering are some key features:
Strict Type System
Algebraic Data Types
*Unsafe Mode for JS/TS Interaction*: Facilitate direct interaction with existing JavaScript and TypeScript code.
No Null Usage: Option/Result patterns to avoid null.
Trait Implementation
Backend Development Priority: Initially targeting server-side applications.
Efficient Compiler Design: Including features like dead-code elimination and partial evaluation, similar to the approach of Prepack[0] (by Facebook).
I believe this approach could bring significant benefits, especially with recent advancements like Uint8Array and worker threads.
Would this be of interest to the community? Looking forward to your insights and discussion.
[0] https://github.com/facebookarchive/prepack
-
Do any engines or optimizers product TS-specific performance gains?
You can still do optimisations based purely on Javascript semantics. This is similar to the first example you give with dead function elimination, and many minifiers do some amount of this already, but you can take it to some extremes. One example of this is the (no longer maintained) Prepack project from Facebook. The core idea is to evaluate as much Javascript as possible at compile time, with the expectation that the result will probably be smaller (albeit less human readable) than the initial code.
-
[AskJS] Are there JS minifiers that can compress the code by storing and reusing repeating property/method names and strings?
It's no longer maintained, but I think prepack is roughly what you're looking for.
- Can something like typescript or elm be AOT-compiled efficiently?
-
React I Love You, But You're Bringing Me Down
i've had code where it intentionally relied on the wrong behavior (missing hook dependencies) and when I fixed it it caused an unintentional bug (hook fired too often or sometimes infinite rerendering). Yes it is more of a bug in the code rather than React hooks issue but it is also really hard to fix/rewrite. while i'd love to jump on the hype train projects like https://github.com/facebookarchive/prepack and how concurrent mode is still experimental after five+ years doesn't give me a lot of confidence.
-
Memoirs of a lone JavaScript developer PART 2 : Svelte. An awful implementation of an old idea.
Some real examples in JavaScript can be seen on Prepack[2]. Consequently it is natural to wonder whether we can AOT compile components of client side frameworks, to achieve a reduction in the final bundle size, but also to increase application execution speed.
-
React 18 is now in beta
Less or more itโs likely to happen, and could have been expected 2-3 years ago.
Especially with https://github.com/facebook/prepack. They want to eventually ship pre-compiled components rather than React.createElement() to end user
-
Vercel Welcomes Rich Harris, Creator of Svelte
https://github.com/facebook/react/issues/7324
I also think this is why facebook had been investing in `prepack` - https://github.com/facebook/prepack
What are some alternatives?
swc - Rust-based platform for the Web
react-18 - Workgroup for React 18 release.
terser - ๐ JavaScript parser, mangler and compressor toolkit for ES6+
SvelteKit - web development, streamlined
V8 - The official mirror of the V8 Git repository
next-runtime - The Next.js Runtime allows Next.js to run on Netlify with zero configuration
cash - An absurdly small jQuery alternative for modern browsers.
denoflare - Develop, test, and deploy Cloudflare Workers with Deno.
zepto - Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API
jsx - The JSX specification is a XML-like syntax extension to ECMAScript.
npm-groovy-lint - Lint, format and auto-fix your Groovy / Jenkinsfile / Gradle files using command line
solid-realworld - A Solid Implementation of the Realworld Example App