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.
TypeScript
at ci/nightly
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253import { addServerHandler, createResolver, defineNuxtModule, useNuxt,} from 'nuxt/kit'import { defu } from 'defu'
export default defineNuxtModule({ meta: { name: 'invites', }, defaults: { map: { // zen: 'danielroe/nailing-it-japan-2023', // vueconf: 'danielroe/nailing-it-vueconf-us-2023', } satisfies Record<string, string>, }, setup(options) { const nuxt = useNuxt() const resolver = createResolver(import.meta.url) const gitHubClientId = process.env.NUXT_PUBLIC_GITHUB_CLIENT_ID || nuxt.options.runtimeConfig.public.githubClientId
nuxt.options.runtimeConfig.invites = { map: options.map, }
nuxt.options.nitro.typescript = defu(nuxt.options.nitro.typescript, { include: ['../src/modules/runtime/server/**/*'], })
if (!gitHubClientId || Object.values(options.map).length === 0) return
const redirect = nuxt.options.dev ? '&redirect_uri=http://localhost:3000/auth/github' : '&redirect_uri=https://roe.dev/auth/github'
nuxt.options.nitro.routeRules ||= {} for (const slug in options.map) { nuxt.options.nitro.routeRules['/' + slug] = { redirect: `https://github.com/login/oauth/authorize?client_id=${gitHubClientId}${redirect}/${slug}`, } }
addServerHandler({ route: '/auth/github/:slug', handler: resolver.resolve('./runtime/server/auth/github/[slug]'), }) },})