From 70ac7dce95931ffeecc8821550b1b1bf645a18ba Mon Sep 17 00:00:00 2001 From: Gigi Date: Fri, 7 Nov 2025 19:01:01 +0100 Subject: [PATCH] fix: add .js extensions to ESM imports for Vercel compatibility ESM requires explicit file extensions in import paths. Add .js extensions to all relative imports in API files and services, even though source files are .ts (they compile to .js). This fixes ERR_MODULE_NOT_FOUND errors on Vercel. --- api/article-og-refresh.ts | 4 ++-- api/article-og.ts | 6 +++--- api/services/articleMeta.ts | 6 +++--- api/services/ogHtml.ts | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api/article-og-refresh.ts b/api/article-og-refresh.ts index da2475cf..efce6fea 100644 --- a/api/article-og-refresh.ts +++ b/api/article-og-refresh.ts @@ -1,6 +1,6 @@ import type { VercelRequest, VercelResponse } from '@vercel/node' -import { setArticleMeta } from './services/ogStore' -import { fetchArticleMetadataViaRelays } from './services/articleMeta' +import { setArticleMeta } from './services/ogStore.js' +import { fetchArticleMetadataViaRelays } from './services/articleMeta.js' export default async function handler(req: VercelRequest, res: VercelResponse) { // Validate refresh secret diff --git a/api/article-og.ts b/api/article-og.ts index 38b1e399..5fbd7d65 100644 --- a/api/article-og.ts +++ b/api/article-og.ts @@ -1,7 +1,7 @@ import type { VercelRequest, VercelResponse } from '@vercel/node' -import { getArticleMeta, setArticleMeta } from './services/ogStore' -import { fetchArticleMetadataViaGateway } from './services/articleMeta' -import { generateHtml } from './services/ogHtml' +import { getArticleMeta, setArticleMeta } from './services/ogStore.js' +import { fetchArticleMetadataViaGateway } from './services/articleMeta.js' +import { generateHtml } from './services/ogHtml.js' function setCacheHeaders(res: VercelResponse, maxAge: number = 86400): void { res.setHeader('Cache-Control', `public, max-age=${maxAge}, s-maxage=604800`) diff --git a/api/services/articleMeta.ts b/api/services/articleMeta.ts index d5cc3f89..f3101704 100644 --- a/api/services/articleMeta.ts +++ b/api/services/articleMeta.ts @@ -5,9 +5,9 @@ import { nip19 } from 'nostr-tools' import { AddressPointer } from 'nostr-tools/nip19' import { NostrEvent, Filter } from 'nostr-tools' import { Helpers } from 'applesauce-core' -import { extractProfileDisplayName } from '../../lib/profile' -import { RELAYS } from '../../src/config/relays' -import type { ArticleMetadata } from './ogStore' +import { extractProfileDisplayName } from '../../lib/profile.js' +import { RELAYS } from '../../src/config/relays.js' +import type { ArticleMetadata } from './ogStore.js' const { getArticleTitle, getArticleImage, getArticleSummary } = Helpers diff --git a/api/services/ogHtml.ts b/api/services/ogHtml.ts index dfeba43f..53d46a06 100644 --- a/api/services/ogHtml.ts +++ b/api/services/ogHtml.ts @@ -1,4 +1,4 @@ -import type { ArticleMetadata } from './ogStore' +import type { ArticleMetadata } from './ogStore.js' export function escapeHtml(text: string): string { return text