-
JSDoc works great for buildless application setups! One downside is that if you publish a library to npm you still need a build step to generate .d.ts files from your JSDoc type annotations so that npm shows a "TS" badge on the npm package page. This also seems to apply to VSCode's intellisense which keeps trying to poke you to "try to install @types/jsdoc-typed-package to get type information". Other JS ecosystem tooling also doesn't seem to process JSDoc types at all such as jsdocs.io or tsdocs.dev. So for libraries we're stuck with .d.ts generation via "tsc --allowJs --checkJs --declaration ..." even if it's all JS.
npm displays packages with bundled TypeScript declarations https://github.blog/changelog/2020-12-16-npm-displays-packag...
JSDoc-typed node modules require special configuration in consumers to be useful https://github.com/microsoft/TypeScript/issues/19145
-
SurveyJS
SurveyJS: Build JSON-Driven Surveys and Forms with Full Data Control. Add the SurveyJS UI components to your JS app (React/Angular/Vue3). Securely collect and analyze data without sending it to 3rd-party servers. Fully customizable, works with any backend, and ideal for data-heavy apps. Learn more.
-
The sooner we get https://github.com/tc39/proposal-type-annotations, the better.
Once we get it, there is still a solid decade before runtimes support it, and optimistically, still more 10 years minimum having to deal with an interpreted language that has acquired an unecessary build step.
-
The type checker can only prove what is known at compile time and only if you're disciplined.
To bridge runtime and compile time (as your application will likely get some external data) you've got to use a proper parser such as zod[1] or if you want to stretch it even further effect-schema[2].
[1] https://zod.dev/
[2] https://effect.website/docs/schema/introduction/
-
Iām currently in love with Arktype, and as it supports Standard Schema it plugs into most places that can take Zod schemas too :)
https://arktype.io/
-
There is indeed an option in VSCode (can't find it right now), following the work in https://github.com/microsoft/typescript-go/pull/1543
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
I've built Solarite, a library for doing minimal DOM updates on web components when the data changes. And other nice features like nested styles and passing constructor arguments to sub-components via attributes.
https://github.com/Vorticode/solarite
-
It's ok now, at least for me. There are still challenges around theming and styling because of styling boundaries (which makes Web Components powerful, but still). A part of it is about tooling, which can be easier to improve.
Try my tiny web components lib if you want to keep JSX but not the rest of React: https://github.com/webjsx/magic-loop
-
mastro
The simplest web framework and site generator yet ā no bloat, no bundler, no client-side JS by default.
Related posts
-
LogTape: Zero-Dependency Logging for JavaScript That Just Works
-
What's your go-to web framework for new web APIs?
-
How to Build and Deploy Your LLM Agents in 10 Minutes with TypeScript
-
The missing standard library for multithreading in JavaScript
-
šµļøāāļø The Case of the Missing S3 Metadata: A CORS Deep Dive