epub-compare
v1.0.0
Published
CLI tool to compare two EPUB files compression methods and structure
Downloads
6
Maintainers
Readme
epub-compare
A CLI tool to compare two EPUB files compression methods and structure.
Features
- Compression Method Comparison: Compare compression methods (STORED vs DEFLATED) for each file entry
- Structure Analysis: Analyze file structure and entry order differences
- EPUB Compliance Check: Verify that
mimetypefile is first and uncompressed (EPUB specification requirement) - Detailed Reporting: Color-coded output showing differences between files
- Entry-by-Entry Comparison: Compare all entries in both files with clear status indicators
Installation
Global Installation
npm install -g epub-compareLocal Installation
npm install epub-compareFrom Source
git clone https://github.com/kyungw00k/epub-compare.git
cd epub-compare
npm installUsage
Global Installation
epub-compare <file1.epub> <file2.epub>Local Installation
npx epub-compare <file1.epub> <file2.epub>From Source
node index.js <file1.epub> <file2.epub>Output Example
File 1: book1.epub
File 2: book2.epub
Entry Comparison:
────────────────────────────────────────────────────────────────────────────────────────────────────
Order Name File1 Compression File2 Compression Status
────────────────────────────────────────────────────────────────────────────────────────────────────
0 mimetype STORED STORED Match
1 META-INF/container.xml DEFLATED DEFLATED Match
2 OEBPS/content.opf DEFLATED DEFLATED Match
3 OEBPS/toc.ncx DEFLATED DEFLATED Match
4 OEBPS/chapter1.xhtml DEFLATED STORED Different compression
5 OEBPS/chapter2.xhtml DEFLATED DEFLATED Match
6 OEBPS/extra-file.xhtml MISSING DEFLATED Only in file2
Summary:
──────────────────────────────────────────────────
Total entries in file1: 6
Total entries in file2: 7
File1: mimetype is first and uncompressed
File2: mimetype is first and uncompressedStatus Indicators
- 🟢 Match: Files are identical in compression method and order
- 🟡 Different compression: Same file but different compression method
- 🟡 Different order: Same file but different position in archive
- 🔴 Only in file1: File exists only in the first EPUB
- 🔴 Only in file2: File exists only in the second EPUB
Requirements
- Node.js >= 14.0.0
Dependencies
Use Cases
- EPUB Optimization: Compare different compression settings
- Quality Assurance: Verify EPUB file structure compliance
- Debugging: Identify differences between EPUB versions
- Analysis: Understand compression patterns in EPUB files
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Issues
If you find any issues or have suggestions, please report them on GitHub Issues.
Author
Kyungwook Park - @kyungw00k
