노드.js(Node.js) 대체재로 개발된 자바스크립트/타입스크립트 런타임의 최신 버전이 출시됐다. 이번 릴리즈에서는 테스트 모듈을 격리해 실행할 수 있는 기능을 비롯해 여러 테스트 관련 개선사항이 도입됐다.
디노(Deno) 버전 1.10이 지난 5월 11일(현지 시각) 공개됐다. 기본 테스트 러너가 대대적으로 개편됐으며 이 밖에 웹 스토리지 API 추가, 원격 가져오기 맵 지원 등을 제공한다고 개발팀은 밝혔다.
개발팀에 따르면 이제 deno test 테스트 러너는 검색된 테스트 모듈을 각 모듈의 새로운 런타임 인스턴스를 사용해 격리된 상태로 실행할 수 있다. 이전에는 단일 런타임 인스턴스 내에서 순차적으로 테스트를 실행했다. 사용할 스레드 수를 지정하는 –jobs 플래그도 지원한다. 기본적으로 테스트는 계속해서 순차적으로 실행된다.
또 테스트를 위한 구성할 수 있는 권한, 문서 주석에 검사 코드 예제를 입력하는 --doc 플래그, 관련 테스트 케이스 재실행을 위해 파일 변경사항을 검토하는 --watch 플래그, 개선된 테스트 러너 출력 등도 제공된다. 다음번 릴리즈에서는 코드 예제를 정기적으로 테스트할 수 있는 기능을 추가할 예정이라고 개발팀은 덧붙였다.
이 밖에 디노 1.10의 새로운 기능 및 개선사항은 다음과 같다.
• 웹 작업자(Web Worker)가 구조화된 복제 알고리즘을 사용해 직렬화할 수 있는 모든 데이터를 허용하도록 변경됐다(웹 작업자를 사용하면 별도의 실행 환경에서 여러 비트의 자바스크립트, 타입스크립트, 웹 어셈블리를 동시에 실행할 수 있다. 작업자와 메인 스레드 간의 통신은 메시지를 전달해 수행된다).
• localStorage 및 sessionStorage로 구성된 웹 스토리지 API(Web Storage API) 지원이 추가됐다. 직접 파일 액세스 없이 소량의 데이터를 지속적으로 저장하는 데 사용할 수 있다.
• 웹 어셈블리의 원자 및 공유 메모리가 기본적으로 활성화된다.
• 마크다운(Markdown) 파일의 형식 지정을 건너뛸 수 있는 deno-fmt.ignore 지시문이 지원된다. deno-fmt는 dprint를 기반으로 자바스크립트, 타입스크립트, JSON, 마크다운 파일을 포맷할 수 있는 포맷터다.
• 이제 가져오기 맵을 로컬 파일 시스템에 저장하지 않아도 된다. 원격 가져오기 맵이 지원되며 HTTP를 통해 로드할 수 있다.
• 더 이상 CLI 기능에서 --unstable 플래그를 사용하지 않는다. 해당 플래그는 불안정한 런타임 API의 가용성만 제어한다. ciokr@idg.co.kr