← بلاگ

⁦Text.js 1.0⁩

⁦Text.js 1.0⁩ اسٹیبل ہے۔ یہ DevTools کونسول میں ⁦React 19⁩ اور ⁦App Router⁩ ایپس کو ہر فریم پر ایک console.log کے ساتھ رینڈر کرتا ہے۔

Adam

آج ہم ⁦Text.js 1.0⁩ ریلیز کر رہے ہیں، ویب کے لیے کونسول فریم ورک۔

bunx create-text-app@latest

⁦Text.js⁩، ⁦Chrome DevTools⁩ کونسول میں ⁦React 19⁩ ایپس رینڈر کرتا ہے، جہاں لے آؤٹس، روٹنگ، فوکس، ان پٹ، فارمز، چارٹس اور اسٹریمنگ Markdown کو console.log سے بنایا جاتا ہے۔

1.0 میں شامل خصوصیات

  • ⁦App Router⁩۔ layout.tsx، page.tsx، [param]، loading.tsx، error.tsx، not-found.tsx اور api/*/route.ts، جو window.location کے ساتھ سنک رہتے ہیں۔ یہ ⁦Next.js App Router⁩ کے طریقوں کی پیروی کرتا ہے۔
  • Turbolog۔ ⁦Yoga flexbox⁩ ایک سیل گرڈ کا لے آؤٹ بناتا ہے، ٹائپڈ اَرے CellBuffer اسے محفوظ رکھتا ہے، اور رن لینتھ انکوڈر اسے ایک console.log(format, ...css) کال میں بدلتا ہے۔ غیر فعال فریم کوئی کونسول کال نہیں کرتے۔
  • کمپوننٹ کٹ۔ Box، Text، ScrollBox، Input، Select، Tabs، Markdown، Diff، ورچوئلائزڈ List، Table، Tree، چارٹس، ڈائیلاگز، ٹوسٹس اور useKeymap کا Ctrl+K کمانڈ پیلیٹ۔
  • آخر میں جڑنے والے فریم۔ فریم پچھلے فریم کے نیچے جوڑے جاتے ہیں، اس لیے فریموں کے درمیان کونسول خالی ہو کر نہیں چمکتا۔ مزید تفصیل Turbolog: چمک کا خاتمہ میں ہے۔
  • دائیں سے بائیں متن۔ عبرانی اور عربی متن عربی حروف کی شکل بندی کے ساتھ بصری ترتیب میں رینڈر ہوتے ہیں، ⁦UAX #9⁩ کے ایسے نفاذ سے جو BidiTest.txt کے تمام 770,241 کیسز پاس کرتا ہے۔ کونسول میں دائیں سے بائیں متن دیکھیں۔
  • ریسپانسیو کونسول۔ Text.js ڈاک کیے گئے DevTools پینل میں فٹ ہوتا ہے، جس میں صفحے کا زوم اور اگلی سطر میں آنے والا ٹول بار بھی شامل ہیں۔ ان ڈاک ہونے پر یہ 120×36 استعمال کرتا ہے۔
  • text run۔ وہی ⁦App Router⁩ ایپ حقیقی ٹرمینل میں رینڈر ہوتی ہے۔
  • ایجنٹس اور ایڈیٹرز کے لیے ٹولز۔ text mcp، ⁦Model Context Protocol⁩ پر آپ کی ایپ کو کوڈنگ ایجنٹس کے لیے پیش کرتا ہے، اور ⁦Text.js DevTools⁩ ایکسٹینشن “کونسول” کے ساتھ ایک پینل شامل کرتی ہے۔ eslint-plugin-textjs اور ⁦VS Code⁩ ایکسٹینشن بھی 1.0 کا حصہ ہیں۔

ایک نام کی تبدیلی

فریم ورک پیکیج اب @textjs/next ہے۔ npm پر textjs نام پہلے سے لیا جا چکا تھا۔ اپنے امپورٹس اپ ڈیٹ کریں:

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

اپ ڈیٹ، 1.0.2: پیکیج اب @textjs/app ہے، اور @textjs/next متروک ہے۔ تبدیل کرنے کے لیے bun remove @textjs/next && bun add @textjs/app کمانڈ چلائیں اور @textjs/app سے امپورٹ کریں۔

اعداد

ایک گھنے 100×32 ڈیش بورڈ پر (46 ٹیکسٹ نوڈز، 149 %c span)، packages/core/test/perf.test.ts سے کی گئی پیمائش:

فریماوسط
مکمل ری پینٹ (لے آؤٹ، پینٹ، انکوڈ)0.163 ms
ایک قطار میں ترمیم (ٹائپنگ)0.011 ms
غیر فعال0.000 ms، 0 کونسول کالز

بغیر تبدیلی والا فریم اسٹرنگ کے لیے میموری مختص کرنے سے پہلے واپس آ جاتا ہے، اس لیے غیر فعال فریموں کی پیمائش 0.000 ms ہوتی ہے۔

آزمانا

⁦textjs.org⁩ کھولیں اور ⁦⌘⌥J⁩ دبائیں (Windows اور Linux پر ⁦Ctrl+Shift+J⁩)۔ یہ سائٹ آپ کے کونسول میں Text.js ایپ چلاتی ہے، ہر صفحے کے لیے ایک ویو۔ Playground میں ڈیش بورڈ، اسٹریمنگ Markdown اور Snake ہیں۔ OpenCode آپ کے مقامی OpenCode سرور سے جڑتا ہے۔

تبدیلیوں کی مکمل فہرست چینج لاگ میں ہے، اور سورس GitHub پر ہے۔