@openload28/unplugin-tt weekly downloads statistics
By openload28 · npm · Webpack plugins
Compile .tt and .ttx modules with ttc in Vite, Rollup, webpack, Rspack, esbuild and Farm
@openload28/unplugin-tt has 449 recorded weekly downloads on npm, a decrease of 51.6% over the past 30 days, ranking #1566 of 2,322 tracked listings.
About @openload28/unplugin-tt
@openload28/unplugin-tt
.tt과 .ttx 모듈을 번들러에서 그대로 import합니다. 중간 .ts/.tsx 트리를 만들지 않고,
번들러가 소스를 직접 읽습니다.
unplugin 기반이라 구현은 하나이고 번들러별 서브패스로 갈라져 나갑니다.
// vite.config.ts
import { defineConfig } from "vite";
import tt from "@openload28/unplugin-tt/vite";
export default defineConfig({ plugins: [tt()] });
// src/main.ts — 평범한 TypeScript
import { Notice, render } from "./notice.tt";
컴파일러는 @openload28/tt-lang을 함께
설치하면 자동으로 찾습니다 (npm install --save-dev @openload28/tt-lang@next @openload28/unplugin-tt@next). @openload28/tt-lang이
없으면 PATH의 ttc(cargo install --path .)로 폴백합니다.
서브패스
| import | 상태 |
|---|---|
@openload28/unplugin-tt/vite, /rollup, /rolldown, /webpack, /rspack, /esbuild, /farm | Every published adapter is constructed in the integration gate; the shared hooks compile .tt/.ttx, serve standard modules, return source maps, and forward diagnostics |
@openload28/unplugin-tt를 그대로 import하면 unplugin 객체와 vitePlugin·
esbuildPlugin 같은 이름들이 나옵니다.
동작
| 단계 | 하는 일 |
|---|---|
resolveId | .tt/.ttx 지정자를 파일 경로로 풀고 각각 .ts/.tsx를 덧붙인 가상 id를 돌려줍니다. @tt/std, @tt/std/option, @tt/std/result는 각각 가상 모듈 id로 바꿉니다 |
load | ttc -p --rewrite-imports off의 출력을 돌려줍니다. 표준 라이브러리와 파이프 런타임은 모듈별 `ttc --emit-std types |
id에 .ts 또는 .tsx를 붙이는 이유는 호스트의 TypeScript 처리에 그대로 태우기
위해서입니다. 덕분에 플러그인이 변환을 직접 하지 않습니다. 다만 esbuild의
load는 JavaScript만 반환할 수 있어서, 그 경로에는 소스 종류에 맞는 ts/tsx
loader를 명시합니다.
--rewrite-imports off인 것도 의도입니다. 지정자 재작성은 미리 컴파일하는
파이프라인을 위한 기능이고, 여기서는 .tt이 그대로 남아야 이 플러그인이
다음 모듈도 잡습니다.
컴파일 에러는 ttc의 진단이 그대로 빌드 에러가 됩니다.
[@openload28/unplugin-tt] src/notice.tt:22:16: match on variant Notice is not exhaustive:
missing "Warn" (add the missing arms or a final `_` arm)
옵션
| 옵션 | 기본값 | 설명 |
|---|---|---|
compiler | 설치된 @openload28/tt-lang의 바이너리, 없으면 "ttc" | ttc 실행 파일 경로 |
verify | true | false면 --no-verify를 넘겨 방출물 자가 검사를 생략합니다 |
sourcemap | true | Set to false to omit the source map returned to the bundler |
타입 선언(index.d.ts와 서브패스별 .d.ts)을 함께 싣습니다 — 소비자가
vite.config.ts를 타입 검사에 넣어도 tt()의 옵션이 그대로 검사됩니다.
Type checking uses the content mapper
The bundler plugin handles runtime loading. TypeScript 7.1+ resolves .tt and
.ttx imports through the compiler package's content mapper without sidecar
files. Declare the mapper at the top level of tsconfig.json, then allow the
TypeScript CLI to start it:
{
"contentMappers": [
{ "package": "@openload28/tt-lang", "extensions": [".tt", ".ttx"] }
]
}
tsc -p tsconfig.json --runExternalCode
See the installation guide for the complete
project setup. Use ttc --types only with legacy TypeScript hosts that cannot
load content mappers.
알려진 제약
enforce: "pre"는 Rollup·esbuild에서 무시됩니다 (unplugin 문서의 지원 훅 표). 그 두 곳에서는 플러그인 순서를 직접 앞에 두세요.resolveId는 Rspack·Rsbuild에서 최신 버전을 요구합니다.
Description from the npm listing.
- unplugin
- vite-plugin
- rollup-plugin
- webpack-plugin
- esbuild-plugin
- tt
- typescript
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (544)Similar npm Webpack plugins plugins
All 20 @openload28/unplugin-tt alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@openload28/unplugin-tt. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.