1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-26 04:45:22 -04:00

seize back control over geist font loaders

This commit is contained in:
Jake Jarvis 2024-02-26 14:35:59 -05:00
parent dbde73c63c
commit 815059a9e2
Signed by: jake
SSH Key Fingerprint: SHA256:nCkvAjYA6XaSPUqc4TfbBQTpzr8Xj7ritg/sGInCdkc
6 changed files with 85 additions and 53 deletions

View File

@ -1,3 +1,22 @@
import { GeistMono } from "geist/font/mono";
import localFont from "next/font/local";
const GeistMono = localFont({
src: "../../../../node_modules/geist/dist/fonts/geist-mono/GeistMono-Variable.woff2",
weight: "100 900",
style: "normal",
display: "swap",
fallback: [
// https://github.com/system-fonts/modern-font-stacks#monospace-code
"ui-monospace",
"'Cascadia Code'",
"'Source Code Pro'",
"Menlo",
"Consolas",
"'DejaVu Sans Mono'",
"monospace",
],
adjustFontFallback: false,
preload: true,
});
export default GeistMono;

View File

@ -1,3 +1,17 @@
import { GeistSans } from "geist/font/sans";
import localFont from "next/font/local";
const GeistSans = localFont({
src: "../../../../node_modules/geist/dist/fonts/geist-sans/Geist-Variable.woff2",
weight: "100 900",
style: "normal",
display: "swap",
fallback: [
// https://github.com/system-fonts/modern-font-stacks#system-ui
"system-ui",
"sans-serif",
],
adjustFontFallback: false,
preload: true,
});
export default GeistSans;

View File

@ -23,8 +23,8 @@ export const {
} = createStitches({
theme: {
fonts: {
sans: `${GeistSans.style.fontFamily}, sans-serif`,
mono: `${GeistMono.style.fontFamily}, monospace`,
sans: GeistSans.style.fontFamily,
mono: GeistMono.style.fontFamily,
},
colors: {

View File

@ -12,7 +12,6 @@ const nextConfig = {
productionBrowserSourceMaps: true,
transpilePackages: [
"@novnc/novnc",
"geist", // https://github.com/vercel/geist-font/issues/13#issuecomment-1798598309
"react-tweet", // https://react-tweet.vercel.app/next#troubleshooting
],
env: {

View File

@ -79,8 +79,8 @@
"@types/react": "^18.2.58",
"@types/react-dom": "^18.2.19",
"@types/react-is": "^18.2.4",
"@typescript-eslint/eslint-plugin": "^7.0.2",
"@typescript-eslint/parser": "^7.0.2",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
"cross-env": "^7.0.3",
"eslint": "~8.57.0",
"eslint-config-next": "14.1.0",

92
pnpm-lock.yaml generated
View File

@ -190,11 +190,11 @@ devDependencies:
specifier: ^18.2.4
version: 18.2.4
'@typescript-eslint/eslint-plugin':
specifier: ^7.0.2
version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3)
specifier: ^7.1.0
version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser':
specifier: ^7.0.2
version: 7.0.2(eslint@8.57.0)(typescript@5.3.3)
specifier: ^7.1.0
version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
cross-env:
specifier: ^7.0.3
version: 7.0.3
@ -1078,8 +1078,8 @@ packages:
/@types/unist@3.0.2:
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
/@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==}
/@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
@ -1090,11 +1090,11 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.10.0
'@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 7.0.2
'@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 7.0.2
'@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/scope-manager': 7.1.0
'@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
eslint: 8.57.0
graphemer: 1.4.0
@ -1128,8 +1128,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==}
/@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^8.56.0
@ -1138,10 +1138,10 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 7.0.2
'@typescript-eslint/types': 7.0.2
'@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 7.0.2
'@typescript-eslint/scope-manager': 7.1.0
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
eslint: 8.57.0
typescript: 5.3.3
@ -1157,16 +1157,16 @@ packages:
'@typescript-eslint/visitor-keys': 6.21.0
dev: true
/@typescript-eslint/scope-manager@7.0.2:
resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==}
/@typescript-eslint/scope-manager@7.1.0:
resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 7.0.2
'@typescript-eslint/visitor-keys': 7.0.2
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/visitor-keys': 7.1.0
dev: true
/@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==}
/@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^8.56.0
@ -1175,8 +1175,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
'@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
'@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.0.3(typescript@5.3.3)
@ -1190,8 +1190,8 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
/@typescript-eslint/types@7.0.2:
resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==}
/@typescript-eslint/types@7.1.0:
resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: true
@ -1217,8 +1217,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3):
resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==}
/@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3):
resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
@ -1226,8 +1226,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 7.0.2
'@typescript-eslint/visitor-keys': 7.0.2
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/visitor-keys': 7.1.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@ -1239,8 +1239,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==}
/@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^8.56.0
@ -1248,9 +1248,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
'@types/json-schema': 7.0.15
'@types/semver': 7.5.6
'@typescript-eslint/scope-manager': 7.0.2
'@typescript-eslint/types': 7.0.2
'@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3)
'@typescript-eslint/scope-manager': 7.1.0
'@typescript-eslint/types': 7.1.0
'@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
eslint: 8.57.0
semver: 7.5.4
transitivePeerDependencies:
@ -1266,11 +1266,11 @@ packages:
eslint-visitor-keys: 3.4.3
dev: true
/@typescript-eslint/visitor-keys@7.0.2:
resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==}
/@typescript-eslint/visitor-keys@7.1.0:
resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 7.0.2
'@typescript-eslint/types': 7.1.0
eslint-visitor-keys: 3.4.3
dev: true
@ -1978,7 +1978,7 @@ packages:
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.57.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0)
eslint-plugin-react: 7.33.2(eslint@8.57.0)
eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
@ -2018,7 +2018,7 @@ packages:
enhanced-resolve: 5.15.0
eslint: 8.57.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)
eslint-plugin-import: 2.28.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.2
is-core-module: 2.13.0
@ -2085,7 +2085,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
/eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
@ -2106,7 +2106,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
debug: 3.2.7
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
@ -2114,7 +2114,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@7.0.2)(eslint@8.57.0):
/eslint-plugin-import@2.28.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0):
resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==}
engines: {node: '>=4'}
peerDependencies:
@ -2124,7 +2124,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3)
'@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
array.prototype.flat: 1.3.2
@ -2133,7 +2133,7 @@ packages:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
has: 1.0.4
is-core-module: 2.13.0
is-glob: 4.0.3