sucrase
dapr
Our great sponsors
sucrase | dapr | |
---|---|---|
26 | 78 | |
5,583 | 23,255 | |
- | 1.1% | |
6.1 | 9.7 | |
2 months ago | 7 days ago | |
TypeScript | Go | |
MIT License | 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.
sucrase
-
Show HN: JSX in Browser with Sucrase
Thanks. As for the code compilation, that can be tested and seen in https://sucrase.io/
The demo page is only to show how we can transpile JSX in browsers.
-
Created a simple online JavaScript Playground, it's a place for you to try out your code and ideas.
Thanks u/OutlandishnessKey953, the playground built with React, Docusaurus(https://docusaurus.io/), CodeMirror(https://codemirror.net/), Sucrase(https://sucrase.io/), etc.
-
The TypeScript compiler is now implemented internally with modules
Hi, Sucrase author here.
To be clear, the benchmark in the README does not allow JIT warm-up. The Sucrase numbers would be better if it did. From testing just now (add `warmUp: true` to `benchmarkJest`), Sucrase is a little over 3x faster than swc if you allow warm-up, but it seemed unfair to disregard warm-up for the comparison in the README.
It's certainly fair to debate whether 360k lines of code is a realistic codebase size for the benchmark; the higher-scale the test case, the better Sucrase looks.
> worse it disables esbuild and swc's multi-threading
At some point I'm hoping to update the README benchmark to run all tools in parallel, which should be more convincing despite the added variability: https://github.com/alangpierce/sucrase/issues/730 . In an ideal environment, the results are pretty much the same as a per-core benchmark, but I do expect that Node's parallelism overhead and the JIT warm-up cost across many cores would make Sucrase less competitive than the current numbers.
-
Should i switch to Typescript?
First, npm i -D sucrase to install sucrase. Now you can do node -r sucrase/register ./index.ts to run TypeScript code directly with Node.
-
š Building your own Javascript Library with bare minimum
As you might know there are a lot of Javascript bundlers out there, such as webpack, sucrase, parcel, rollup and etc. Bear in mind, not because they have thousands of stars on Github that means they're the best. sometimes new libs are as good as the popular ones but they're still building up their image/popularity in the community. what I bring today is a not sooooo, popular JS bundler called esbuild.
-
Five coding interview questions I hate
Sucrase JS was 2x the speed of esBuild and 50% faster than SWC last I checked.
-
Iām Porting the TypeScript Type Checker Tsc to Go
Webpack does way more than esbuild, including running a typechecking compiler instead of just transpiling, running compilers able to downlevel emit to ES5 and providing a deep plugin architecture allowing you to hook into any bit you like. But yes, it hasn't been designed with speed in mind - it has been designed with maximum extensibility instead. Its the same reason why Babel is slow compared to sucrase (written in JS, currently faster than SWC and esbuild but doing somewhat less - https://github.com/alangpierce/sucrase)
tsc has in fact been designed with speed in mind (I've been following the project since before it ended up on GitHub). Going beyond 1 order of magnitude performance improvement is highly unlikely.
- Sucrase: A fast, pure-JavaScript transpiler for JavaScript/TypeScript
- GitHub - alangpierce/sucrase: Super-fast alternative to Babel for when you can target modern JS runtimes
- Sucrase: A fast JavaScript/TypeScript transpiler written in JavaScript
dapr
- Dapr: Microservices API
-
Interesting projects using WebAssembly
The following two examples are open-source projects maintained by Fermyon with contributions from companies like Microsoft and SUSE. The first is Spin, which allows us to use WebAssembly to create Serverless applications. The second, SpinKube, combines some of the topics I'm most excited about these days: WebAssembly and Kubernetes Operators :) The official website says, "By running applications in the Wasm abstraction layer, SpinKube offers developers a more powerful, efficient, and scalable way to optimize application delivery on Kubernetes." By the way, this post shows how to integrate SpinKube with Dapr, another technology I'm very interested in, and I should write some posts soon.
-
The Ambassador Pattern
Speaking of this has anyone had much experience with Dapr (https://dapr.io/) before?
I always thought this was a particularly interesting approach from Microsoft where they use this pattern to essentially take the complexity of micro services and instead try and keep it as simple as a normal .NET application but (and I think this is the clever part) in both a vendor and language neutral way.
But all of a sudden it means you can start removing all kinds of cruft and random SDKs from your codebase and push almost all of your interactions with the outside world into something like this .
-
Comparing Azure Functions vs Dapr on Azure Container Apps
Azure Container Apps hosting of Azure Functions is a way to host Azure Functions directly in Container Apps - additionally to App Service with and without containers. This offering also adds some Container Apps built-in capabilities like the Dapr microservices framework which would allow for mixing microservices workloads on the same environment with Functions.
-
Episode 150: myNewsWrap ā SAP and Microsoft
Having containers is nice but everything (well ... nearly everything š) gets better with Dapr as an outstanding tool for app development in the container-based area. Here we go what might be worth a look:
-
Using DARP in production?
Anyone using or planing to use darp Distributed application platform runtime as a microservices platform? https://dapr.io/
-
Ensuring Seamless Operations: Troubleshooting and Resolving Dapr Certificate Expiry
A CNCF project, the Distributed Application Runtime (Dapr) provides APIs that simplify microservice connectivity. Whether your communication pattern is service to service invocation or pub/sub messaging, Dapr helps you write resilient and secured microservices. Essentially, it provides a new way to build microservices by using the reusable blocks implemented as sidecars.
-
Understanding the Dapr workflow engine and workflow patterns in .NET (1hr webinar)
Dapr is a runtime that implements common patterns such as pub/sub, state storage, etc. It runs as a sidecar to your app. Your app then interfaces with it using an sdk or http calls to use said patterns instead of implementing those patterns directly yourself. Seems pretty cool to me, but you can find out more at https://dapr.io/.
-
Is Dapr actually used by anyone?
- Over 21k stars on GitHub, see the core repo and devstats.
-
Modular Architecture Design question | Re-using modules in multiple applications
I would like to build modules, either in a modular monolith style, or in a microservice style using DAPR and/or Tye.
What are some alternatives?
swc - Rust-based platform for the Web
MassTransit - Distributed Application Framework for .NET
ts-node - TypeScript execution and REPL for node.js
camel-k - Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers
esbuild - An extremely fast bundler for the web
tye - Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.
fork-ts-checker-webpack-plugin - Webpack plugin that runs typescript type checker on a separate process.
OpenFaaS - OpenFaaS - Serverless Functions Made Simple
swc-node - Faster ts-node without typecheck
Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
NServiceBus - Build, version, and monitor better microservices with the most powerful service platform for .NET