---
title: "TypeScript"
description: "82 posts about TypeScript, summarised, each linking to the original."
---

# TypeScript
> 82 posts about TypeScript, summarised, each linking to the original.

## Articles

### [Build agentic full-stack apps with Genkit](https://yomu.fyi/post/build-agentic-full-stack-apps-with-genkit.md)
- Company: [Google](https://yomu.fyi/company/google.md)
- Author: Chris Gill
- Published: Jul 1, 2026
- Type: Announcement

Genkit Agents is an open-source, full-stack foundation for conversational AI and agentic applications, supporting TypeScript, Go, Dart, and Python. The Agents API packages message history, tool loops, streaming, persistence, and frontend communication behind a shared interface: agents can run in process or behind HTTP, and clients use chat() through remoteAgent(). Developers can choose client-managed state or session-store-backed snapshots, resume by session ID, branch from snapshot ID, stream text, custom state, and artifacts, and pause tools for human approval. The framework also supports detached long-running work, specialist delegation, persistence choices including in-memory, file, Firestore, and custom stores, plus an Agent Runner in the Developer UI. The Agents API is in preview for TypeScript and Go, with breaking changes possible in minor releases.


### [Introducing a better way to process Stripe's thin events](https://yomu.fyi/post/introducing-a-better-way-to-process-stripe-s-thin-events.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: David Brownman
- Published: Jun 24, 2026
- Type: Announcement

Stripe introduces event notification handlers to simplify processing thin events, unversioned JSON payloads that remain identical across API versions. The problem is that current integrations require developers to validate and route notifications, manage Stripe-Context for connected accounts, and manually maintain event-type strings, while API-version or SDK upgrades can cause runtime errors. Handlers move casting, routing, validation, and conversions into the SDK: typed callbacks are registered with handler.on, and callbacks receive a parsed notification plus a StripeClient already bound to the event context. The handler also provides a fallback for unhandled events and supports normal function-level testing, while the webhook endpoint only needs to pass the request body and signature to handler.handle. The pattern is supported in seven server-side SDKs, with feedback sought before general availability and possible future improvements to validation and framework integrations.


### [Your AI shipped a backend that boots. That is the whole problem.](https://yomu.fyi/post/your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem.md)
- Company: [Stack Overflow](https://yomu.fyi/company/stack-overflow.md)
- Author: Devlin Duldulao
- Published: Jun 23, 2026
- Type: Problem & solution

Backend security vulnerabilities often emerge from permissive default settings in web frameworks, a risk amplified when AI agents generate code focused solely on passing tests. Common failure points include unmetered request body parsing, unvalidated schemas, prototype pollution, and wildcard cross-origin resource sharing policies. To eliminate these foot-guns, the TypeScript framework DaloyJS enforces secure-by-default behavior across its entire routing and middleware model. It provides built-in request timeouts, streamed body size caps, prototype-stripping JSON revivers, and unified Zod schemas that simultaneously validate payloads and generate OpenAPI contracts. While secure defaults lower the risk of common infrastructure exploits, developers still remain responsible for application-level authorization and business logic correctness.


### [Engineering a Vercel Chat Adapter](https://yomu.fyi/post/engineering-a-vercel-chat-adapter.md)
- Company: [Resend](https://yomu.fyi/company/resend.md)
- Published: Jun 22, 2026
- Type: Explainer

Vercel’s Chat SDK supports bots across multiple chat platforms, but those channels can be ephemeral and leave conversations buried in feeds and threads. Email offers a persistent, widely used channel, so Resend built an official adapter that treats email as bidirectional chat. Inbound mail arrives through Resend webhooks and triggers Chat SDK handlers, while outbound messages use the Resend API. The adapter reconstructs threads from In-Reply-To and References headers, tracking message-to-thread mappings in an in-memory Map and generating IDs from the sender address and a SHA-256 prefix of the root Message-ID. It also translates Chat SDK messages, including markdown and CardElement structures, into email HTML and plain-text content through React Email components, trading richer native chat semantics for email’s reach and simpler delivery model.


### [Enabling Governed Vibe Coding for Enterprise Apps on Databricks](https://yomu.fyi/post/enabling-governed-vibe-coding-for-enterprise-apps-on-databricks.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Evan Pandya, Justin DeBrabant, Cong Xu
- Published: Jun 16, 2026
- Type: Announcement

Databricks introduces three capabilities intended to bring vibe coding to enterprise applications, where speed alone does not provide business-data context, deployment safety, or cost control. App Spaces lets admins define resource and data access, on-behalf-of-user API scopes, and security policies for groups of apps, with each app inheriting those settings. Genie App Builder turns plain-language descriptions into working internal apps through generated plans, live previews, AppKit, and awareness of workspace data assets and Unity Catalog semantics. Serverless micro apps run in isolated lightweight virtual machines, start quickly when needed, scale to zero while idle, and use usage-based rather than reserved-capacity infrastructure. Together, the capabilities are presented as a way for business-proximate users to build on enterprise data while organizations apply consistent governance and support broader app portfolios; all three are coming to Databricks Apps, with private previews coming soon.


### [Custom stores, custom tools, and auto-review for the Cursor SDK](https://yomu.fyi/post/custom-stores-custom-tools-and-auto-review-for-the-cursor-sdk.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Published: Jun 4, 2026
- Type: Announcement

The Cursor SDK’s TypeScript and Python releases add custom tools, auto-review, and nested subagents. Custom tools let developers pass function definitions through local.customTools, exposed via a built-in MCP server, making them available to all subagents. Auto-review routes local agent tool calls through a classifier; instructions in permissions.json control which calls run automatically and which are held for review. The SDK now supports a JSONL store for agent metadata as an alternative to SQLite, and developers can implement the LocalAgentStore interface for custom backends. Subagents can spawn their own subagents without additional configuration, and the release includes reliability and platform fixes.


### [How to Use Transformers.js in a Chrome Extension](https://yomu.fyi/post/how-to-use-transformers-js-in-a-chrome-extension.md)
- Company: [Hugging Face](https://yomu.fyi/company/hugging-face.md)
- Author: Nico Martin
- Published: Apr 23, 2026
- Type: Tutorial

The guide explains how to build a Chrome extension that runs local AI with Transformers.js under Manifest V3, using a browser assistant as the reference architecture. It assigns model orchestration, lifecycle management, tool execution, and conversation state to a background service worker, while a side panel handles chat and a content script handles page extraction and highlighting. The implementation uses Gemma 4 E2B in q4f16 for text generation and all-MiniLM-L6-v2 in fp32 for embeddings, with WebGPU, DynamicCache-based KV caching, explicit download progress, and reusable pipelines. Typed message contracts, model-output parsing, and separate internal and UI transcripts support a deterministic tool loop, while chrome.storage.local, IndexedDB, and background caches place data according to lifecycle and access needs; the guide concludes that separating these runtimes keeps the UI responsive and avoids duplicate model loads.


### [Frontend Engineering at Palantir: Engineering Multilingual Collaboration](https://yomu.fyi/post/frontend-engineering-at-palantir-engineering-multilingual-collaboratio.md)
- Company: [Palantir](https://yomu.fyi/company/palantir.md)
- Author: Palantir
- Published: Apr 22, 2026
- Type: Explainer

Palantir describes the frontend work behind adding read-only translation mode to Dossier, a collaborative rich-text editor used in multilingual, restrictive environments where public translation services may be unavailable or disallowed. The design lets users choose source and target languages, view a complete document in translation, copy text, and add comments while routing requests through the in-house Language Model Service. Engineers extracted shared translation components, added a Redux state slice and per-element cache, chunked content by paragraphs and other blocks, and used Intersection Observer, batching, debouncing, and caching to translate visible content incrementally; edits invalidate affected translations and trigger retranslation. To preserve sentence-level quality, inline formatting is stripped before translation, so the current translated view is plain text. The resulting mode is available in every Dossier, translating content lazily as users scroll and updating translated blocks when collaborators edit the document.


### [How Yelp Keeps Server-Driven UI Consistent Across Four Platforms](https://yomu.fyi/post/how-yelp-keeps-server-driven-ui-consistent-across-four-platforms.md)
- Company: [Yelp](https://yomu.fyi/company/yelp.md)
- Author: Radu Comaneci, Software Engineer
- Published: Apr 22, 2026
- Type: Problem & solution

Yelp maintains two major applications across Web, iOS, and Android, which previously led to fragmented server-driven UI implementations with mismatched backend component representations. To unify its server-driven UI framework, CHAOS, with its cross-platform design system, Cookbook, Yelp built an automated bridge library called Konbini. Konbini reads centralized JSON interface definitions through Jenkins pipelines to automatically generate synchronized libraries for Python, Kotlin, Swift, and TypeScript. These generated libraries handle component serialization on the backend and deserialization on client platforms. To maintain backward compatibility when component interfaces introduce breaking changes, client requests pass versioned spec identifiers, prompting the backend to execute migration methods that downcast newer component models to older supported versions.


### [Frontend Engineering at Palantir: Polar Scaled Tiles in Zodiac](https://yomu.fyi/post/frontend-engineering-at-palantir-polar-scaled-tiles-in-zodiac.md)
- Company: [Palantir](https://yomu.fyi/company/palantir.md)
- Author: Palantir
- Published: Apr 15, 2026
- Type: Explainer

Zodiac, Palantir’s custom 3D globe library built on Three.js, encountered severe performance degradation near the Arctic because latitude/longitude tiles converge into tiny slivers and create excessive geometry. Standard equal-angular tiling was replaced internally with polar-scaled tiles whose widths expand toward the poles so their surface areas remain closer to equatorial tiles. The design uses spherical surface-area calculations, power-of-two merge spans, and dynamic quadtree expansion; client-side texture compositing handles standard geodetic or Web Mercator sources, while heightmaps are combined and resampled for wider tiles. The change reduced polar geometry, draw calls, and textures by over 90% and made frame time more consistent, though texture loading remains the next bottleneck and native polar tiles would remove stitching overhead.


### [Frontend Engineering at Palantir: Plotlines in Three.js](https://yomu.fyi/post/frontend-engineering-at-palantir-plotlines-in-three-js.md)
- Company: [Palantir](https://yomu.fyi/company/palantir.md)
- Author: Palantir
- Published: Apr 7, 2026
- Type: Explainer

Palantir’s frontend engineers are building a 3D implementation of Gaia to visualize Foundry Ontology objects with geospatial properties, including ground locations, satellite positions, and paths through space. The system uses Zodiac, a Three.js library backed by Foundry-based APIs: the backend stores, filters, and computes data, while the frontend receives simplified geometry and style information for rendering. Performance techniques include converting latitude and longitude to Earth-fixed coordinates once, batching similarly styled lines into single draw calls, and using instanced meshes plus batched updates for dense satellite scenes; orbital propagation uses TLEs client-side, while heavier analysis remains server-side. The article also describes frame-synchronized animation callbacks that update material properties without rebuilding geometry, while noting that 3D APIs continue to iterate across usability, platform integration, and performance as new data sources and workflows are added.


### [How Notion catches breaking schema changes before they reach production](https://yomu.fyi/post/how-notion-catches-breaking-schema-changes-before-they-reach-productio.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Author: Maya Lekhi
- Published: Apr 2, 2026
- Type: Problem & solution

Schema drift in typed API requests and queue tasks can cause incidents when contracts change without detecting whether old payloads remain valid. Notion's CI guardrail extracts schema types from the base branch and compares them with PR types using TypeScript's compiler API, checking whether the old type is assignable to the new one. The check auto-discovers registered API endpoints and queue task types, uses git archive for base files, and currently covers approximately 1,300 endpoints and 296 task types. Backward compatibility blocks changes that reject old data, while queue schemas also receive an advisory forward check for rollout ordering. The rollout began with warnings, then made backward checks blocking and added a GitHub label for intentional exceptions; type checking still cannot catch extra runtime validation or semantic behavior changes.


### [Make Secure App-to-App Connections Using Cross App Access](https://yomu.fyi/post/make-secure-app-to-app-connections-using-cross-app-access.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Alisa Duncan
- Published: Feb 10, 2026
- Type: Tutorial

Enterprise app-to-app integrations can create governance, security, and consent problems when API keys lack user context and standard OAuth leaves connection approval to individuals. The tutorial adds Cross App Access (XAA), an OAuth extension based on the Identity Assertion Authorization Grant, to a NestJS note-taking app and connects it to a to-do app through xaa.dev. It uses TypeScript, openid-client, and the testing site’s IdP, with two token exchanges: an ID token becomes an ID-JAG token, then a JWT-bearer grant exchanges that assertion at the resource authorization server for an access token. After authentication, the completed flow calls the to-do API and exposes each handshake step and response in console logs.


### [Take User Provisioning to the Next Level with Entitlements](https://yomu.fyi/post/take-user-provisioning-to-the-next-level-with-entitlements.md)
- Company: [Okta](https://yomu.fyi/company/okta.md)
- Author: Alisa Duncan
- Published: Jan 21, 2026
- Type: Tutorial

This workshop extends a React and Express.js Todo application’s SCIM-based user provisioning to include entitlements such as roles, licensing, and permissions for enterprise B2B SaaS use. Starting from completed SCIM workshop code, it adds a /Roles endpoint, database-backed roles, SCIM schemas and resource types, and TypeScript implementations that conform to SCIM responses and user resources. The walkthrough connects the API to an Okta SCIM application, discovers schemas and characteristics, and demonstrates synchronizing existing entitlements and assigning a custom is\_tall characteristic to a user. It also discusses multi-tenant designs, where organization-specific roles can be addressed through an API key in the Authorization header, while recommending OAuth for production.


### [Gating entrances with Stripe and NFC passes](https://yomu.fyi/post/gating-entrances-with-stripe-and-nfc-passes.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Joshua Nussbaum
- Published: Aug 21, 2025
- Type: Tutorial

The post presents a gym membership access system that replaces plastic cards, fobs, and physical keys with Apple Wallet and Google Wallet passes scanned by an NFC reader. It uses Stripe Checkout and subscriptions for payment, PassNinja as a single API layer for issuing passes, and a DotOrigin VTAP100 connected to a Raspberry Pi Zero 2W, relay, and door strike for entry control. After Checkout, the website verifies that the Stripe subscription is active, creates a pass whose nfc-message contains the Stripe subscription ID, and redirects the member to add it to a wallet. A Linux gate process reads that identifier from the reader's virtual serial port, retrieves the subscription from Stripe, and activates the relay for five seconds when the status is active; otherwise it denies access.


### [Using Connect embedded components to streamline your Connect onboarding flow](https://yomu.fyi/post/using-connect-embedded-components-to-streamline-your-connect-onboardin.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Jorge Aguirre Gonzalez
- Published: Jul 2, 2025
- Type: Tutorial

Furever, a test Connect platform for pet grooming, needs to onboard connected accounts and keep them compliant and activated while reducing friction. It first creates Custom accounts with card\_payments and transfers requested, then contrasts Stripe-hosted account links with an embedded flow built from Account Sessions, loadConnectAndInitialize, and ConnectAccountOnboarding. The integration supports appearance variables for branding, disable\_stripe\_user\_authentication when the platform owns losses and requirement collection, and onStepChange analytics for onboarding progress. A shared connectInstance can also render ConnectPayments, which provides payment listing, refunds, and dispute management without building that interface; the source also notes localization, framework support beyond React, and additional components.


### [Remixing Shopify's Admin: How We Made It 30% Faster and AI-Ready](https://yomu.fyi/post/remixing-shopify-s-admin-how-we-made-it-30-faster-and-ai-ready.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jun 30, 2025
- Type: Problem & solution

Shopify rebuilt its Admin architecture to address inconsistent loading, duplicate requests, and fragmented route knowledge across a TypeScript codebase serving 67 million daily page views. With 101 teams contributing about 350 pull requests daily and the codebase containing 3,184,248 lines of TypeScript, the work adopted Remix with Vite and SPA mode. Typed route manifests, globbed by Vite, now define metadata and a single source of truth for 1,017 routes, while Remix loaders start data fetching before large component bundles finish loading. Idle-time prefetching warms the Apollo cache, and persistent IndexDB storage helps frequently visited pages load between sessions. The changes delivered a 30% improvement in perceived load times, standardized transitions, and created an architecture in which Remix actions and zod schemas let Sidekick discover forms, validate inputs, and submit tasks without loading unnecessary JavaScript.


### [Five years of React Native at Shopify](https://yomu.fyi/post/five-years-of-react-native-at-shopify.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Jan 13, 2025
- Type: Explainer

Shopify reviews five years of using React Native (RN) as its mobile strategy, adopted to avoid duplicating features across iOS and Android, improve talent portability, and ship more value. Over that period, all of its apps migrated to RN through team-led, non-uniform plans, while native code remained part of the architecture rather than an alternative to eliminate. The company reports sub-500ms P75 screen loads in the Shopify app, similar performance across its apps, and more than 99.9% crash-free sessions, while noting that performance depends on applying sound patterns. Its experience credits hot reloading and TypeScript with developer productivity and cross-platform staffing, but identifies debugging, RN upgrades, and third-party dependency maintenance as costs. Shopify now emphasizes shared libraries, native expertise for platform-specific work, continued New Architecture adoption, and collaboration with the RN ecosystem.


### [Adding payments to your LLM agentic workflows](https://yomu.fyi/post/adding-payments-to-your-llm-agentic-workflows.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Steve Kaliski
- Published: Nov 14, 2024
- Type: Explainer

Agentic workflows combine large language models with function calling to turn prompts into sequences of actions, but connecting those actions to financial services requires controlled API access. The Stripe agent toolkit integrates Stripe with Vercel’s AI SDK, LangChain, and CrewAI, supports function-calling LLM providers, and is built on Stripe’s Node.js and Python SDKs. It exposes configurable tools for tasks such as invoicing, creating and sharing payment links, and using Issuing virtual cards with spending limits, authorization checks, and deactivation after purchase. Middleware can record input and completion token counts as billing events for usage-based customer billing. Because agent behavior is non-deterministic, the post recommends test mode, evaluations, restricted keys, limited tool sets, and reduced request and response shapes to improve focus and constrain failures.


### [Building a ShopifyQL Code Editor](https://yomu.fyi/post/building-a-shopifyql-code-editor.md)
- Company: [Shopify](https://yomu.fyi/company/shopify.md)
- Author: 2023-10-18
- Published: Sep 11, 2023
- Type: Tutorial

ShopifyQL Notebooks, released in October 2022, is a first-party app that lets merchants analyze shop data. To give its guided code-editing experience, Shopify used CodeMirror, which did not natively support ShopifyQL. Because ShopifyQL’s grammar is defined in ANTLR and generates Go and TypeScript code, while the language server follows Microsoft’s Language Server Protocol (LSP), the existing client and server language infrastructure was retained. A custom adapter passes queries to the language server, converts its incremental five-integer token descriptors into CodeMirror-compatible offsets, and reshapes them into a buffer of Lezer nodes for parse-tree construction. The resulting integration supports syntax highlighting, code completion, linting, and hover tooltips through CodeMirror plugins, while using its internal parse tree to inform editing behavior.


[Newer posts](https://yomu.fyi/topic/typescript.md) · [Older posts](https://yomu.fyi/topic/typescript/page/3.md)
