ٹرمینل میں چلانا
text run اور renderToTerminal سے App Router ایپ یا ایک کمپوننٹ ٹرمینل میں رینڈر کریں۔
text run ٹرمینل میں App Router ایپ رینڈر کرتا ہے۔ لے آؤٹ، کمپوننٹس، کی میپس اور روٹ ہینڈلرز براؤزر کے ساتھ مشترک ہیں۔ آؤٹ پٹ %c spans کے بجائے truecolor ANSI ہوتا ہے۔
text run # render ./app at /text run --path /logs # start on another routeباہر نکلنے کے لیے Ctrl+C دبائیں۔ text run کے لیے Bun درکار ہے۔
text run
text run، app/ کی ہر فائل امپورٹ کرتا ہے، App Router کو اِن میموری ہسٹری کے ساتھ ماؤنٹ کرتا ہے اور اسے پوری اسکرین پر رینڈر کرتا ہے۔ <Link>، useRouter()، notFound() اور redirect() بغیر کسی تبدیلی کے کام کرتے ہیں۔
ایک ہی اوریجن کی fetch("/api/...") کالز آپ کے route.ts ہینڈلرز اسی پروسیس میں چلاتی ہیں، بالکل ویسے جیسے text dev انہیں سَرو کرتا ہے۔ دیگر URLs نیٹ ورک پر جاتے ہیں۔
renderToTerminal
ایک کمپوننٹ یا آپ کی اپنی CLI کے لیے:
import { renderToTerminal } from "@textjs/app/terminal";import { App } from "./app";const app = await renderToTerminal(<App />);await app.waitUntilExit();useApp().exit() اَن ماؤنٹ کرتا ہے اور ٹرمینل بحال کرتا ہے۔
| آپشن | تفصیل |
|---|---|
stdin / stdout | ڈیفالٹ process.stdin / process.stdout |
cols / rows | مقررہ سائز (ڈیفالٹ: ٹرمینل کے مطابق) |
altScreen | باہر نکلنے پر اسکرول بیک کی بحالی (ڈیفالٹ true) |
mouse | وہیل اسکرولنگ (ڈیفالٹ true) |
exitOnCtrlC | ڈیفالٹ true |
fps | فریم کی حد (ڈیفالٹ 60) |
patchConsole | باہر نکلنے تک console.* روکنا (ڈیفالٹ true) |
theme / transparent | createConsoleRoot کی طرح |
آؤٹ پٹ
ہر فریم کا قطار بہ قطار موازنہ ہوتا ہے۔ صرف تبدیل شدہ قطاریں لکھی جاتی ہیں، جن کے گرد synchronized-output مارکرز ہوتے ہیں تاکہ ان کی سپورٹ رکھنے والے ٹرمینلز کبھی ادھورا رینڈر شدہ فریم نہ دکھائیں۔ غیر فعال ایپس کچھ نہیں لکھتیں۔
اِن پٹ
را موڈ stdin کو پارس کر کے وہی ایونٹس بنائے جاتے ہیں جو براؤزر پیدا کرتا ہے: موڈیفائرز کے ساتھ ایرو اور فنکشن کیز، Alt کے امتزاج، بریکٹڈ پیسٹ، SGR ماؤس وہیل اور kitty کی بورڈ پروٹوکول۔ اگر آپ کو کہیں اور ان کی ضرورت ہو تو TerminalInputParser اور parseTerminalInput ایکسپورٹ کیے گئے ہیں۔
فرق
| فیچر | DevTools | ٹرمینل |
|---|---|---|
| فریم کی رفتار | ~15 fps | fps تک |
| گرڈ کا سائز | ڈاک شدہ کونسول | ٹرمینل ونڈو |
<Image src> | کینوس سے لوڈ ہوتا ہے | pixels استعمال کریں |
console.log | آپ کے فریمز | باہر نکلنے تک روکا جاتا ہے |