diff --git a/docs/content/2.configuration.md b/docs/content/2.configuration.md index 4ee4105..53795d1 100644 --- a/docs/content/2.configuration.md +++ b/docs/content/2.configuration.md @@ -71,6 +71,7 @@ We still recommend to specify a `GITHUB_TOKEN`, especially if you are using a `p | `github.api` | `string` | https://api.github.com | GitHub API URL | | `github.remarkPlugin` | `boolean` | `false` | Whether or not to use the `@nuxt/content` plugin | | `github.parseContents ` | `boolean` | `true` | Whether or not to parse content (for instance readme or releases) | +| `github.disableCache` | `boolean` | `false` | Disable cache for data fetched from server routes | | `github.contributors` | `boolean` | `true` | Allow fetch of contributors data (create server routes) | | `github.maxContributors` | `number` | `100` | GitHub contributors max number of contributors to display | | `github.releases` | `boolean` | `true` | Allow fetch of releases data (create server routes) | diff --git a/src/module.ts b/src/module.ts index d9d6ce7..19090a3 100644 --- a/src/module.ts +++ b/src/module.ts @@ -8,6 +8,7 @@ export interface ModuleOptions extends GithubRepositoryOptions { repo?: string api?: string token?: string + disableCache?: boolean remarkPlugin?: boolean releases?: boolean contributors?: boolean @@ -46,6 +47,7 @@ export default defineNuxtModule({ branch: 'main', api: 'https://api.github.com', remarkPlugin: true, + disableCache: false, releases: true, contributors: true, maxContributors: 100, @@ -73,6 +75,7 @@ export default defineNuxtModule({ branch: options.branch || process.env.GITHUB_BRANCH, repo: options.repo || process.env.GITHUB_REPO, token: options.token || process.env.GITHUB_TOKEN, + disableCache: options.disableCache, parseContents: options.parseContents, maxContributors: options.maxContributors } diff --git a/src/runtime/server/api/contributors/file.ts b/src/runtime/server/api/contributors/file.ts index 6590971..91af1e7 100644 --- a/src/runtime/server/api/contributors/file.ts +++ b/src/runtime/server/api/contributors/file.ts @@ -5,8 +5,10 @@ import { GithubContributorsQuery } from '../../../types' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -18,8 +20,6 @@ if (process.env.NODE_ENV === 'development') { export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubContributorsQuery diff --git a/src/runtime/server/api/contributors/index.ts b/src/runtime/server/api/contributors/index.ts index f1ae3c1..08cc990 100644 --- a/src/runtime/server/api/contributors/index.ts +++ b/src/runtime/server/api/contributors/index.ts @@ -5,8 +5,10 @@ import { GithubContributorsQuery } from '../../../types' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -19,8 +21,6 @@ if (process.env.NODE_ENV === 'development') { // eslint-disable-next-line import/namespace export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubContributorsQuery diff --git a/src/runtime/server/api/readme.ts b/src/runtime/server/api/readme.ts index dcea3b7..7d9c83b 100644 --- a/src/runtime/server/api/readme.ts +++ b/src/runtime/server/api/readme.ts @@ -7,8 +7,10 @@ import { parseContent } from '#content/server' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -20,8 +22,6 @@ if (process.env.NODE_ENV === 'development') { export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubRepositoryOptions diff --git a/src/runtime/server/api/releases/index.ts b/src/runtime/server/api/releases/index.ts index e43324a..6c2ce49 100644 --- a/src/runtime/server/api/releases/index.ts +++ b/src/runtime/server/api/releases/index.ts @@ -5,8 +5,10 @@ import { GithubRawRelease, GithubReleasesQuery } from '../../../types' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -18,8 +20,6 @@ if (process.env.NODE_ENV === 'development') { export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubReleasesQuery diff --git a/src/runtime/server/api/releases/last.ts b/src/runtime/server/api/releases/last.ts index 6db0f8a..6c07331 100644 --- a/src/runtime/server/api/releases/last.ts +++ b/src/runtime/server/api/releases/last.ts @@ -5,8 +5,10 @@ import { GithubRawRelease, GithubRepositoryOptions } from '../../../types' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -18,8 +20,6 @@ if (process.env.NODE_ENV === 'development') { export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubRepositoryOptions diff --git a/src/runtime/server/api/repository.ts b/src/runtime/server/api/repository.ts index 1c5ce5a..368dd70 100644 --- a/src/runtime/server/api/repository.ts +++ b/src/runtime/server/api/repository.ts @@ -5,8 +5,10 @@ import { GithubRepository, GithubRepositoryOptions } from '../../types' // @ts-ignore import * as imports from '#imports' +const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github + let handler -if (process.env.NODE_ENV === 'development') { +if (process.env.NODE_ENV === 'development' || moduleConfig.disableCache) { // @ts-ignore // eslint-disable-next-line import/namespace handler = imports.defineEventHandler @@ -19,8 +21,6 @@ if (process.env.NODE_ENV === 'development') { // eslint-disable-next-line import/namespace export default handler( async ({ req }) => { - const moduleConfig: ModuleOptions = imports.useRuntimeConfig().github - // Get query const query = useQuery(req) as GithubRepositoryOptions