diff --git a/apps/playground-prompt-engineering/uno.config.ts b/apps/playground-prompt-engineering/uno.config.ts index ac0e80c06..df19debe1 100644 --- a/apps/playground-prompt-engineering/uno.config.ts +++ b/apps/playground-prompt-engineering/uno.config.ts @@ -1,3 +1,20 @@ -import { sharedUnoConfig } from '../../uno.config' +import { mergeConfigs, presetWebFonts } from 'unocss' -export default sharedUnoConfig() +import { presetWebFontsFonts, sharedUnoConfig } from '../../uno.config' + +export default mergeConfigs([ + sharedUnoConfig(), + { + presets: [ + presetWebFonts({ + fonts: { + ...presetWebFontsFonts('fontsource'), + }, + timeouts: { + warning: 5000, + failure: 10000, + }, + }), + ], + }, +]) diff --git a/apps/realtime-audio/uno.config.ts b/apps/realtime-audio/uno.config.ts index 241b30eaa..1a4cd9bc0 100644 --- a/apps/realtime-audio/uno.config.ts +++ b/apps/realtime-audio/uno.config.ts @@ -9,6 +9,8 @@ import { transformerVariantGroup, } from 'unocss' +import { presetWebFontsFonts } from '../../uno.config' + export default defineConfig({ presets: [ presetWind3(), @@ -16,9 +18,7 @@ export default defineConfig({ presetTypography(), presetWebFonts({ fonts: { - sans: 'DM Sans', - serif: 'DM Serif Display', - mono: 'DM Mono', + ...presetWebFontsFonts('fontsource'), }, timeouts: { warning: 5000, diff --git a/apps/stage-tamagotchi/uno.config.ts b/apps/stage-tamagotchi/uno.config.ts index a58ed7a68..8625102dd 100644 --- a/apps/stage-tamagotchi/uno.config.ts +++ b/apps/stage-tamagotchi/uno.config.ts @@ -1,7 +1,7 @@ import { createLocalFontProcessor } from '@unocss/preset-web-fonts/local' import { defineConfig, mergeConfigs, presetWebFonts } from 'unocss' -import { sharedUnoConfig } from '../../uno.config' +import { presetWebFontsFonts, sharedUnoConfig } from '../../uno.config' export default mergeConfigs([ sharedUnoConfig(), @@ -9,54 +9,7 @@ export default mergeConfigs([ presets: [ presetWebFonts({ fonts: { - 'sans': { - name: 'DM Sans Variable', - provider: 'none', - }, - 'serif': { - name: 'DM Serif Display', - provider: 'none', - }, - 'mono': { - name: 'DM Mono', - provider: 'none', - }, - 'cute': { - name: 'Kiwi Maru', - provider: 'none', - }, - 'cuteen': { - name: 'Sniglet', - provider: 'none', - }, - 'jura': { - name: 'Jura Variable', - provider: 'none', - }, - 'gugi': { - name: 'Gugi', - provider: 'none', - }, - 'quicksand': { - name: 'Quicksand Variable', - provider: 'none', - }, - 'quanlai': { - name: 'cjkfonts AllSeto', - provider: 'none', - }, - 'xiaolai': { - name: 'Xiaolai SC', - provider: 'none', - }, - 'urbanist': { - name: 'Urbanist Variable', - provider: 'none', - }, - 'm-plus-rounded': { - name: 'M PLUS Rounded 1c', - provider: 'none', - }, + ...presetWebFontsFonts('none'), }, timeouts: { warning: 5000, diff --git a/apps/stage-web/uno.config.ts b/apps/stage-web/uno.config.ts index 5a5518e8f..693fbd0ef 100644 --- a/apps/stage-web/uno.config.ts +++ b/apps/stage-web/uno.config.ts @@ -1,6 +1,6 @@ import { mergeConfigs, presetWebFonts } from 'unocss' -import { sharedUnoConfig } from '../../uno.config' +import { presetWebFontsFonts, sharedUnoConfig } from '../../uno.config' export default mergeConfigs([ sharedUnoConfig(), @@ -8,54 +8,7 @@ export default mergeConfigs([ presets: [ presetWebFonts({ fonts: { - 'sans': { - name: 'DM Sans Variable', - provider: 'fontsource', - }, - 'serif': { - name: 'DM Serif Display', - provider: 'fontsource', - }, - 'mono': { - name: 'DM Mono', - provider: 'fontsource', - }, - 'cute': { - name: 'Kiwi Maru', - provider: 'fontsource', - }, - 'cuteen': { - name: 'Sniglet', - provider: 'fontsource', - }, - 'jura': { - name: 'Jura Variable', - provider: 'fontsource', - }, - 'gugi': { - name: 'Gugi', - provider: 'fontsource', - }, - 'quicksand': { - name: 'Quicksand Variable', - provider: 'fontsource', - }, - 'quanlai': { - name: 'cjkfonts AllSeto', - provider: 'none', - }, - 'xiaolai': { - name: 'Xiaolai SC', - provider: 'none', - }, - 'urbanist': { - name: 'Urbanist Variable', - provider: 'fontsource', - }, - 'm-plus-rounded': { - name: 'M PLUS Rounded 1c', - provider: 'fontsource', - }, + ...presetWebFontsFonts('fontsource'), }, timeouts: { warning: 5000, diff --git a/uno.config.ts b/uno.config.ts index 3b2d29c7e..80fd7c414 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -1,3 +1,4 @@ +import type { WebFontMeta } from '@unocss/preset-web-fonts' import type { Preset, PresetOrFactoryAwaitable } from 'unocss' import { setDefaultAutoSelectFamilyAttemptTimeout } from 'node:net' @@ -5,7 +6,7 @@ import { setDefaultAutoSelectFamilyAttemptTimeout } from 'node:net' import { createExternalPackageIconLoader } from '@iconify/utils/lib/loader/external-pkg' import { presetChromatic } from '@proj-airi/unocss-preset-chromatic' import { colorToString } from '@unocss/preset-mini/utils' -import { defineConfig, mergeConfigs, presetAttributify, presetIcons, presetTypography, presetWebFonts, presetWind3, transformerDirectives, transformerVariantGroup } from 'unocss' +import { defineConfig, mergeConfigs, presetAttributify, presetIcons, presetTypography, presetWind3, transformerDirectives, transformerVariantGroup } from 'unocss' import { presetScrollbar } from 'unocss-preset-scrollbar' import { parseColor } from 'unocss/preset-mini' @@ -67,72 +68,65 @@ export function safelistAllPrimaryBackgrounds(): string[] { ] } +export function presetWebFontsFonts(provider: 'fontsource' | 'none'): Record { + return { + 'sans': { + name: provider === 'fontsource' ? 'DM Sans' : 'DM Sans Variable', + provider, + }, + 'serif': { + name: 'DM Serif Display', + provider, + }, + 'mono': { + name: 'DM Mono', + provider, + }, + 'cute': { + name: 'Kiwi Maru', + provider, + }, + 'cuteen': { + name: 'Sniglet', + provider, + }, + 'jura': { + name: provider === 'fontsource' ? 'Jura' : 'Jura Variable', + provider, + }, + 'gugi': { + name: 'Gugi', + provider, + }, + 'quicksand': { + name: provider === 'fontsource' ? 'Quicksand' : 'Quicksand Variable', + provider, + }, + 'urbanist': { + name: provider === 'fontsource' ? 'Urbanist' : 'Urbanist Variable', + provider, + }, + 'm-plus-rounded': { + name: 'M PLUS Rounded 1c', + provider, + }, + 'quanlai': { + name: 'cjkfonts AllSeto', + provider: 'none', + }, + 'xiaolai': { + name: 'Xiaolai SC', + provider: 'none', + }, + } +} + export function sharedUnoConfig() { return defineConfig({ presets: [ presetWind3(), presetAttributify(), presetTypography(), - presetWebFonts({ - fonts: { - 'sans': { - name: 'DM Sans', - provider: 'fontsource', - }, - 'sans-rounded': { - name: 'Comfortaa', - provider: 'fontsource', - }, - 'serif': { - name: 'DM Serif Display', - provider: 'fontsource', - }, - 'mono': { - name: 'DM Mono', - provider: 'fontsource', - }, - 'cute': { - name: 'Kiwi Maru', - provider: 'fontsource', - }, - 'cuteen': { - name: 'Sniglet', - provider: 'fontsource', - }, - 'jura': { - name: 'Jura', - provider: 'fontsource', - }, - 'gugi': { - name: 'Gugi', - provider: 'fontsource', - }, - 'quicksand': { - name: 'Quicksand', - provider: 'fontsource', - }, - 'quanlai': { - name: 'cjkfonts AllSeto', - provider: 'none', - }, - 'xiaolai': { - name: 'Xiaolai SC', - provider: 'none', - }, - 'urbanist': { - name: 'Urbanist', - provider: 'fontsource', - }, - 'm-plus-rounded': { - name: 'M PLUS Rounded 1c', - provider: 'fontsource', - }, - }, - timeouts: { - warning: 5000, - failure: 10000, - }, - }), presetIcons({ scale: 1.2, collections: {