bible api: use SvelteKit static file handling instead of fs
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				CI / update (push) Failing after 5s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	CI / update (push) Failing after 5s
				
			Replace filesystem access with fetch request to leverage SvelteKit's built-in static file serving for the allioli.tsv bible data. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
		@@ -1,7 +1,5 @@
 | 
			
		||||
import { json, error } from '@sveltejs/kit';
 | 
			
		||||
import type { RequestHandler } from './$types';
 | 
			
		||||
import fs from 'fs';
 | 
			
		||||
import path from 'path';
 | 
			
		||||
 | 
			
		||||
interface BibleVerse {
 | 
			
		||||
  bookName: string;
 | 
			
		||||
@@ -15,14 +13,17 @@ interface BibleVerse {
 | 
			
		||||
// Cache for parsed verses to avoid reading file repeatedly
 | 
			
		||||
let cachedVerses: BibleVerse[] | null = null;
 | 
			
		||||
 | 
			
		||||
function loadVerses(): BibleVerse[] {
 | 
			
		||||
async function loadVerses(): Promise<BibleVerse[]> {
 | 
			
		||||
  if (cachedVerses) {
 | 
			
		||||
    return cachedVerses;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    const filePath = path.join(process.cwd(), 'static', 'allioli.tsv');
 | 
			
		||||
    const content = fs.readFileSync(filePath, 'utf-8');
 | 
			
		||||
    const response = await fetch('/allioli.tsv');
 | 
			
		||||
    if (!response.ok) {
 | 
			
		||||
      throw new Error(`HTTP error! status: ${response.status}`);
 | 
			
		||||
    }
 | 
			
		||||
    const content = await response.text();
 | 
			
		||||
    const lines = content.trim().split('\n');
 | 
			
		||||
    
 | 
			
		||||
    cachedVerses = lines.map(line => {
 | 
			
		||||
@@ -55,7 +56,7 @@ function formatVerse(verse: BibleVerse): string {
 | 
			
		||||
 | 
			
		||||
export const GET: RequestHandler = async () => {
 | 
			
		||||
  try {
 | 
			
		||||
    const verses = loadVerses();
 | 
			
		||||
    const verses = await loadVerses();
 | 
			
		||||
    const randomVerse = getRandomVerse(verses);
 | 
			
		||||
    
 | 
			
		||||
    return json({
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user