Text.js 1.0
Text.js 1.0 jest stabilny. Renderuje aplikacje React 19 i App Router w konsoli DevTools za pomocą jednego wywołania console.log na klatkę.
Dziś wydajemy Text.js 1.0, konsolowy framework dla aplikacji webowych.
bunx create-text-app@latestText.js renderuje aplikacje React 19 w konsoli DevTools przeglądarki Chrome, rysując layouty, routing, fokus, pola wprowadzania danych, formularze, wykresy i strumieniowany Markdown za pomocą console.log.
Nowości w 1.0
- App Router.
layout.tsx,page.tsx,[param],loading.tsx,error.tsx,not-found.tsxiapi/*/route.ts, zsynchronizowane zwindow.location. Zgodny z konwencjami App Router frameworka Next.js. - Turbolog. Yoga flexbox układa siatkę komórek,
CellBufferoparty na tablicy typowanej ją przechowuje, a koder długości serii zamienia ją w pojedyncze wywołanieconsole.log(format, ...css). Klatki bez zmian nie wywołują konsoli. - Zestaw komponentów.
Box,Text,ScrollBox,Input,Select,Tabs,Markdown,Diff, wirtualizowana listaList,Table,Tree, wykresy, okna dialogowe, powiadomienia i paleta poleceńCtrl+Kz hookauseKeymap. - Dopisywane klatki. Klatki są dopisywane poniżej poprzedniej, więc konsola nie miga pustką między klatkami. Więcej o tym we wpisie Turbolog: eliminowanie migania.
- Tekst od prawej do lewej. Tekst hebrajski i arabski jest renderowany w porządku wizualnym z kształtowaniem znaków arabskich dzięki implementacji UAX #9, która przechodzi wszystkie 770 241 przypadków testowych
BidiTest.txt. Zobacz Tekst od prawej do lewej w konsoli. - Responsywna konsola. Text.js dopasowuje się do zadokowanego panelu DevTools, uwzględniając powiększenie strony i zawijanie paska narzędzi. Po oddokowaniu używa rozmiaru
120×36. text run. Ta sama aplikacja App Router renderuje się w prawdziwym terminalu.- Narzędzia dla agentów i edytorów.
text mcpudostępnia twoją aplikację agentom programistycznym przez Model Context Protocol, a rozszerzenie Text.js DevTools dodaje panel obok panelu „Konsola”.eslint-plugin-textjsi rozszerzenie do VS Code również wchodzą w skład wersji 1.0.
Jedna zmiana nazwy
Pakiet frameworka to teraz @textjs/next. Nazwa textjs była zajęta w npm. Zaktualizuj importy:
- import { Box, Text } from "textjs";+ import { Box, Text } from "@textjs/next";Aktualizacja, 1.0.2: pakiet to teraz @textjs/app, a @textjs/next jest przestarzały. Aby przejść na nowy pakiet, uruchom bun remove @textjs/next && bun add @textjs/app i importuj z @textjs/app.
Liczby
Na gęsto wypełnionym pulpicie 100×32 (46 węzłów tekstowych, 149 spanów %c), zmierzone za pomocą packages/core/test/perf.test.ts:
| Klatka | Średnia |
|---|---|
| Pełne odrysowanie (layout, rysowanie, kodowanie) | 0,163 ms |
| Edycja jednego wiersza (pisanie) | 0,011 ms |
| Bez zmian | 0,000 ms, 0 wywołań konsoli |
Obsługa niezmienionej klatki kończy się przed alokacją ciągu znaków, więc zmierzony czas dla klatek bez zmian wynosi 0,000 ms.
Wypróbuj
Otwórz textjs.org i naciśnij ⌘⌥J (Ctrl+Shift+J w systemach Windows i Linux). Witryna uruchamia aplikację Text.js w twojej konsoli, po jednym widoku na stronę. W Playground znajdziesz pulpit, strumieniowany Markdown i grę Snake. OpenCode łączy się z twoim lokalnym serwerem OpenCode.
Pełna lista zmian znajduje się w historii zmian, a kod źródłowy w serwisie GitHub.