The @nuintun/qrcode library is a pure JavaScript implementation for QR code encoding and decoding, providing developers with a comprehensive toolkit to generate and read QR codes in web and Node.js environments. Built with TypeScript and designed for modern JavaScript applications, this library offers tree-shakeable, side-effect-free modules that optimize bundle size while maintaining full compliance with the ISO/IEC 18004 specification. The library supports all major QR code features including multiple encoding modes, error correction levels, and advanced capabilities like FNC1 application identifiers and structured append QR codes.

Architecture Overview
The library follows a modular architecture that separates concerns into distinct functional areas, enabling developers to import only what they need. The core implementation is organized around three primary operations: encoding (creating QR codes), detection (locating QR codes in images), and decoding (extracting data from QR codes). This separation allows for flexible usage patterns whether you need only encoding functionality, only decoding, or both.
The architecture leverages TypeScript's type system to provide type safety while maintaining runtime performance. The modular structure ensures that each component can be independently tested, optimized, and updated without affecting other parts of the system.