@molecule/app-fonts-jetbrains-mono
Provider bond · fonts · App (browser) · v1.0.3 · Apache-2.0
Developer-focused monospace font with ligatures (local fonts)
npm install @molecule/app-fonts-jetbrains-mononpm · Source on GitHub · Implements @molecule/app-fonts
How it works
@molecule/app-fonts-jetbrains-mono is a provider bond on the app (browser) side: it implements the fonts core interface (@molecule/app-fonts) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { setFont } from '@molecule/app-fonts'
import { font as mono } from '@molecule/app-fonts-jetbrains-mono'
setFont(mono) // once, at app startup — before first paintWorks with: @molecule/app-fonts
Reference
JetBrains Mono font bond for molecule.dev — a developer-focused monospace
font. Exports a ready-made FontDefinition (font, role mono) with
locally-served TTF faces (regular 400, bold 700, variable 100-800).
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Quick Start
import { setFont } from '@molecule/app-fonts'
import { font as mono } from '@molecule/app-fonts-jetbrains-mono'
setFont(mono) // once, at app startup — before first paint
Type
provider
Installation
npm install @molecule/app-fonts-jetbrains-mono @molecule/app-fonts
API
Constants
font
JetBrains Mono font definition — developer-focused monospace font.
const font: FontDefinition
Core Interface
Implements @molecule/app-fonts interface.
Injection Notes
Requirements
Peer dependencies:
@molecule/app-fonts^1.0.1
Runtime Dependencies
-
@molecule/app-fonts -
Fills the
monorole only (--mol-font-mono— code blocks, editors, terminals). It does not change the app's body font; pair with a sans bond (e.g.@molecule/app-fonts-inter) for UI text. -
Wire with
setFont()from@molecule/app-fonts, never a rawbond('font', …)—setFont()sets the CSS variable and injects the@font-facerules; a raw bond renders nothing. -
Wiring it without
mlcl(the sandbox): the package is already installed undernode_modules— add an"@molecule/app-fonts-jetbrains-mono"dependency to the app'spackage.json(pin the version already installed there), then inapp/src/bonds/index.tscallsetFont(mono). Preferred: import each face as an asset so nothing is copied (one import per entry offont.source.faces) —import face0 from '@molecule/app-fonts-jetbrains-mono/fonts/JetBrainsMono-Regular.ttf?url'thensetFont({ ...mono, source: { type: 'local', faces: [{ file: face0, weight: 400 }] } }), one entry per import.setFont()uses afilestarting with/,httpordata:as-is. Without asset imports, copynode_modules/@molecule/app-fonts-jetbrains-mono/fonts/*toapp/public/fonts/and callsetFont(mono)— plain filenames are served from<basePath>fonts/<file>.