피드로 돌아가기
Dev.toBackend
원문 읽기
Rhino to V8 런타임 전환을 통한 현대적 JS 문법 도입 및 파싱 오류 해결
Switch an old script from Rhino to the V8 runtime
AI 요약
Context
구형 Rhino 런타임 기반의 Apps Script 환경에서 최신 JavaScript 표준 문법 도입 필요성 증대. 단, V8 런타임의 전역 파싱 특성으로 인해 단 하나의 구문 오류가 전체 프로젝트 초기화를 차단하는 가용성 리스크 존재.
Technical Solution
- appsscript.json 내 runtimeVersion 설정을 통한 런타임 환경 제어
- V8의 Parse-time Failure 특성을 고려한 사전 정적 분석 및 구문 치환
- Rhino 전용 문법인 for each, XML literals, __iterator__를 ES 표준 문법으로 전면 교체
- DEPRECATED_ES5 설정의 하위 호환성을 이용한 파일 단위 점진적 마이그레이션 전략 수립
- 수동 함수 실행을 통한 Execution Log 검증으로 트리거 정상 작동 여부 확정
- V8 런타임 채택을 통한 async/await, Optional Chaining 등 최신 ES2019+ 기능 확보
실천 포인트
1. 전체 .gs 파일 대상 for each 및 XML 리터럴 문자열 검색 및 제거
2. appsscript.json의 runtimeVersion을 V8로 변경 후 수동 실행 테스트 수행
3. 파싱 에러 발생 시 즉시 DEPRECATED_ES5로 롤백하여 서비스 가용성 유지
4. 로컬 에디터를 활용한 멀티 파일 전역 검색으로 Rhino 전용 구문 전수 조사