Cloudflare Workers, Deno, Bun, AWS Lambda, Node.js 등에서 실행되는 Web Standards 기반의 작고 매우 빠른 웹 프레임워크입니다.
Millillion/lasm
일반 Lean 4 프로그램을 Node, 서버리스, 엣지, WASI, 브라우저용 WebAssembly로 컴파일하는 Lean 4 AOT 컴파일러입니다.
- 스타
- 100
- 포크
- 7
- 열린 이슈
- 1
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Lasm은 일반 Lean 4 프로그램을 WebAssembly로 AOT 컴파일해, 하나의 Lean 코드베이스를 Node 서버, 서버리스 또는 엣지 함수, WASI 또는 Fastly 모듈, 브라우저 앱으로 실행할 수 있게 합니다. npm으로 배포되며 Lean과 빌드 도구가 함께 번들되어 있어 개발자는 Node, Bun 또는 Deno만 설치하면 됩니다.
Lasm은 Lean에서 import를 작성하고 호출할 함수마다 선언을 하나씩 추가해 JavaScript 및 npm과 연동할 수 있습니다. 또한 HTTP용 Lean 라이브러리(Lasm.Fetch), 정확성이 증명된 diff를 사용하는 브라우저 UI용 라이브러리(Lasm.UI), 타입이 지정된 클라이언트/서버 API용 라이브러리(Lasm.RPC), DOM 접근용 라이브러리(Lasm.Web)를 제공합니다. 코드가 Lean으로 작성되므로 배포 코드의 속성을 정리로 표현하고 빌드 시점에 검사할 수 있습니다. 대표적인 예시인 Conduit이라는 RealWorld 앱에는 권한 부여, 페이지네이션, 검증 로직에 관한 증명된 정리 117개가 포함되어 있습니다.
배포 대상에는 AWS Lambda, Vercel, Netlify, Azure Functions, Google Cloud Functions, Cloudflare Workers, Deno Deploy, Fastly Compute와 일반 WASI 및 브라우저 출력이 포함됩니다. 프로그램은 런타임에 Lean을 elaboration하거나 평가할 수 없으며, 엣지, Bun/Deno, WASI, 브라우저 빌드는 소켓이나 프로세스 없이 단일 스레드로 실행됩니다.
핵심 기능
- 01일반 Lean 4 프로그램을 WebAssembly로 AOT 컴파일합니다.
- 02Node, AWS Lambda, Vercel, Netlify, Cloudflare Workers, Deno Deploy, Fastly, WASI, 브라우저용으로 빌드합니다.
- 03한 줄짜리 @[js] 선언으로 Lean에서 npm 패키지와 JavaScript 함수를 호출합니다.
- 04HTTP, 브라우저 UI, 타입이 지정된 클라이언트/서버 RPC, DOM 접근용 Lean 라이브러리를 제공합니다.
- 05Lean과 빌드 도구가 번들된 상태로 npm을 통해 설치하며, npm create로 프로젝트 템플릿을 생성할 수 있습니다.
활용 사례
- Hono 또는 Express를 사용하는 Node REST API를 Lean으로 작성합니다.
- Lean 함수를 서버리스 또는 엣지 플랫폼에 배포합니다.
- 서버 렌더링 출력을 지원하는 브라우저 싱글 페이지 앱을 Lean으로 구축합니다.
- 웹 백엔드에서 권한 부여 규칙 같은 불변 조건을 증명합니다.
빠른 시작
- 1
Hono 템플릿으로 새 프로젝트를 만듭니다
npm create @lasm@latest my-app -- --template hono - 2
프로젝트 디렉터리로 이동해 종속성을 설치합니다
cd my-app && npm install - 3
개발 서버를 시작합니다
npm run dev
사용 전 알아둘 점
- Lean 기반 툴체인: 첫 빌드에서 Lean과 빌드 도구 약 250~275MB를 다운로드합니다.
- Edge, Bun/Deno, WASI 및 브라우저 빌드는 소켓이나 프로세스 없이 단일 스레드로 실행됩니다.
- 컴파일러에는 Node 24 이상이 필요하며, 대체 런타임은 Bun 또는 Deno뿐입니다.
포함된 컬렉션
토픽
자주 묻는 질문
- lasm은(는) 무엇인가요?
- 일반 Lean 4 프로그램을 Node, 서버리스, 엣지, WASI, 브라우저용 WebAssembly로 컴파일하는 Lean 4 AOT 컴파일러입니다. Lasm은 일반 Lean 4 프로그램을 WebAssembly로 AOT 컴파일해, 하나의 Lean 코드베이스를 Node 서버, 서버리스 또는 엣지 함수, WASI 또는 Fastly 모듈, 브라우저 앱으로 실행할 수 있게 합니다. npm으로 배포되며 Lean과 빌드 도구가 함께 번들되어 있어 개발자는 Node, Bun 또는 Deno만 설치하면 됩니다.
- lasm은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- lasm은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- lasm은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. lasm의 마지막 커밋은 2026년 11월 6일입니다.
- lasm은(는) 어디에 사용할 수 있나요?
- Hono 또는 Express를 사용하는 Node REST API를 Lean으로 작성합니다. Lean 함수를 서버리스 또는 엣지 플랫폼에 배포합니다. 서버 렌더링 출력을 지원하는 브라우저 싱글 페이지 앱을 Lean으로 구축합니다. 웹 백엔드에서 권한 부여 규칙 같은 불변 조건을 증명합니다.
- lasm는 어떻게 설치하나요?
- Hono 템플릿으로 새 프로젝트를 만듭니다: npm create @lasm@latest my-app -- --template hono 프로젝트 디렉터리로 이동해 종속성을 설치합니다: cd my-app && npm install 개발 서버를 시작합니다: npm run dev
- lasm은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Millillion/lasm
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Cloudflare Workers를 구동하는 것과 동일한 코드로 만든 JavaScript/Wasm 서버 런타임으로, 자체 호스팅과 로컬 개발에 사용할 수 있습니다.
Node.js 없이 실행되는 네이티브 실행 파일이나 WebAssembly를 만드는 실험적인 TypeScript·JavaScript 컴파일러입니다.
LLVM 기반 Go 컴파일러로, 마이크로컨트롤러, WebAssembly(WASM/WASI), 명령줄 도구를 대상으로 합니다.
자체 CoreLib, 런타임 및 SDK를 갖춘 C# 및 .NET CIL-to-WebAssembly 컴파일러로, 소형 독립 실행형 WASI Preview 2 컴포넌트를 생성합니다.
Cranelift 코드 생성기를 기반으로 하며 WASI와 다양한 언어의 임베딩을 지원하는 독립형 WebAssembly 런타임입니다.