کونسول فریم ورک
فل اسٹیک React ایپس بنائیں جو console.log کے اندر رینڈر ہوں۔
یہ صفحہ آپ کے کونسول میں چل رہا ہے۔ اسے ⌘⌥JCtrl+Shift+J⌘⌥KCtrl+Shift+K⌘⌥C سے کھولیں (پہلے ڈیولپر فیچرز آن کریں)، نیچے پیش منظر پر کلک کریں اور ↑ ↓ دبائیں۔
1import { useState } from "react";2import { AsciiFont, Box, Text, useInput } from "@textjs/app";34export default function Page() {5 const [count, setCount] = useState(0);6 useInput((e) => {7 if (e.key === "up") setCount((c) => c + 1);8 if (e.key === "down") setCount((c) => c - 1);9 });1011 return (12 <Box className="flex-col gap-1 p-2">13 <AsciiFont text="▼ TEXT.JS" />14 <Text color="muted">React 19 in console.log</Text>15 <Text bold color="accent">count = {count}</Text>16 </Box>17 );18}React 19
Text.js کنکرنٹ رینڈرنگ، Suspense اور ایرر باؤنڈریز کو سپورٹ کرتا ہے۔
App Router
app/ کے فولڈرز روٹس اور لے آؤٹس بنتے ہیں، اور پیچھے، آگے اور ڈیپ لنکس کام کرتے ہیں۔
ریسپانسیو گرڈ
گرڈ صفحے کے کسی بھی زوم پر ڈاک کیے گئے DevTools پینل میں فٹ ہوتا ہے۔
کی بورڈ ان پٹ
کیز، پیسٹ اور IME کمپوزیشن ایک پوشیدہ <textarea> سے ایپ تک پہنچتے ہیں۔
ٹیبلز، چارٹس، فارمز اور شارٹ کٹس
ہر تبدیل شدہ فریم ایک console.log کال ہے
جو کمٹ کسی سیل کو نہیں بدلتا وہ کونسول تک نہیں پہنچتا۔
- React 19
01کمٹ
React ایک کسٹم ریکنسائلر سے کمٹ کرتا ہے۔
- Yoga
02لے آؤٹ
Yoga پورے سیلز پر باکسز کا لے آؤٹ بناتا ہے۔
- CellBuffer
03پینٹ
صرف متاثرہ قطاریں دوبارہ پینٹ ہوتی ہیں۔
- قطار کا ہیش
04ڈرٹی گیٹ
بغیر تبدیلی والے فریم یہاں رک جاتے ہیں۔
- RLE
05انکوڈ
3,200 سیل 149
%cspans بن جاتے ہیں۔ - console.log
06اخراج
فریم کم از کم 66 ms کے وقفے سے آخر میں جوڑے جاتے ہیں۔
آخر میں جوڑے گئے فریم
ہر فریم سے پہلے کونسول صاف کرنے سے وہ تب تک خالی رہتا ہے جب تک DevTools اگلا فریم پینٹ نہ کرے۔ Turbolog اس کے بجائے ہر فریم آخر میں جوڑتا ہے۔
پوسٹ پڑھیںclear() + log()70.6% خالیlog(), appended1.0% خالی%c آرگیومنٹسسرور پر روٹس کی رینڈرنگ
روٹ اور اس کے async کمپوننٹس کو سرور پر رینڈر کرنے کے لیے runtime = "server" ایکسپورٹ کریں۔ براؤزر آپ کی ایپ کی جگہ 21 kB (gzip) کا فریم پلیئر لوڈ کرتا ہے۔
1import { Suspense } from "react";2import { Box, Text } from "@textjs/app";3import { db } from "@/lib/db";45export const runtime = "server";67async function Deploys() {8 const rows = await db.deploys.latest(5);9 return rows.map((d) => (10 <Text key={d.id}>{`${d.state} ${d.branch}`}</Text>11 ));12}1314export default function Page() {15 return (16 <Box className="flex-col p-1">17 <Text bold>Deployments</Text>18 <Suspense fallback={<Text color="muted">Loading…</Text>}>19 <Deploys />20 </Suspense>21 </Box>22 );23}- جزوی پری رینڈرنگہر اسٹیٹک روٹ کا پہلا فریم اس کے HTML میں شامل ہوتا ہے۔ JavaScript لوڈ ہونے سے پہلے کونسول رینڈر کرتا ہے۔
- مڈل ویئر
middleware.tsمماثل درخواستوں سے پہلےNextRequest،NextResponseاورconfig.matcherکے ساتھ چلتا ہے۔ - کیشنگ
revalidate،unstable_cacheاورrevalidateTagروٹ ہینڈلرز اور ڈیٹا کو stale-while-revalidate کے ساتھ کیش کرتے ہیں۔ - ڈیپلائے اڈاپٹرز
text build --adapterکا ہدفstatic،bun،vercelیاcloudflareہوتا ہے۔ سرور پر رینڈر شدہ روٹس کوbunیاtext startدرکار ہے۔
ٹرمینلز اور ایجنٹس میں بھی چلتا ہے
DevToolstext dev
Turbolog ہر فریم کو ایک console.log میں %c spans کے طور پر لکھتا ہے۔
ٹرمینلtext run
text run اسی App Router ایپ کو ٹرو کلر ANSI میں رینڈر کرتا ہے اور روٹ ہینڈلرز اسی پروسیس میں چلاتا ہے۔
کوڈنگ ایجنٹسtext mcp
MCP پر ایجنٹس روٹس پر جاتے ہیں، کلیدیں دباتے ہیں اور ہر فریم کو سادہ متن کے طور پر پڑھتے ہیں۔
DevTools میں OpenCode کے ساتھ کوڈ لکھیں
OpenCode Lite، OpenCode کا TUI ہے جسے آپ کے براؤزر کونسول میں چلانے کے لیے Text.js سے دوبارہ بنایا گیا ہے۔
سینڈ باکس
اسکرپٹڈ ایجنٹ ہر پرامپٹ کا جواب دیتا ہے، کچھ انسٹال کرنے کی ضرورت نہیں۔
ایک کمانڈ
bunx @textjs/opencode@latest proxy چلائیں اور اس کا پرنٹ کردہ کوڈ درج کریں۔ صفحہ آپ کی مشین پر OpenCode سے جڑتا ہے۔
آپ کے ماڈلز اور سیشنز
/models کمانڈ سے اپنے سرور پر کنفیگر کردہ کوئی بھی ماڈل منتخب کریں۔ سیشنز، ایجنٹس اور ماڈلز آپ کے OpenCode سرور سے آتے ہیں۔
ایڈیٹر، لنٹ اور ٹیسٹ ٹولز
DevTools ایکسٹینشن
کمپوننٹ ٹری، فریم انسپکٹر اور ہر فریم کی ٹائم لائن والا پینل شامل کرتا ہے۔
Text.js پینلVS Code
آپ کے کوڈ کے ساتھ فریم کا پیش منظر دکھاتا ہے اور App Router فائلوں کا ابتدائی ڈھانچا بناتا ہے۔
⌘K VESLint
کونسول کمپوننٹس میں DOM ٹیگز، متن کے اندر باکسز اور Menlo میں نہ ہونے والے گلفس کی نشاندہی کرتا ہے۔
eslint-plugin-textjsٹیسٹنگ
کسی بھی ٹیسٹ رنر میں آف اسکرین رینڈر کریں، کلیدیں دبائیں اور lastFrame() پر assertions چیک کریں۔
ایرر کوڈز
TX کوڈ والے ایررز اور انتباہات ایسے صفحے سے لنک ہوتے ہیں جو حل بتاتا ہے۔
کونسول REPL
کونسول پرامپٹ سے چلتی ایپ کو روکیں، سائز بدلیں، وائر فریم دکھائیں اور کاپی کریں۔
window.textدائیں سے بائیں
Unicode Bidirectional Algorithm نافذ کرتا ہے اور BidiTest.txt کے تمام 770,241 کیسز پاس کرتا ہے۔
FIGlet فونٹس
.flf فائلیں پارس کرتا ہے اور figlet بائنری فائل سے ریکارڈ کردہ 273 آؤٹ پٹس سے مطابقت رکھتا ہے۔
اپنے کونسول میں ڈیپلائے ڈیش بورڈ بنائیں
مفت کورس میں 10 ابواب ہیں اور اس میں تقریباً 65 منٹ لگتے ہیں۔