ٹرمینل میں چلانا

⁦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 کے لیے:

cli.tsxtsx
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 / transparentcreateConsoleRoot کی طرح

آؤٹ پٹ

ہر فریم کا قطار بہ قطار موازنہ ہوتا ہے۔ صرف تبدیل شدہ قطاریں لکھی جاتی ہیں، جن کے گرد ⁦synchronized-output⁩ مارکرز ہوتے ہیں تاکہ ان کی سپورٹ رکھنے والے ٹرمینلز کبھی ادھورا رینڈر شدہ فریم نہ دکھائیں۔ غیر فعال ایپس کچھ نہیں لکھتیں۔

اِن پٹ

را موڈ stdin کو پارس کر کے وہی ایونٹس بنائے جاتے ہیں جو براؤزر پیدا کرتا ہے: موڈیفائرز کے ساتھ ایرو اور فنکشن کیز، Alt کے امتزاج، بریکٹڈ پیسٹ، SGR ماؤس وہیل اور kitty کی بورڈ پروٹوکول۔ اگر آپ کو کہیں اور ان کی ضرورت ہو تو TerminalInputParser اور parseTerminalInput ایکسپورٹ کیے گئے ہیں۔

فرق

فیچرDevToolsٹرمینل
فریم کی رفتار~15 fpsfps تک
گرڈ کا سائزڈاک شدہ کونسولٹرمینل ونڈو
<Image src>کینوس سے لوڈ ہوتا ہےpixels استعمال کریں
console.logآپ کے فریمزباہر نکلنے تک روکا جاتا ہے
⁦GitHub⁩ پر اس صفحے میں ترمیم کریں