110-day current streak·173-day longest streak
Hey, I'm Long Ho 👋 I build and write about the engineering work behind durable web products: frontend systems, build graphs, runtime boundaries, type systems, and the tiny workflow choices…
Hey, I'm Long Ho 👋
I build and write about the engineering work behind durable web products: frontend systems, build graphs, runtime boundaries, type systems, and the tiny workflow choices that decide whether a team keeps cruising or slowly turns into soup.
Most of my notes live at longho.dev, my vanity URL for the GitHub Pages site, where I poke at the places product engineering meets infrastructure.
Current Quest Log 🧭
- 🏗️ Build systems: Bazel, TypeScript, monorepos, selective builds, explicit dependencies, generated metadata, and package boundaries that stay understandable.
- 🧩 Frontend runtime: shared browser, webview, and desktop capabilities; platform APIs; storage; telemetry; localization; and config that behaves consistently across surfaces.
- 🌍 Internationalization: localization architecture, message extraction, translation workflows, and maintaining FormatJS.
- ⚡ Product engineering: fast interfaces, routing, data loading, UX systems, deploy safety, artifact verification, and tooling that remains maintainable after launch.
Opinions I Keep Reusing Like A Favorite Hoodie 🧥
- 📦 Build outputs are APIs.
- 🧱 Boundaries should be visible in code, not only in convention.
- 🪄 Generated framework wiring still has API-like failure modes.
- 🌍 Internationalization belongs in the architecture early, not as a late-game string scramble.
- 🌉 Shared runtime layers are product infrastructure, not just convenience utilities.
- 🧘 The best internal tooling makes the right thing feel boring.
-
gazelle_ts ★ PINNED ⑂
Bazel build setup, a Gazelle TypeScript language extension, and the Rust import-extractor that powers it (linked in via cgo).
★ 0 1mo agoExplain → -
gazelle_py ★ PINNED ⑂
A Gazelle language extension for Python, paired with a Rust import-extractor that the plugin links in via cgo.
★ 0 1mo agoExplain → -
ts-transform-css-modules
Extract css class names from required css module files for TypeScript
TypeScript ★ 88 3y agoExplain → -
ts-transform-img
Allow `import * as img from 'foo.png'` in TS
TypeScript ★ 24 3y agoExplain → -
ts-transform-json
Inline specific values from a JSON file or the whole JSON blob
TypeScript ★ 15 3y agoExplain → -
ts-transform-react-intl ▣
Extracts string messages for translation from modules that use React Intl.
TypeScript ★ 12 6y agoExplain → -
node-jsonrpc
JSON-RPC protocol implementation in NodeJS
JavaScript ★ 12 12y agoExplain → -
bootstrap-audioplayer
Audio Player plugin for Twitter bootstrap
JavaScript ★ 12 13y agoExplain → -
jquery-audioplayer
Mp3 player with jQuery mobile frontend and NodeJS backend
JavaScript ★ 10 12y agoExplain → -
tetris-clock
Tetris Clock
JavaScript ★ 9 11y agoExplain → -
ts-transform-system-import ▣
Transform `System.import` in TS to Promise-wrapped require
TypeScript ★ 7 7y agoExplain → -
postcss-import-sync2 ⑂
PostCSS plugin to inline @import rules content
JavaScript ★ 6 4y agoExplain → -
react-dnd ⑂
Drag and Drop for React
JavaScript ★ 4 10y agoExplain → -
longlho.github.io
Personal website
TypeScript ★ 2 22d agoExplain → -
hermes-intl-demo
No description.
Java ★ 1 6y agoExplain → -
node-gm-native
Native GraphicsMagick++ addon for Node
JavaScript ★ 1 11y agoExplain → -
misc
Misc stuff
Java ★ 1 13y agoExplain → -
node-sophie
Find Sophie puzzle written in JS using NodeJS
JavaScript ★ 1 14y agoExplain → -
s3-plugin ⑂
Upload Jenkins build artifacts to Amazon S3
Java ★ 1 14y agoExplain → -
js-styleguide ⑂
Styleguide for my open-source JavaScript projects
★ 1 14y agoExplain → -
thoughts ▣
Collection of thoughts
★ 0 1mo agoExplain → -
longlho
No description.
★ 0 28d agoExplain → -
gazelle-rust-staticlib-conflict-repro ▣
No description.
Starlark ★ 0 1mo agoExplain → -
rules-js-exec-platform-repro
No description.
Starlark ★ 0 1mo agoExplain → -
hermetic-llvm ⑂
A zero sysroot, fully hermetic C/C++ cross compilation toolchain for Bazel based on LLVM.
★ 0 1mo agoExplain → -
rules_rs ⑂
Next-gen Rust Bazel rules which provide a blazing-fast ergonomic `crate_universe` reimplementation, first-class Windows support, optimized toolchains, and more.
Starlark ★ 0 1mo agoExplain → -
oxc-resolver ⑂
Rust version of webpack/enhanced-resolve
Rust ★ 0 3mo agoExplain → -
rolldown ⑂
Fast Rust bundler for JavaScript/TypeScript with Rollup-compatible API.
★ 0 3mo agoExplain → -
vite ⑂
Next generation frontend tooling. It's fast!
★ 0 3mo agoExplain → -
oxc ⑂
⚓ A collection of high-performance JavaScript tools.
Rust ★ 0 3mo agoExplain → -
oxc-issue-18749
Reproduction for oxc issue #18749 - oxfmt produces different Tailwind CSS ordering between Linux and macOS
Shell ★ 0 3mo agoExplain → -
webpack-hot-middleware ⑂
Webpack hot reloading you can attach to your own server
JavaScript ★ 0 9y agoExplain → -
bazel-lib ⑂
Common useful functions for writing BUILD files and Starlark macros/rules
Starlark ★ 0 10mo agoExplain → -
rules_lint ⑂
Run static analysis tools with Bazel
Starlark ★ 0 1y agoExplain → -
json-viewer ⑂
not only a JSON viewer
★ 0 1y agoExplain → -
cadence-web ⑂
Web UI for visualizing workflows on Cadence
★ 0 5y agoExplain → -
rules_nodejs ⑂
JavaScript and NodeJS rules for Bazel
★ 0 4y agoExplain → -
test262-harness ⑂
Experimental harness for test262
JavaScript ★ 0 6y agoExplain → -
node-cache-manager ⑂
Cache module for Node.JS
JavaScript ★ 0 10y agoExplain → -
polyfill-service ⑂
Automatic polyfill service.
★ 0 5y agoExplain → -
polyfill-library ⑂
No description.
JavaScript ★ 0 2y agoExplain → -
proposal-intl-duration-format ⑂
No description.
★ 0 2y agoExplain → -
sdk-js ⑂
Mercado Pago's Official JS SDK
★ 0 3y agoExplain → -
ember-intl ⑂
Localization library for any Ember Application or Addon
JavaScript ★ 0 3y agoExplain → -
rules_js ⑂
High-performance Bazel rules for running NodeJS tools and building JavaScript projects
★ 0 1mo agoExplain → -
rules_esbuild ⑂
Bazel rules for https://esbuild.github.io/ JS bundler
★ 0 3y agoExplain → -
TypeScript ⑂
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
TypeScript ★ 0 3y agoExplain → -
examples ⑂
Enjoy our curated collection of examples and solutions. Use these patterns to build your own robust and scalable applications.
★ 0 4y agoExplain → -
debug ⑂
tiny node.js & browser debugging utility for your libraries and applications
JavaScript ★ 0 10y agoExplain → -
esbuild ⑂
An extremely fast JavaScript bundler and minifier
★ 0 4y agoExplain → -
graphql-code-generator ⑂
A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.
★ 0 4y agoExplain → -
ecma402 ⑂
Status, process, and documents for ECMA 402
HTML ★ 0 4y agoExplain → -
docusaurus ⑂
Easy to maintain open source documentation websites.
TypeScript ★ 0 5y agoExplain → -
bazel-tools ⑂
Reusable bits for Bazel
Starlark ★ 0 5y agoExplain → -
DefinitelyTyped ⑂
The repository for high quality TypeScript type definitions.
★ 0 5y agoExplain → -
vue-next ⑂
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
★ 0 5y agoExplain → -
commitlint ⑂
📓 Lint commit messages
TypeScript ★ 0 5y agoExplain → -
karma ⑂
Spectacular Test Runner for JavaScript
★ 0 5y agoExplain → -
make-plural ⑂
Translates Unicode CLDR pluralization rules to executable JavaScript
★ 0 4y agoExplain → -
content ⑂
The content behind MDN Web Docs
★ 0 5y agoExplain → -
astexplorer ⑂
A web tool to explore the ASTs generated by various parsers.
JavaScript ★ 0 5y agoExplain → -
proposals ⑂
Tracking ECMAScript Proposals
★ 0 5y agoExplain → -
browser-compat-data ⑂
This repository contains compatibility data for Web technologies as displayed on MDN
JavaScript ★ 0 3y agoExplain → -
proposal-intl-DateTimeFormat-formatRange ⑂
ECMA 402 proposal for DateTimeFormat.prototype.{formatRange,formatRangeToParts}
★ 0 5y agoExplain → -
core-js ⑂
Standard Library
★ 0 5y agoExplain → -
ts-jest ⑂
TypeScript preprocessor with sourcemap support for Jest
★ 0 5y agoExplain → -
TypeScript-Website ⑂
The Website and web infrastructure for learning TypeScript
★ 0 5y agoExplain → -
bazel_ts_worker
TS worker for bazel
★ 0 5y agoExplain → -
docsearch-configs ⑂
DocSearch - Configurations
★ 0 6y agoExplain → -
api-sdk-python ⑂
SDK for integrating with the Smartling API. The Smartling API allows developers to upload language specific resource files and download the translations of those files for easy integration within their application.
★ 0 6y agoExplain → -
Intl.js ⑂
Compatibility implementation of the ECMAScript Internationalization API (ECMA-402) for JavaScript
★ 0 9y agoExplain → -
proposal-unified-intl-numberformat ⑂
Adds localized formatting of measurement units, compact decimals, and more number features
★ 0 6y agoExplain → -
ts-compiler-docs
Unofficial docs for TS Compiler API
JavaScript ★ 0 6y agoExplain → -
proposal-intl-relative-time ⑂
`Intl.RelativeTimeFormat` specification [draft]
HTML ★ 0 6y agoExplain → -
proposal-intl-list-format ⑂
`Intl.ListFormat` specification [draft]
HTML ★ 0 6y agoExplain → -
migrate-css-modules
Migrate CSS & TS to CSS Modules in TS
TypeScript ★ 0 6y agoExplain → -
proposal-intl-currency
Proposal for adding Intl.Currency
★ 0 6y agoExplain → -
babel ⑂
🐠 Babel is a compiler for writing next generation JavaScript.
JavaScript ★ 0 7y agoExplain → -
test262 ⑂
Official ECMAScript Conformance Test Suite
JavaScript ★ 0 6y agoExplain → -
babel-plugin-react-intl ⑂
Extracts string messages from React components that use React Intl.
JavaScript ★ 0 10y agoExplain → -
formatjs-extract-cldr-data ⑂
Utility library that extracts the CLDR data that's needed by the FormatJS libraries.
JavaScript ★ 0 7y agoExplain → -
intl-messageformat-parser ⑂
Parses ICU message strings to an AST that can be used to format the messages for a person's locale.
JavaScript ★ 0 7y agoExplain → -
intl-relativeformat ⑂
Formats JavaScript dates to relative time strings (e.g., "3 hours ago").
JavaScript ★ 0 10y agoExplain → -
tslint-react ⑂
:orange_book: Lint rules related to React & JSX for TSLint.
TypeScript ★ 0 9y agoExplain → -
fluxible-plugin-fetchr ⑂
A plugin for fluxible applications to provide an isomorphic interface for RESTful services
JavaScript ★ 0 11y agoExplain → -
timers-browserify ⑂
timers module for browserify
JavaScript ★ 0 11y agoExplain → -
npm-registry-couchapp ⑂
couchapp bits of registry.npmjs.org
JavaScript ★ 0 8y agoExplain → -
uvbook ⑂
An Introduction to libuv
C ★ 0 9y agoExplain → -
autobind-decorator ⑂
Decorator to automatically bind methods to class instances
JavaScript ★ 0 9y agoExplain → -
dispatchr ⑂
A Flux dispatcher for applications that run on the server and the client.
JavaScript ★ 0 11y agoExplain → -
react-cartographer ⑂
Generic component for displaying Yahoo / Google / Bing maps.
JavaScript ★ 0 9y agoExplain → -
postcss-inline-svg ⑂
PostCSS plugin to inline SVG and customize its styles
JavaScript ★ 0 9y agoExplain → -
lerna-changelog ⑂
:book: Generate a changelog for a Lerna repo
JavaScript ★ 0 7y agoExplain → -
infernoBuildProblem ⑂
No description.
JavaScript ★ 0 9y agoExplain → -
depcheck ⑂
Check your npm module for unused dependencies
JavaScript ★ 0 9y agoExplain → -
inferno-typescript-example ⑂
An example of using TypeScript with Inferno
TypeScript ★ 0 9y agoExplain → -
rollup ⑂
Next-generation ES6 module bundler
JavaScript ★ 0 9y agoExplain → -
babel-plugin-inferno ⑂
No description.
JavaScript ★ 0 9y agoExplain → -
boom ⑂
HTTP-friendly error objects
JavaScript ★ 0 9y agoExplain → -
inferno ⑂
An extremely fast, React-like JavaScript library for building modern user interfaces
JavaScript ★ 0 8y agoExplain → -
setprototypeof ⑂
Polyfill for Object.setPrototypeOf
JavaScript ★ 0 9y agoExplain → -
generic-names ⑂
Helper for building generic names, similar to webpack
JavaScript ★ 0 9y agoExplain → -
css-modules-loader-core ⑂
A loader-agnostic CSS Modules implementation, based on PostCSS
JavaScript ★ 0 9y agoExplain → -
extract-text-webpack-plugin ⑂
Extract text from bundle into a file.
JavaScript ★ 0 9y agoExplain → -
atomizer ⑂
A tool for creating Atomic CSS, a collection of single purpose styling units for maximum reuse
JavaScript ★ 0 10y agoExplain → -
uniform ⑂
A plugin for jQuery. Make your form controls look how you want them to.
CSS ★ 0 12y agoExplain → -
mocha ⑂
mocha - simple, flexible, fun javascript test framework for node.js & the browser. (BDD, TDD, QUnit styles via interfaces)
JavaScript ★ 0 10y agoExplain → -
kanban-app ⑂
No description.
JavaScript ★ 0 10y agoExplain → -
react-i13n ⑂
A performant, scalable and pluggable approach to instrumenting your React application.
JavaScript ★ 0 10y agoExplain → -
es6-promise ⑂
A polyfill for ES6-style Promises
JavaScript ★ 0 11y agoExplain → -
react-dnd-trello ⑂
Trello-like interface implemented using React and ReactDnD
JavaScript ★ 0 10y agoExplain → -
mochajs.github.io ⑂
Mocha's gopher server
JavaScript ★ 0 10y agoExplain → -
Modernizr ⑂
Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.
JavaScript ★ 0 10y agoExplain → -
eslint ⑂
A fully pluggable tool for identifying and reporting on patterns in JavaScript.
JavaScript ★ 0 10y agoExplain → -
node-imagemagick-native ⑂
ImageMagick's Magick++ bindings for NodeJS
C++ ★ 0 12y agoExplain → -
node-libs-browser ⑂
The node core libs for in browser usage.
JavaScript ★ 0 11y agoExplain → -
fluxible ⑂
A pluggable container for isomorphic flux applications
JavaScript ★ 0 11y agoExplain → -
classnames ⑂
A simple javascript utility for conditionally joining classNames together
JavaScript ★ 0 11y agoExplain → -
jsx-test ⑂
An easy way to test your React Components (`.jsx` files).
JavaScript ★ 0 11y agoExplain → -
fetchr ⑂
Fetchr augments applications by allowing the same syntax to be used on the server and client to fetch data.
JavaScript ★ 0 11y agoExplain → -
fluxible-immutable-utils ⑂
A mixin that provides a convenient interface for using Immutable.js inside react components
JavaScript ★ 0 11y agoExplain → -
jspm-cli ⑂
Package management CLI
JavaScript ★ 0 11y agoExplain → -
react-simpletabs ⑂
Just a simple tabs component built with React
JavaScript ★ 0 11y agoExplain → -
pre-commit ⑂
Automatically installs a git pre-commit script in your git repository which runs your `npm test` on pre-commit
JavaScript ★ 0 11y agoExplain → -
im-native
Node ImageMagick Native module
JavaScript ★ 0 11y agoExplain → -
homebrew ⑂
The missing package manager for OS X.
Ruby ★ 0 11y agoExplain → -
aggregator
Search aggregator
JavaScript ★ 0 11y agoExplain → -
director ⑂
a tiny and isomorphic URL router for JavaScript
JavaScript ★ 0 11y agoExplain → -
gm ⑂
GraphicsMagick for node
JavaScript ★ 0 11y agoExplain → -
js-must-watch ⑂
Must-watch videos about javascript
★ 0 12y agoExplain → -
grunt-jsdoc ⑂
A grunt plugin to generate javascript doc by running jsdoc3 on your grunt projects.
JavaScript ★ 0 10y agoExplain → -
es5-shim ⑂
ECMAScript 5 compatibility shims for legacy JavaScript engines
JavaScript ★ 0 12y agoExplain → -
audiovisual
Visualizer for Flowplayer
ActionScript ★ 0 12y agoExplain → -
easyXDM ⑂
A javascript library providing cross-browser, cross-site messaging/method invocation.
JavaScript ★ 0 12y agoExplain → -
js-structs
Data Structures in JavaScript
JavaScript ★ 0 13y agoExplain → -
cews
Simple wrapper for express that has a bunch of dependencies, ready for use
JavaScript ★ 0 13y agoExplain → -
grunt-contrib-requirejs ⑂
Optimize RequireJS projects using r.js.
JavaScript ★ 0 12y agoExplain → -
pytest-cache
Mirror of https://bitbucket.org/hpk42/pytest-cache and improvements
Python ★ 0 13y agoExplain → -
node-perf
Node Performance monitor stuff
JavaScript ★ 0 13y agoExplain → -
webdriverplus ⑂
Improved Selenium WebDriver for Python
Python ★ 0 13y agoExplain → -
flowplayer ⑂
Flowplayer Flash, the video player for the Web
ActionScript ★ 0 13y agoExplain → -
flowplayer-3.2.7 ⑂
My branch of flowplayer-3.2.7 with heavy modifications and fixes
ActionScript ★ 0 13y agoExplain →
No repos match these filters.