A package to use Vercelʼs typefaces, Geist- Sans & Mono (v 1.4), for non-Next.js projects.
I tried to use Geist in a React project, it errored out (it depends on next/font). I like the flexibility a package offers - not having to manage assets (or dependencies); I take it a lot of devs prefer this, maybe.
Now, itʼs not even a hassle to @font-face a font (or typeface), itʼs even easier with variable fonts. Regardless, itʼs a solid nice-to-have (package).
npm i non.geistyarn add non.geistpnpm i non.geistbun add non.geistThe default import provides variable fonts.
In your entry .js(x) or .ts(x) file, you can import like so:
import 'non.geist'
// For Geist Mono
import 'non.geist/mono'then,
body {
font-family: 'Geist Variable';
/* For Geist Mono */
font-family: 'Geist Mono Variable';
}or do it in CSS directly
@import url('non.geist');
body {
font-family: 'Geist Variable';
}
/* For Geist Mono */
@import url('non.geist/mono');
font-family: 'Geist Mono Variable';Variable fonts all the way, but if you need Geist sans individual weights:
import 'non.geist/font-faces/Geist-Black.css'
import 'non.geist/font-faces/Geist-Bold.css'
import 'non.geist/font-faces/Geist-Light.css'
import 'non.geist/font-faces/Geist-Medium.css'
import 'non.geist/font-faces/Geist-Regular.css'
import 'non.geist/font-faces/Geist-SemiBold.css'
import 'non.geist/font-faces/Geist-Thin.css'
import 'non.geist/font-faces/Geist-UltraBlack.css'
import 'non.geist/font-faces/Geist-UltraLight.css'For Geist Mono:
import 'non.geist/font-faces/GeistMono-Black.css'
import 'non.geist/font-faces/GeistMono-Bold.css'
import 'non.geist/font-faces/GeistMono-Light.css'
import 'non.geist/font-faces/GeistMono-Medium.css'
import 'non.geist/font-faces/GeistMono-Regular.css'
import 'non.geist/font-faces/GeistMono-SemiBold.css'
import 'non.geist/font-faces/GeistMono-Thin.css'
import 'non.geist/font-faces/GeistMono-UltraBlack.css'
import 'non.geist/font-faces/Geist-MonoUltraLight.css'font-family values for individual weights:
@import url('non.geist/font-faces/Geist-Bold.css');
font-family: 'Geist-Bold';
/* Geist Mono */
@import url('non.geist/font-faces/GeistMono-Bold.css');
font-family: 'GeistMono-Bold';Additional @font-face rules:
font-display: swap;
font-synthesis: none;To explore the typefaces stylistic sets, use CSS's font-feature-settings property.
Thank you Vercel
To install dependencies:
bun installTo run:
cd ./scripts
bun run index.tsThis project was created using bun init in bun v1.0.3. Bun is a fast all-in-one JavaScript runtime.

