Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/danielroe/roe.dev. This is the code and content for my personal website, built in Nuxt. roe.dev
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546import { defu } from 'defu'import { defineNuxtModule, createResolver, addServerHandler } from 'nuxt/kit'
export default defineNuxtModule({ meta: { name: 'sync', configKey: 'sync', }, setup (_options, nuxt) { if (nuxt.options.test) return const resolver = createResolver(import.meta.url)
addServerHandler({ route: '/_tasks/sync', handler: resolver.resolve('./runtime/server/routes/_tasks/sync'), })
if (nuxt.options.dev) { // register task for local use nuxt.options.nitro.tasks = defu(nuxt.options.nitro.tasks, { sync: { handler: resolver.resolve('./runtime/server/tasks/sync'), }, }) return }
nuxt.options.nitro.prerender = nuxt.options.nitro.prerender || {} nuxt.options.nitro.prerender.routes = nuxt.options.nitro.prerender.routes || [] if (!nuxt.options.nitro.prerender.routes.includes('/_tasks/sync')) { nuxt.options.nitro.prerender.routes.push('/_tasks/sync') }
// Add to prerender routes nuxt.hook('nitro:init', nitro => { // prerender configuration only const nitroConfig = nitro.options._config nitroConfig.tasks = defu(nitroConfig.tasks, { sync: { handler: resolver.resolve('./runtime/server/tasks/sync'), }, }) }) },})