feat(WEB): Vercel 배포 대응 및 타입 안정성 개선
- puppeteer → puppeteer-core + @sparticuz/chromium 전환 (Vercel 서버리스 호환) - PDF 생성 API 로컬/Vercel 환경 분기 처리 - next.config.ts: ignoreBuildErrors false로 전환 - WorkOrder items에 orderNodeId/orderNodeName 필드 추가 - 결재선 데이터에 name/dept 필드 추가 - OrderSalesDetailView 타입 캐스팅 안전하게 수정 - vercel.json 설정 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import puppeteer from 'puppeteer';
|
||||
import puppeteer from 'puppeteer-core';
|
||||
import chromium from '@sparticuz/chromium';
|
||||
|
||||
/**
|
||||
* PDF 생성 API
|
||||
@@ -35,17 +36,20 @@ export async function POST(request: NextRequest) {
|
||||
);
|
||||
}
|
||||
|
||||
// Puppeteer 브라우저 실행 (Docker Alpine에서는 시스템 Chromium 사용)
|
||||
// 로컬 개발 vs Vercel 환경 분기
|
||||
const isVercel = process.env.VERCEL === '1';
|
||||
const browser = await puppeteer.launch({
|
||||
headless: true,
|
||||
executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || undefined,
|
||||
args: [
|
||||
args: isVercel ? chromium.args : [
|
||||
'--no-sandbox',
|
||||
'--disable-setuid-sandbox',
|
||||
'--disable-dev-shm-usage',
|
||||
'--disable-gpu',
|
||||
'--disable-software-rasterizer',
|
||||
],
|
||||
executablePath: isVercel
|
||||
? await chromium.executablePath()
|
||||
: process.env.PUPPETEER_EXECUTABLE_PATH || '/usr/bin/google-chrome-stable',
|
||||
headless: true,
|
||||
});
|
||||
|
||||
const page = await browser.newPage();
|
||||
|
||||
Reference in New Issue
Block a user