@@ -59,6 +59,7 @@ export default defineNuxtConfig({
5959 app : {
6060 head : {
6161 htmlAttrs : { lang : 'en-US' } ,
62+ title : 'npmx' ,
6263 link : [
6364 {
6465 rel : 'search' ,
@@ -85,8 +86,10 @@ export default defineNuxtConfig({
8586 routeRules : {
8687 '/' : { prerender : true } ,
8788 '/opensearch.xml' : { isr : true } ,
88- '/**' : { isr : 60 } ,
89- '/package/**' : { isr : 60 } ,
89+ '/**' : { isr : getISRConfig ( 60 , true ) } ,
90+ '/api/**' : { isr : 60 } ,
91+ '/200.html' : { prerender : true } ,
92+ '/package/**' : { isr : getISRConfig ( 60 , true ) } ,
9093 '/:pkg/.well-known/skills/**' : { isr : 3600 } ,
9194 '/:scope/:pkg/.well-known/skills/**' : { isr : 3600 } ,
9295 // never cache
@@ -279,3 +282,15 @@ export default defineNuxtConfig({
279282 dirs : [ '~/composables' , '~/composables/*/*.ts' ] ,
280283 } ,
281284} )
285+
286+ function getISRConfig ( expirationSeconds : number , fallback = false ) {
287+ if ( fallback ) {
288+ return {
289+ expiration : expirationSeconds ,
290+ fallback : 'spa.prerender-fallback.html' ,
291+ } as { expiration : number }
292+ }
293+ return {
294+ expiration : expirationSeconds ,
295+ }
296+ }
0 commit comments