Skip to content

Commit c06dd6d

Browse files
committed
fix: don't add font storage to runtime 🙈
1 parent 7b91b0d commit c06dd6d

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/assets.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import { hasProtocol, joinURL } from 'ufo'
99
import { extname, join } from 'pathe'
1010
import { filename } from 'pathe/utils'
1111
import { hash } from 'ohash'
12+
import { createStorage } from 'unstorage'
13+
import fsDriver from 'unstorage/drivers/fs-lite'
1214

1315
import { logger } from './logger'
1416
import { formatToExtension, parseFont } from './css/render'
@@ -54,11 +56,11 @@ export function setupPublicAssetStrategy (options: ModuleOptions['assets'] = {})
5456
const url = renderedFontURLs.get(event.path.slice(1))
5557
if (!url) { throw createError({ statusCode: 404 }) }
5658
const key = 'data:fonts:' + filename
57-
// Use nitro.storage to cache the font data between requests
58-
let res = await nitro.storage.getItemRaw(key)
59+
// Use storage to cache the font data between requests
60+
let res = await storage.getItemRaw(key)
5961
if (!res) {
6062
res = await fetch(url).then(r => r.arrayBuffer()).then(r => Buffer.from(r))
61-
await nitro.storage.setItemRaw(key, res)
63+
await storage.setItemRaw(key, res)
6264
}
6365
return res
6466
})
@@ -86,15 +88,13 @@ export function setupPublicAssetStrategy (options: ModuleOptions['assets'] = {})
8688
prerender: {
8789
ignore: [assetsBaseURL]
8890
},
89-
// TODO: refactor to use nitro storage when it can be cached between builds
90-
storage: {
91-
'data:fonts:': {
92-
driver: 'fs',
93-
base: 'node_modules/.cache/nuxt/fonts/data'
94-
}
95-
}
9691
} satisfies NitroConfig)
9792

93+
// TODO: refactor to use nitro storage when it can be cached between builds
94+
const storage = createStorage(fsDriver({
95+
base: 'node_modules/.cache/nuxt/fonts'
96+
}))
97+
9898
nuxt.hook('nitro:init', async (nitro) => {
9999
if (nuxt.options.dev) { return }
100100
nitro.hooks.hook('rollup:before', async () => {
@@ -103,16 +103,16 @@ export function setupPublicAssetStrategy (options: ModuleOptions['assets'] = {})
103103
let banner = false
104104
for (const [filename, url] of renderedFontURLs) {
105105
const key = 'data:fonts:' + filename
106-
// Use nitro.storage to cache the font data between builds
107-
let res = await nitro.storage.getItemRaw(key)
106+
// Use storage to cache the font data between builds
107+
let res = await storage.getItemRaw(key)
108108
if (!res) {
109109
if (!banner) {
110110
banner = true
111111
logger.info('Downloading fonts...')
112112
}
113113
logger.log(chalk.gray(' ├─ ' + url))
114114
res = await fetch(url).then(r => r.arrayBuffer()).then(r => Buffer.from(r))
115-
await nitro.storage.setItemRaw(key, res)
115+
await storage.setItemRaw(key, res)
116116
}
117117
await fsp.writeFile(join(cacheDir, filename), res)
118118
}

0 commit comments

Comments
 (0)