← Blog

Text.js 1.0

Text.js 1.0 sudah stabil. Versi ini me-render aplikasi React 19 dan App Router di konsol DevTools dengan satu console.log per frame.

Adam

Hari ini kami merilis Text.js 1.0, framework konsol untuk web.

bunx create-text-app@latest

Text.js me-render aplikasi React 19 di dalam konsol Chrome DevTools, dengan layout, routing, fokus, input, formulir, grafik, dan streaming Markdown yang digambar menggunakan console.log.

Isi versi 1.0

  • App Router. layout.tsx, page.tsx, [param], loading.tsx, error.tsx, not-found.tsx, dan api/*/route.ts, disinkronkan dengan window.location. Ini mengikuti konvensi App Router Next.js.
  • Turbolog. Yoga flexbox menata kisi sel, CellBuffer berbasis typed array menampungnya, dan encoder run-length mengubahnya menjadi satu panggilan console.log(format, ...css). Frame idle tidak membuat panggilan konsol.
  • Kit komponen. Box, Text, ScrollBox, Input, Select, Tabs, Markdown, Diff, List tervirtualisasi, Table, Tree, grafik, dialog, toast, dan palet perintah Ctrl+K dari useKeymap.
  • Frame yang ditambahkan di akhir. Frame ditambahkan di bawah frame sebelumnya, sehingga konsol tidak berkedip kosong di antara frame. Selengkapnya di Turbolog: menghilangkan kedipan.
  • Teks kanan ke kiri. Teks Ibrani dan Arab di-render dalam urutan visual dengan pembentukan huruf Arab, dari implementasi UAX #9 yang lolos seluruh 770.241 kasus BidiTest.txt. Lihat Teks kanan ke kiri di konsol.
  • Konsol responsif. Text.js menyesuaikan ukuran panel DevTools yang ditambatkan, termasuk zoom halaman dan toolbar yang berganti baris. Saat dilepas, ukurannya kembali ke 120×36.
  • text run. Aplikasi App Router yang sama di-render di terminal sungguhan.
  • Alat untuk agen dan editor. text mcp menyajikan aplikasi Anda ke agen pemrograman melalui Model Context Protocol, dan ekstensi Text.js DevTools menambahkan panel di sebelah Konsol. eslint-plugin-textjs dan ekstensi VS Code juga menjadi bagian dari 1.0.

Satu perubahan nama

Paket framework kini bernama @textjs/next. Nama textjs sudah dipakai di npm. Perbarui impor Anda:

- import { Box, Text } from "textjs";+ import { Box, Text } from "@textjs/next";

Pembaruan, 1.0.2: paket ini kini bernama @textjs/app, dan @textjs/next sudah usang. Untuk beralih, jalankan bun remove @textjs/next && bun add @textjs/app dan impor dari @textjs/app.

Angka

Pada dasbor padat 100×32 (46 node teks, 149 span %c), diukur dengan packages/core/test/perf.test.ts:

FrameRata-rata
Penggambaran ulang penuh (layout, penggambaran, pengodean)0,163 ms
Pengeditan satu baris (mengetik)0,011 ms
Idle0,000 ms, 0 panggilan konsol

Frame yang tidak berubah kembali sebelum mengalokasikan string, sehingga frame idle terukur 0,000 ms.

Coba

Buka textjs.org dan tekan ⌘⌥J (Ctrl+Shift+J di Windows dan Linux). Situs ini menjalankan aplikasi Text.js di konsol Anda, satu tampilan per halaman. Playground menyediakan dasbor, streaming Markdown, dan Snake. OpenCode terhubung ke server OpenCode lokal Anda.

Daftar lengkap perubahan ada di catatan perubahan, dan kode sumbernya ada di GitHub.