From 25585aa3dac12e5c0e43d4699e0c461cc9552a19 Mon Sep 17 00:00:00 2001 From: Pacharapol Withayasakpunt Date: Thu, 17 Dec 2020 23:44:06 +0700 Subject: [PATCH] make sure it can build --- packages/next/components/PostTeaser.tsx | 4 ++-- packages/next/server/db.ts | 24 +++++------------------- packages/next/server/index.ts | 3 ++- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/packages/next/components/PostTeaser.tsx b/packages/next/components/PostTeaser.tsx index d79ec82..57286a8 100644 --- a/packages/next/components/PostTeaser.tsx +++ b/packages/next/components/PostTeaser.tsx @@ -1,9 +1,9 @@ import { THEME } from '~/assets/global' import { formatDate } from '~/assets/util' -import { IPostTeaser } from '~/server/db' +import { IPost } from '~/server/db' import Link from 'next/link' -const PostTeaser = ({ post }: { post: IPostTeaser }) => { +const PostTeaser = ({ post }: { post: IPost }) => { return (

diff --git a/packages/next/server/db.ts b/packages/next/server/db.ts index cccf710..1614b31 100644 --- a/packages/next/server/db.ts +++ b/packages/next/server/db.ts @@ -1,6 +1,5 @@ /* eslint-disable import/no-mutable-exports */ -import idxJson from '~/build/idx.json' import Loki, { Collection } from 'lokijs' import lunr from 'lunr' import * as z from 'zod' @@ -42,22 +41,7 @@ export const zPost = z }) .merge(zMatterSerialized) -export type IPost = z.infer & { - path: string - title: string - content: string - excerptHtml: string - contentHtml: string -} - -export type IPostTeaser = { - path: string - date?: number - title: string - image?: string - content: string - excerptHtml: string -} +export type IPost = z.infer export interface IPostSearch { path: string @@ -76,13 +60,15 @@ export let dbPost: Collection export let idx: lunr.Index +export async function initLunr () { + return idx || lunr.Index.load(require('../build/idx.json')) +} + export async function initDatabase () { if (db) { return } - idx = lunr.Index.load(idxJson) - return new Promise((resolve) => { db = new Loki(buildPath('data.loki'), { autoload: true, diff --git a/packages/next/server/index.ts b/packages/next/server/index.ts index 60b1d2a..a2fbbb3 100644 --- a/packages/next/server/index.ts +++ b/packages/next/server/index.ts @@ -1,4 +1,4 @@ -import { dbPost, idx, initDatabase } from './db' +import { dbPost, idx, initDatabase, initLunr } from './db' export async function doSearch ({ q, @@ -10,6 +10,7 @@ export async function doSearch ({ page?: number }) { await initDatabase() + await initLunr() const perPage = 5 const offset = (page - 1) * perPage