antfu

Activity

Stars and mentions · Last 30 days, Oct 5 – Nov 3

GitHub stars1,043
Mentions16
070140210280Oct 5Oct 19Nov 3
UTC days · repositories antfu owns62 repositories

Top repositories

antfu’s repositories ranked by new stars, as on trending.

Loading

Contributes to

Repositories outside antfu’s account where antfu opened or reviewed pull requests in the past 365 days.

Who noticed antfu

Everyone who starred or forked antfu’s repositories since the archive began in 2011.

Notable accounts

Ordered by the stars their own repositories have received.

Biggest fans

Accounts that starred the most of these repositories.

Breakout weeks

Each repository’s best week of new stars, with the release published around it.

Mentions

14posts
Nov 41 post
  1. A Jeeves for Every Coding Agent, a Pit Crew for Your Mac, and Simulators That Outlive Their App --- title: "A Jeeves for Every Coding Agent, a Pit Crew for Your Mac, and Simulators That Outlive Their App" published: true cover_image: dev-to-uploads.s3.us-east-2.amazonaws.com description: "Explore @expo/agent-cli, Expo's experimental CLI built for coding agents, and Legend Spark, a framework for building real desktop apps with React Native." tags: reactnative, javascript, mobile, expo canonical_url: thereactnativerewind.com --- You’re reading The React Native Rewind #64. --- Right Ho, Agent Bertie Wooster never once worked out what to do next, which was fine, because Jeeves always had. Coding agents poking at Expo apps have been Bertie for a while: booting the wrong simulator, rebuilding when a reload would do, then asking us what went wrong. Kudo Chien (@kudochien) and Vojtech Novak (@vonovak) just introduced @expo/agent-cli, an experimental CLI "built by agents and designed for agents". What does it do that npx expo doesn't? Every command returns an exit code, optional JSON and the next command worth running, so the agent never has to guess. status works like git status for the native side, telling us whether Expo Go can run the project and whether a change needs a rebuild or just a reload, without launching anything. dev --ios then picks Expo Go or a development build (our own debug app with the native code baked in), and --plan previews the steps first. # wire up AGENTS.md and the Expo skills npx @expo/agent-cli agents:setup # what changed, and do we need a rebuild? npx @expo/agent-cli status # preview the launch, then run it npx @expo/agent-cli dev --ios --plan npx @expo/agent-cli dev --ios # prove the app actually boots npx @expo/agent-cli smoke --ios We ran status on a fresh SDK 58 app, and it came back with the next command already written out. !Expo agent CLI status output Real terminal output of npx @expo/agent-cli status on a fresh Expo SDK 58 app Anything else in the pantry? navigate and runtime:reload drive the running app, and each git worktree gets its own simulator, so parallel agents stop fighting over one iPhone. It builds on Expo CLI, EAS CLI and expo-doctor rather than replacing them. Cloud builds are opt-in with --eas, which means no surprise EAS credits. From SDK 58, installing a package through the CLI also links the agent skills it ships, building on Anthony Fu's (@antfu7) skills-npm. It's still experimental, so expect the odd change of suit, but our agents finally have a Jeeves, and we get to stay Bertie. 👉 @expo/agent-cli --- !Bell curve rm -rf node_modules meme Ka-Chow, React Native Hits the Desktop Lightning McQueen spent a whole film learning that being fast means nothing if you never get off the track. React Native on desktop has had the same problem: the engine existed, but nobody turned up with a pit crew. Jay Meistrich (@jmeistrich) just launched Legend Spark, a framework for building real desktop apps with React Native. What's under the bonnet? Spark sits on Expo Desktop, an independent project from Jamie Birch (@birch_js) that wires Expo into react-native-macos and react-native-windows. Screens use React Native's native renderer and JavaScript runs in Hermes (Meta's JavaScript engine built for React Native), so there's no browser hiding inside the app. On top, Spark adds the desktop parts we'd normally write in Swift: windows, menus, dialogs, files, a tray icon, SQLite and Sparkle (the standard macOS auto-update framework). import { openWindow, showWindow, } from '@legendapp/spark/windows'; await openWindow({ id: 'inspector', component: 'Inspector', title: 'Inspector', size: { width: 480, height: 640 }, show: false, }); await showWindow('inspector', { focus: true }); Each window is just a component registered with AppRegistry, opened from JavaScript like a modal that escaped the phone. Do we need Xcode for the warm-up lap? No. npm create @legendapp/spark@next MyApp followed by npm run macos launches Spark Runner (a prebuilt dev app that loads our JavaScript from Metro), with Fast Refresh and no native compile. Adding a native dependency means a custom dev build, and npm run package signs and notarizes the finished app. Is it race-ready? Jay's own Legend apps now run on it, including Diff, Code, Music and Photos. !Legend Diff window built on Legend Spark Legend Diff, a macOS app built on Legend Spark, showing a side-by-side code diff The docs are honest about the rest: version 0.0.1 targets Expo SDK 54 and React Native 0.81, needs macOS 14 on Apple Silicon, and is "not ready for production". Windows and Intel Macs are in progress, and Linux isn't supported. The car is quick and the pit crew has finally arrived, but this is still a practice lap, not the Piston Cup. 👉 Legend Spark --- !And it is gone Xcode disk space meme 📦 React Native 0.88.1 Release builds on iOS now compile with -O2 instead of -Os, so iOS finally gets the same speed-over-size treatment Android has enjoyed all along. Swift Package Manager users also get a generated xcconfig, which means a version bump no longer scribbles all over your project.pbxproj. 📦 Unistyles 3.7 Unistyles now gets its own track in the React Native DevTools performance panel, so you can finally see exactly why that theme switch felt sluggish. It also understands the new 0.88 style props, like the object form of fontVariationSettings, though watch out for one small breaking change to UnistylesRuntime.themeName. 📦 React Native ExecuTorch 0.11 On-device LLMs get a sampler borrowed from llama.cpp's playbook, constrained decoding and context windows up to 16k tokens. The phone can now also guess depth, paint over the bits of a photo you'd rather forget, and run a little vector store without ever calling home. 📦 NativeWind 5 RC 1 The second v5 release candidate lands for Expo 57, with Metro build warnings and a pile of fixes in its CSS engine. The latest tag still points at v4, so nobody gets upgraded by surprise. 📦 EAS CLI 27.2 The new eas observe:traces and eas observe:trace commands draw your app's request traces as a span tree right in the terminal. No more squinting at a dashboard to work out which request ate your startup time. 📦 Legend List 3.7 scrollToIndex and friends now resolve their promises when the scroll actually lands, instead of resolving early or ghosting you entirely. There's also a new scrollToKey for jumping to an item by key, even after new rows get prepended above it. 📦 Maestro 2.12 Xcode 27 ships without Simulator.app, and Maestro now boots simulators anyway, which is a sentence none of us expected to read this year. It also spots iOS crashes even when the system can't be bothered to write a crash report. 📝 React Native 0.88 Is Not Enough for iOS 27 Upgrading to 0.88 gives you the SceneDelegate APIs, but your existing app stays on its old AppDelegate until you move it yourself. Muhittin Çamdalı walks through the switch and the sneaky black-screen failure, and his sdkbump CLI tells you whether your app will even launch on the iOS 27 SDK. !Goodbye GIF --- Authored by Luke Farrell and edited by Fran Ríos. If you’re enjoying this newsletter, why not help us grow? Share it with your friends, family, and even that one coworker who always “forgets” to update dependencies. Use this link: thereactnativerewind.com.

  2. @mattpocockuk Maybe something like that ? antfu/pulls.review

    18 views
  3. Reddit · · r/css · u/Fresh-Daikon-9408 · antfu/furifont

    Furifont: a Japanese font that draws furigana above kanji by itself, with OpenType ligatures and no JavaScript Not my project, it's antfu's. Type kanji and the readings appear above them: 今日は桜が満開 gets きょう, さくら and まんかい, drawn by the font through ligatures. There's a romaji variant and a serif one. The one option on their page that needs JavaScript, okurigana readings, is off in the video, so everything you see comes from the font alone. Repo: antfu/furifont Curious how far ligatures can go here before the font file gets too big.

    29 points
  4. Ghosttyで選択した日本語だけルビを表示してみた Ghosttyで日本語をドラッグ選択すると、選択した部分だけふりがな付きのフォントに切り替わる機能を作ってみました。選択を解除すると元のフォントに戻ります。 きっかけは、Ghostty 開発コミュニティでFurifontの話題が出ていたことでした。 私自身最近、Ghosttyの文字レンダリング部分を高速化するPRを作っていました。 Macの日本語入力でIMEの変換部分がGhostty上でわかりづらいというPRが作られているのを見ていました。 ghostty#14749 その流れで字形をまとめて保持するアトラスや、文字列から描画する字形を決める処理を追っていました。 ちょうど実装している最中にXで見かけたのが、Anthony Fuさんの Furifont でした。 x.com Furifontは、フォント自体にふりがな付きの字形と置換ルールを持たせる仕組みです。 Ghostty のコミュニティで海外の人で日本語を勉強している人がいて、Furifontのコンセプトはいいんだけれど、日本語勉強するときには余計な場所に目がついてしまうから使えないという話をしていました。 「選択したときだけ使えたら面白そう」と思って試しに実装してみました。 デモ x.com ドラッグすると、選択した文字そのものがルビ付きの見た目に変わります。マウスを離しても選択が残っている間は表示し、選択を外すと元に戻します。 動画ではウィンドウ幅を変えたときの様子も試していて、ここら辺はやっぱり適切に日本語のルビが振られません。(Furifont側でも問題になっている) 文字列を変えず、描画するフォントを変える 今回追加したのは、選択範囲を見てフォントを切り替える処理で、ターミナルから選択した範囲を取得し字形のいちや大きさを決めています。 選択されていない文字 → 通常のフォント 選択された日本語 → Furifont 選択解除 → 通常のフォント 端末の本文に読みを挿入するのではなく、シェーピングに渡すフォントを切り替え、以降の字形描画にはGhosttyの既存の仕組みを使っています。 もし適切に文節の区切りが、折り返しで変わっても正確にルビが振られるようにするには、この部分で字句解析を行い、シェーピングのまとまりを決める必要があります。今回はそこまでやっていません。 試作版では、configで選択用フォントを指定しました。 selection-font-family = Furifont Sans まだ残っている課題 この実装は、Furifontの読みの曖昧さや、単語の途中で折り返したときの問題を解決していません。行や選択の境界でシェーピングのまとまりが分かれると、読みが変わったり、付かなくなったりします。 また、試作用の設定ではルビの余白を取るため、ターミナル全体の行高を50%増やしています。 次は行高を維持したまま、選択部分の「漢字+ルビ」をセル内に収める方法を試したいです。ただ、縮小すると読みにくくなるかもしれません。ここはまだ比較していません。 常に全部の文字にルビが付くより、読めないところだけ気軽に選べるほうが、普段の作業にも取り入れいよねと思っています。 (あんまり日本人としては気づかないルビ(ruby)の表示に関して勉強できて楽しかったです。) Furifontの公式リポジトリ / 設計ドキュメント

    1 like
  5. @JulienHuang_dev @antfu7 seems to use Storybook "Set up Storybook for component development.". I'm curious to know how he use it github.com/antfu/skills/blob/main/skills/antfu/re…

    1 like · 26 views
  6. antfu/furifont これ、よー考えてある、なあ。ひらがなから漢字は多少一意に定めにくい点あるけど、漢字からひらがなだったら、例外はあるけどだいぶ一意に決められるはず、よね。 rubizaidan.jp これはルビ財団がきっちり売りこまないとだめちゃうか。松本さんは知ってるんやろか。

    2 likes
  7. フロントエンド開発で使えそうなskills packのようだ。 含まれるスキルは、JavaScript/TypeScriptの慣習、Vue/Nuxt/Vite/Pinia などのベストプラクティス、コードレビュー、TDD、わかりやすい文章作成、UIデザインなど多岐にわたっているようだ。 antfu/skills-pack

    4 likes · 222 views
  8. This is powered by antfu/skills-npm, which allows npm packages to ship skills, or declare their "skill dependencies", so you can create shared packs/presets with your team or the community. We are working with the skills-cli team to have this builtin.

    9 likes
  9. Introduce @antfu/skills It works just like @antfu/eslint-config, an opinionated pack of skills curated from the ecosystem. Instead of vendoring skills, you get a package-manager-like experience: install packs with their skill deps. antfu/skills-pack

    36 likes · 4 reposts
  10. This is powered by antfu/skills-npm, which allows npm packages to ship skills, or declare their "skill dependencies", so you can create shared packs/presets with your team or the community. We are working with the skills-cli team to have this builtin.

    4 likes · 1,094 views

Achievements

Awards earned by the repositories antfu owns. Select an award to embed its badge.

Gold
11st place finishes
Silver
12nd place finishes
Bronze
13rd place finishes
Awarded repositories
3Owned by antfu now

Repositories

Ordered by gold, then silver, then bronze.

  1. vue-starportBest: 1st by stars, 441 stars100
  2. vscode-file-nesting-configBest: 2nd by stars, 506 stars010
  3. skillsBest: 3rd by stars, 343 stars001

Every award

Top-three finishes of these repositories in completed trending days and weeks, newest first.

  1. skills
  2. vue-starport
  3. vscode-file-nesting-config

A repository earns an award for finishing first, second or third in a completed trending day or week, ranked by new stars, new forks or pull request authors. Awards follow a repository through renames and transfers and count toward its current owner. Weeks run Monday to Sunday, UTC.