Comparing version 2.3.0 to 2.3.1
{ | ||
"name": "yauzl", | ||
"version": "2.3.0", | ||
"version": "2.3.1", | ||
"description": "yet another unzip library for node", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -14,2 +14,3 @@ # yauzl | ||
Read the central directory for file metadata. | ||
(see [No Streaming Unzip API](#no-streaming-unzip-api)). | ||
* Don't block the JavaScript thread. | ||
@@ -232,2 +233,16 @@ Use and provide async APIs. | ||
### No Streaming Unzip API | ||
Due to the design of the .zip file format, it's impossible to interpret a .zip file from start to finish | ||
(such as from a readable stream) without sacrificing correctness. | ||
The Central Directory, which is the authority on the contents of the .zip file, is at the end of a .zip file, not the beginning. | ||
A streaming API would need to either buffer the entire .zip file to get to the Central Directory before interpreting anything | ||
(defeating the purpose of a streaming interface), or rely on the Local File Headers which are interspersed through the .zip file. | ||
However, the Local File Headers are explicitly denounced in the spec as being unreliable copies of the Central Directory, | ||
so trusting them would be a violation of the spec. | ||
Any library that offers a streaming unzip API must make one of the above two compromises, | ||
which makes the library either dishonest or nonconformant (usually the latter). | ||
This library insists on correctness and adherence to the spec, and so does not offer a streaming API. | ||
### No Multi-Disk Archive Support | ||
@@ -234,0 +249,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
28968
307