# Fengari

> JavaScript implementation of Lua

**Wikidata**: [Q113365151](https://www.wikidata.org/wiki/Q113365151)  
**Source**: https://4ort.xyz/entity/fengari

# Fengari

## Summary
Fengari is a JavaScript implementation of the Lua programming language, enabling Lua code to run in JavaScript environments. It is released as free software under the MIT License and functions as a software library and run-time system.

## Key Facts
- **License:** MIT License (free software)
- **Category:** Software library, JavaScript library, free software, run-time system
- **Website:** https://fengari.io/
- **Source Code Repository:** https://github.com/fengari-lua/fengari
- **Implementation Of:** Lua programming language
- **Latest Version:** 0.1.4 (released January 19, 2019)
- **First Recorded Release:** Version 0.1.0 (released March 31, 2018)
- **Aliases:** fengari, fengari-lua
- **Copyright Status:** Copyrighted

## FAQs

### Q: What is Fengari used for?
A: Fengari allows developers to run Lua code within JavaScript environments, such as web browsers. It serves as a run-time system and software library for this cross-language compatibility.

### Q: Is Fengari free to use?
A: Yes, Fengari is free software released under the MIT License, which permits users to freely run, study, change, and distribute the software and its modified versions.

### Q: Where can I find Fengari's source code?
A: Fengari's source code is publicly available on GitHub at https://github.com/fengari-lua/fengari under the fengari-lua organization.

### Q: When was Fengari's most recent version released?
A: The most recent documented version is 0.1.4, released on January 19, 2019.

## Why It Matters
Fengari addresses a fundamental interoperability challenge in software development: enabling Lua code to execute in JavaScript environments. This capability is particularly valuable for web-based applications where JavaScript is the dominant language, but developers may have existing Lua codebases, libraries, or domain-specific logic they wish to reuse without rewriting. By providing a full JavaScript implementation of Lua, Fengari eliminates the need for server-side Lua execution in scenarios where client-side processing is preferred.

The project's MIT License ensures broad accessibility, allowing both open-source and commercial projects to integrate Fengari without licensing complications. As a run-time system and software library, it provides the necessary infrastructure for seamless Lua-to-JavaScript translation and execution. The active development cycle evidenced by multiple releases throughout 2018 and into early 2019 demonstrates sustained commitment to the project's evolution and stability.

## Notable For
- **Cross-Language Bridge:** Provides a complete JavaScript implementation of Lua, enabling Lua execution in browser and Node.js environments
- **Permissive Licensing:** Released under the MIT License, one of the most permissive and business-friendly open-source licenses
- **Active Development History:** Released four incremental versions (0.1.0 through 0.1.4) within a 10-month period in 2018–2019
- **Multiple Classifications:** Functions simultaneously as a software library, JavaScript library, free software, and run-time system

## Body

### Overview
Fengari is a software project that implements the Lua programming language in JavaScript. The project is maintained under the GitHub organization "fengari-lua" and is accessible at fengari.io.

### Licensing and Distribution
Fengari is distributed as free software under the MIT License. This classification means users can freely run, study, modify, and distribute both the original software and modified versions. Despite its free distribution model, the project retains copyrighted status.

### Version History
Fengari's documented release timeline includes:

| Version | Release Date |
|---------|--------------|
| 0.1.0 | March 31, 2018 |
| 0.1.1 | April 3, 2018 |
| 0.1.2 | April 22, 2018 |
| 0.1.3 | October 29, 2018 |
| 0.1.4 | January 19, 2019 |

Version 0.1.4 is marked as the preferred (latest stable) release.

### Technical Classification
Fengari holds multiple technical classifications:
- **Software library:** Provides reusable code components
- **JavaScript library:** Designed for integration into JavaScript applications
- **Free software:** Distributed with freedoms for use, study, modification, and redistribution
- **Run-time system:** Provides the execution environment for Lua code

### Implementation Details
Fengari is an implementation of the Lua programming language, meaning it replicates Lua's syntax, semantics, and standard library functionality within a JavaScript context. The project's official GitHub repository serves as both the development hub and primary distribution channel.

## References

1. [Release 0.1.0. 2018](https://github.com/fengari-lua/fengari/releases/tag/v0.1.0)
2. [Release 0.1.1. 2018](https://github.com/fengari-lua/fengari/releases/tag/v0.1.1)
3. [Release 0.1.2. 2018](https://github.com/fengari-lua/fengari/releases/tag/v0.1.2)
4. [Release 0.1.3. 2018](https://github.com/fengari-lua/fengari/releases/tag/v0.1.3)
5. [Release 0.1.4. 2019](https://github.com/fengari-lua/fengari/releases/tag/v0.1.4)
6. [Release 0.1.5. 2025](https://github.com/fengari-lua/fengari/releases/tag/v0.1.5)
7. [Source](https://api.github.com/repos/fengari-lua/fengari)