# MuJS

> JS engine of mupdf

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

## Summary
MuJS is the JavaScript engine embedded in the MuPDF document rendering toolkit. It is a free, lightweight software library designed for embedding ECMAScript (JavaScript) functionality into applications, particularly PDF processing tools like MuPDF.

## Key Facts
- **Creator**: Developed by Tor Andersson at Artifex Software.
- **License**: Released under the ISC license.
- **Versions**: Continuous updates from 1.0.0 (June 16, 2017) to 1.0.9 (September 8, 2020), with multiple patches released between these dates.
- **Platform**: Runs on a cross-platform basis, suitable for diverse computing environments.
- **Implementation**: Specifically implements ECMAScript (Q2005), the core JavaScript standard.
- **Source Code**: Hosted primarily on Git at https://git.ghostscript.com/?p=mujs.git, with mirrors on GitHub (ArtifexSoftware/ccxvii and ccxvii/mujs).
- **Nature**: Classified as a free software library and JavaScript engine.
- **Integration**: Core component of MuPDF for JavaScript scripting capabilities.

## FAQs
### Q: What is MuJS primarily used for?
A: MuJS is primarily used as the JavaScript engine within the MuPDF library, enabling scripting and programmatic manipulation of PDF documents and other supported formats.

### Q: Is MuJS open-source software?
A: Yes, MuJS is distributed as free software under the ISC license, allowing users to freely run, study, change, and distribute it and modified versions.

### Q: Who developed MuJS?
A: MuJS was developed by Tor Andersson while working for Artifex Software, the company behind MuPDF.

### Q: What JavaScript standard does MuJS implement?
A: MuJS implements ECMAScript, the core standard defining the JavaScript language.

## Why It Matters
MuJS matters because it provides a lightweight, embeddable JavaScript engine specifically designed for document processing applications. Its inclusion in MuPDF enables powerful scripting capabilities, allowing developers to automate document tasks, add interactivity to PDFs, and extend the functionality of the MuPDF toolkit itself. Being free software under a permissive ISC license facilitates its adoption and integration into various projects without the encumbrances of more restrictive licenses. Its cross-platform nature ensures broad compatibility, making it a practical choice for developers needing client-side JavaScript in their applications, particularly those focused on PDF and other document formats. It represents a focused solution for integrating ECMAScript support within document-centric software.

## Notable For
- Being the dedicated JavaScript engine integrated into the widely-used MuPDF document toolkit.
- Its exclusive ISC license, combining permissive terms with strong legal protection.
- Its status as a free software library emphasizing embeddability and efficiency.
- Continuous development with frequent minor version updates (e.g., 1.0.0 to 1.0.9) reflecting active maintenance.
- Implementation targeting ECMAScript standards for compatibility with core JavaScript features.

## Body
### Overview
MuJS is the JavaScript engine core component of the MuPDF document rendering toolkit. It functions as a software library enabling the execution of ECMAScript (JavaScript) code, primarily within the context of MuPDF operations like PDF document processing.

### Core Identity
- **Instance Of**: MuJS is classified as a free software library and a JavaScript engine.
- **Implementation Of**: It implements the ECMAScript (Q2005) standard, the foundation of JavaScript.

### Development & Licensing
- **Developer**: Created by Tor Andersson, affiliated with Artifex Software.
- **License**: Distributed under the ISC license.
- **Copyright Status**: Copyrighted software.

### Version History
- **Release Dates**: Version releases occurred between June 2017 and September 2020.
  - 1.0.0: June 16, 2017
  - 1.0.1: July 20, 2017
  - 1.0.2: December 11, 2017
  - 1.0.3: January 24, 2018
  - 1.0.4: July 30, 2018
  - 1.0.5: September 11, 2018
  - 1.0.6: June 12, 2019
  - 1.0.7: March 17, 2020
  - 1.0.8: August 24, 2020
  - 1.0.9: September 8, 2020

### Distribution & Source Code
- **Website**: https://mujs.com/ (primary resource).
- **Source Repositories**:
  - Primary: https://git.ghostscript.com/?p=mujs.git (Gitweb interface preferred)
  - GitHub Mirrors:
    - https://github.com/ccxvii/mujs
    - https://github.com/ArtifexSoftware/mujs
  - Git Mirror: git://git.ghostscript.com/mujs.git
- **Package Availability**: Available via OpenSuSE (`mujs` package), SlackBuilds (`libraries/mujs`), and Homebrew (`mujs` formula).

### Technical Characteristics
- **Operating System**: Designed for cross-platform operation.
- **Primary Use Case**: Embedding JavaScript functionality, especially within the MuPDF library for PDF and document manipulation.

## References

1. [Source](https://api.github.com/repos/ccxvii/mujs)
2. [Release 1.0.0. 2017](https://github.com/ccxvii/mujs/releases/tag/1.0.0)
3. [Release 1.0.1. 2017](https://github.com/ccxvii/mujs/releases/tag/1.0.1)
4. [Release 1.0.2. 2017](https://github.com/ccxvii/mujs/releases/tag/1.0.2)
5. [Release 1.0.3. 2018](https://github.com/ccxvii/mujs/releases/tag/1.0.3)
6. [Release 1.0.4. 2018](https://github.com/ccxvii/mujs/releases/tag/1.0.4)
7. [Release 1.0.5. 2018](https://github.com/ccxvii/mujs/releases/tag/1.0.5)
8. [Release 1.0.6. 2019](https://github.com/ccxvii/mujs/releases/tag/1.0.6)
9. [Release 1.0.7. 2020](https://github.com/ccxvii/mujs/releases/tag/1.0.7)
10. [Release 1.0.8. 2020](https://github.com/ccxvii/mujs/releases/tag/1.0.8)
11. [Release 1.0.9. 2020](https://github.com/ccxvii/mujs/releases/tag/1.0.9)
12. [Release 1.1.0. 2021](https://github.com/ccxvii/mujs/releases/tag/1.1.0)
13. [Release 1.1.1. 2021](https://github.com/ccxvii/mujs/releases/tag/1.1.1)
14. [Release 1.1.2. 2021](https://github.com/ccxvii/mujs/releases/tag/1.1.2)
15. [Release 1.1.3. 2021](https://github.com/ccxvii/mujs/releases/tag/1.1.3)
16. [Release 1.2.0. 2021](https://github.com/ccxvii/mujs/releases/tag/1.2.0)
17. [Release 1.3.0. 2022](https://github.com/ccxvii/mujs/releases/tag/1.3.0)
18. [Release 1.3.1. 2022](https://github.com/ccxvii/mujs/releases/tag/1.3.1)
19. [Release 1.3.2. 2022](https://github.com/ccxvii/mujs/releases/tag/1.3.2)
20. [Release 1.3.3. 2023](https://github.com/ccxvii/mujs/releases/tag/1.3.3)