惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
L
LangChain Blog
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
大猫的无限游戏
大猫的无限游戏
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
小众软件
小众软件
量子位
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】

Hacker News

Probed — Talk to Your People HN Work GitHub - Northwood-Systems/foreman: Self-hosted LLM gateway. Cost effective, deterministic, and fast. Secure and private by default. A Visualization Language for the AI Era NoCrap — Neuroscience-Based Recovery Pods GitHub - weirdGuy/kastor: Declarative language and toolchain for AI agents: define agents, tools and prompts in HCL, then compile to frameworks or manage them on hosted platforms with plan/apply semantics. Abralo - Run multiple Claude Code agents in one window GitHub - mehranzand/repofleet: RepoFleet is an issue-centered CLI tool for managing Git workflows across multiple repositories. GitHub - exmergo/dex: Dex is the agent-native analytics engineering toolkit. Point it at your warehouse and your dbt project. It learns the landscape, authors your transformations, and tells you exactly what to fix when the schema drifts. Built for analytics engineers and data engineers who want more out of their coding agent. Pug — Open Source Product Analytics GitHub - instavm/tarit: A hypervisor and sandbox cloud for self-hosted AI agents and RL Chiptune Radio — Aleph Void, LLC Free Mermaid Live Editor & Diagram Maker GitHub - Salnika/dejavu: Stop showing coding agents the same command output twice. GitHub - hirasso/html-obfuscator: Obfuscate emails, phone numbers, and other sensitive data in PHP. Invisible to humans, hidden from bots until they interact. Davit — a native macOS UI for Apple containers Fenzo AI - The perfect course, every time. HTML Drive — Edit and Publish HTML from Google Drive GitHub - rowboatlabs/rowboat: Open-source AI coworker, with memory ZeroGate | Automated Cluster Scaling A tiny scale-free kernel language — Joa Ebert GitHub - arman-jalili/guardian-framework: Architecture Enforcement Framework for AI-Assisted Development Yamanote.fun PostgreSQL on AWS: Size & Benchmark EC2 Instances GitHub - zqiren/Orbital: the agent that never starts from zero GitHub - Rodiun/frugon: Free, local, open-source LLM cost analyzer — see where your LLM bill leaks, on your machine. Artificiety — A Fantasy World for AI Agents Ex Situ FlexInference: Drop your AI costs today WhimFiles - Find Any File in Seconds
GitHub - samchon/ttsc: A `typescript-go` toolchain for co...
autobe · 2026-05-04 · via Hacker News

banner of ttsc

GitHub license NPM Version NPM Downloads Build Status Guide Documents Discord Badge

A typescript-go toolchain for compiler-powered plugins and type-safe execution.

Benchmarked against the legacy tsc + eslint/prettier path on real repositories; see the benchmark guide for per-project ratios.

  • ttsc: build, check, and transform.
  • ttsx: execute TypeScript with type checking.
    • native TypeScript-Go execution instead of transpile-only runners.
    • type checking that tsx does not provide.
  • @ttsc/lint: replaces eslint and prettier.
    • lint violations as TS compile errors.
    • format autofixes via ttsc format.
  • plugin support: compiler-powered libraries, such as typia.

Setup

Install

Install ttsc, @ttsc/lint, and the native TypeScript preview package:

npm install -D ttsc @ttsc/lint @typescript/native-preview

Commands

Run TypeScript directly with ttsx (CLI command):

Build, check, or watch the project with ttsc:

npx ttsc
npx ttsc --noEmit
npx ttsc --watch

Rewrite source files in place with the @ttsc/lint format rules:

VS Code Extension

Install the VS Code extension for live TypeScript-Go editor features plus saved-state ttsc plugin diagnostics and actions.

Install it from the VS Code Marketplace by searching ttsc, or run:

Then turn on format-on-save in .vscode/settings.json:

Lint fixes stay off-save by default; opt in with "editor.codeActionsOnSave": { "source.fixAll.ttsc": "explicit" }.

See @ttsc/vscode for requirements and settings.

Bundlers

Use @ttsc/unplugin when a bundler owns your build.

It runs ttsc plugins inside supported bundlers.

npm install -D ttsc @ttsc/lint @typescript/native-preview
npm install -D @ttsc/unplugin

Minimal Vite setup:

// vite.config.ts
import ttsc from "@ttsc/unplugin/vite";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [ttsc()],
});

Supported bundlers:

  • Vite
  • Rollup
  • Rolldown
  • esbuild
  • Webpack
  • Rspack
  • Next.js
  • Farm
  • Bun

See @ttsc/unplugin for full setup and adapter options.

Plugins

Plugins let libraries add compile-time checks, transforms, and type-driven code generation to normal ttsc and ttsx runs.

# compile
npx ttsc

# execute
npx ttsx src/index.ts

Transform Example

A transform uses TypeScript types to generate JavaScript before runtime.

import typia, { tags } from "typia";
import { v4 } from "uuid";

const matched: boolean = typia.is<IMember>({
  id: v4(),
  email: "samchon.github@gmail.com",
  age: 30,
});
console.log(matched); // true

interface IMember {
  id: string & tags.Format<"uuid">;
  email: string & tags.Format<"email">;
  age: number &
    tags.Type<"uint32"> &
    tags.ExclusiveMinimum<19> &
    tags.Maximum<100>;
}

The transform replaces typia.is<IMember>() with dedicated JavaScript checks at build time:

import typia from "typia";
import * as __typia_transform__isFormatEmail from "typia/lib/internal/_isFormatEmail";
import * as __typia_transform__isFormatUuid from "typia/lib/internal/_isFormatUuid";
import * as __typia_transform__isTypeUint32 from "typia/lib/internal/_isTypeUint32";
import { v4 } from "uuid";

const matched = (() => {
  const _io0 = (input) =>
    "string" === typeof input.id &&
    __typia_transform__isFormatUuid._isFormatUuid(input.id) &&
    "string" === typeof input.email &&
    __typia_transform__isFormatEmail._isFormatEmail(input.email) &&
    "number" === typeof input.age &&
    __typia_transform__isTypeUint32._isTypeUint32(input.age) &&
    19 < input.age &&
    input.age <= 100;
  return (input) => "object" === typeof input && null !== input && _io0(input);
})()({
  id: v4(),
  email: "samchon.github@gmail.com",
  age: 30,
});
console.log(matched); // true

Programmatic API

Embed ttsc from another Node tool with the TtscCompiler class:

import { TtscCompiler } from "ttsc";

const compiler = new TtscCompiler({ cwd: "./project" });
const result = compiler.compile();

if (result.type === "success") {
  for (const [path, text] of Object.entries(result.output)) {
    // path is project-relative ("dist/index.js", "dist/index.d.ts", ...)
    console.log(path, text.length);
  }
} else if (result.type === "failure") {
  for (const d of result.diagnostics) {
    console.error(`${d.file}:${d.line}:${d.character} ${d.messageText}`);
  }
}

See the Programmatic API guide for the full lifecycle, plugin overrides, and patterns. For browser embedding, see @ttsc/wasm and the higher-level @ttsc/playground package.

List of Plugins

ttsc ships a few small utility plugins in this repository.

  • @ttsc/banner: adds @packageDocumentation JSDoc banners.
  • @ttsc/lint: lints and formats TypeScript source.
  • @ttsc/paths: rewrites source path aliases so JS and declaration emit receive relative imports.
  • @ttsc/strip: removes configured calls and debugger statements.
  • @ttsc/unplugin: runs ttsc plugins inside bundlers supported by unplugin.

Plugin authors should start from the Guide Documents.

Ecosystem plugins are listed below; PRs adding ttsc plugins are welcome.

  • nestia: generates NestJS routes, OpenAPI, and SDKs.
  • typia: generates validators, serializers, and type-driven runtime code.

Sponsors

Sponsors

Thanks for your support.

Your donation encourages ttsc development.

References