fix: move OG service files to api/services for Vercel compatibility

- Move ogStore, ogHtml, and articleMeta from src/services/ to api/services/
- Update imports in article-og.ts and article-og-refresh.ts
- Update import paths in articleMeta.ts (lib/profile and src/config/relays)
- Remove old files from src/services/
- Clean up ESLint config to only reference api/**/*.ts

This fixes the ERR_MODULE_NOT_FOUND error on Vercel by ensuring
serverless functions can access the service modules.
This commit is contained in:
Gigi
2025-11-07 18:52:30 +01:00
parent a73c7db9d3
commit f982781dd8
6 changed files with 7 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
import type { VercelRequest, VercelResponse } from '@vercel/node' import type { VercelRequest, VercelResponse } from '@vercel/node'
import { setArticleMeta } from '../src/services/ogStore' import { setArticleMeta } from './services/ogStore'
import { fetchArticleMetadataViaRelays } from '../src/services/articleMeta' import { fetchArticleMetadataViaRelays } from './services/articleMeta'
export default async function handler(req: VercelRequest, res: VercelResponse) { export default async function handler(req: VercelRequest, res: VercelResponse) {
// Validate refresh secret // Validate refresh secret

View File

@@ -1,7 +1,7 @@
import type { VercelRequest, VercelResponse } from '@vercel/node' import type { VercelRequest, VercelResponse } from '@vercel/node'
import { getArticleMeta, setArticleMeta } from '../src/services/ogStore' import { getArticleMeta, setArticleMeta } from './services/ogStore'
import { fetchArticleMetadataViaGateway } from '../src/services/articleMeta' import { fetchArticleMetadataViaGateway } from './services/articleMeta'
import { generateHtml } from '../src/services/ogHtml' import { generateHtml } from './services/ogHtml'
function setCacheHeaders(res: VercelResponse, maxAge: number = 86400): void { function setCacheHeaders(res: VercelResponse, maxAge: number = 86400): void {
res.setHeader('Cache-Control', `public, max-age=${maxAge}, s-maxage=604800`) res.setHeader('Cache-Control', `public, max-age=${maxAge}, s-maxage=604800`)

View File

@@ -6,7 +6,7 @@ import { AddressPointer } from 'nostr-tools/nip19'
import { NostrEvent, Filter } from 'nostr-tools' import { NostrEvent, Filter } from 'nostr-tools'
import { Helpers } from 'applesauce-core' import { Helpers } from 'applesauce-core'
import { extractProfileDisplayName } from '../../lib/profile' import { extractProfileDisplayName } from '../../lib/profile'
import { RELAYS } from '../config/relays' import { RELAYS } from '../../src/config/relays'
import type { ArticleMetadata } from './ogStore' import type { ArticleMetadata } from './ogStore'
const { getArticleTitle, getArticleImage, getArticleSummary } = Helpers const { getArticleTitle, getArticleImage, getArticleSummary } = Helpers

View File

@@ -107,11 +107,7 @@
}, },
"overrides": [ "overrides": [
{ {
"files": [ "files": ["api/**/*.ts"],
"api/**/*.ts",
"src/services/ogStore.ts",
"src/services/articleMeta.ts"
],
"env": { "env": {
"node": true, "node": true,
"browser": false "browser": false