소개
3va는 Rust로 작성된 JavaScript 및 TypeScript 런타임으로, 기본적으로 모든 권한을 차단하고 명시적으로 허용하는 보안 중심 설계를 제공합니다. OdinoCano가 개발한 이 런타임은 패키지 관리자, 프로세스 관리자, 테스트 러너, 번들러, 개발 서버를 내장하여 별도의 도구 없이 종합적인 개발 환경을 지원합니다. Windows x64 플랫폼에서 사전 빌드된 바이너리와 Scoop, Chocolatey, winget을 통한 설치를 지원하며, MIT 라이선스로 배포됩니다.
상세정보
보안 중심 권한 시스템
모든 기능(파일 시스템, 네트워크, 환경 변수, 자식 프로세스, 네이티브 애드온)은 기본적으로 차단되며, 명령줄 플래그나 package.json을 통해 명시적으로 허용해야 합니다. 이는 애플리케이션 코드뿐만 아니라 모든 의존성에 동일하게 적용되어 공급망 공격 위험을 크게 줄입니다.
내장 개발 도구
별도의 설치 없이 패키지 관리자(3va install), 프로세스 관리자(3va start), 테스트 러너(3va test), 번들러(3va bundle), 개발 서버(HMR 지원, 3va dev)를 사용할 수 있습니다. 각 도구는 기존 생태계 도구(pm2, Jest, webpack 등)를 대체하도록 설계되었습니다.
다중 플랫폼 지원 및 설치 방법
Windows x64에서 사전 빌드된 바이너리를 직접 다운로드하거나, Scoop (scoop bucket add 3va https://github.com/OdinoCano/3va && scoop install 3va), Chocolatey (choco install 3va), winget (winget install OdinoCano.3va)을 통해 설치할 수 있습니다. 또한 npm (npm install -g @edge_166/3va)이나 Cargo (cargo install vvva_cli)를 통해서도 전역 설치가 가능합니다.
다운로드·설치 방법
Windows 사용자는 공식 GitHub 릴리스 페이지에서 3va-vX.Y.Z-x86_64-pc-windows-msvc.zip 형태의 사전 빌드된 바이너리를 다운로드할 수 있습니다. 또는 Windows 패키지 관리자를 통해 간편하게 설치할 수 있습니다: Scoop을 사용하는 경우 scoop bucket add 3va https://github.com/OdinoCano/3va seguido de scoop install 3va, Chocolatey 사용자는 choco install 3va, winget 사용자는 winget install OdinoCano.3va 명령을 실행하면 됩니다. 설정이 완료되면 터미널에서 3va 명령을 바로 사용할 수 있습니다.
기본 사용법/명령어
기본적으로 스크립트를 실행할 때는 3va run app.ts 명령을 사용하며, 이때는 아무런 권한도 부여되지 않습니다. 파일 시스템 접근이 필요하면 --allow-read=./data, 네트워크 접근이 필요하면 --allow-net=api.example.com과 같은 플래그를 추가해야 합니다. 자주 사용하는 명령어에는 별칭이 설정되어 있어 3va r app.ts (run), 3va i express (install), 3va t (test), 3va d (dev), 3va b (bundle)로도 사용할 수 있습니다.
이런 경우에 유용합니다
보안이 중요한 환경에서 서버사이드 JavaScript/TypeScript 애플리케이션을 개발하거나 실행할 때 유용합니다. 특히 의존성이 많은 프로젝트에서 공급망 공격을 방지해야 하는 경우, 기본적으로 모든 권한을 차단하고 필요한 권한만 명시적으로 부여하는 3va의 보안 모델이 효과적입니다. 또한 별도의 도구 설치 없이 패키지 관리부터 테스트, 번들링, 개발 서버 실행까지 모든 작업을 하나의 런타임으로 처리하고 싶은 개발자에게 적합합니다.
지원 환경·시스템 요구사항
3va는 Windows x64 플랫폼에서 완전한 지원을 제공하며, 사전 빌드된 바이너리를 통해 바로 실행할 수 있습니다. Linux 및 macOS에서도 동일하게 지원되며, Android arm64의 경우 main 브랜치에서는 현재 지원되지 않지만 android-pre-v8 브랜치를 통해 workaround가 가능합니다.
최신 버전·업데이트
현재 버전은 2.6.0이며, 최신 릴리스 정보와 업데이트 내역은 공식 GitHub 저장소의 Releases 페이지에서 확인할 수 있습니다. 저장소에서는 지속적인 개선이 이루어지고 있으며, CI를 통해 성능 benchmarks와 보안 검사가 정기적으로 실행됩니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


