@zip.js/zip.js 2.7.50 → 2.7.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deno.json +1 -1
- package/dist/zip-fs-full.js +21 -13
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +21 -13
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +13 -10
- package/dist/zip-full.min.js +1 -1
- package/dist/zip-no-worker-deflate.min.js +1 -1
- package/dist/zip-no-worker-inflate.min.js +1 -1
- package/dist/zip-no-worker.min.js +1 -1
- package/dist/zip.js +13 -10
- package/dist/zip.min.js +1 -1
- package/index.cjs +21 -13
- package/index.min.js +1 -1
- package/lib/core/zip-entry.js +11 -4
- package/lib/core/zip-fs-core.js +8 -3
- package/lib/core/zip-writer.js +10 -6
- package/package.json +1 -1
package/index.cjs
CHANGED
|
@@ -9196,16 +9196,19 @@ const PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE = "internalFileAttribute";
|
|
|
9196
9196
|
const PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE = "externalFileAttribute";
|
|
9197
9197
|
const PROPERTY_NAME_MS_DOS_COMPATIBLE = "msDosCompatible";
|
|
9198
9198
|
const PROPERTY_NAME_ZIP64 = "zip64";
|
|
9199
|
+
const PROPERTY_NAME_ENCRYPTED = "encrypted";
|
|
9200
|
+
const PROPERTY_NAME_VERSION = "version";
|
|
9201
|
+
const PROPERTY_NAME_VERSION_MADE_BY = "versionMadeBy";
|
|
9202
|
+
const PROPERTY_NAME_ZIPCRYPTO = "zipCrypto";
|
|
9199
9203
|
|
|
9200
9204
|
const PROPERTY_NAMES = [
|
|
9201
9205
|
PROPERTY_NAME_FILENAME, PROPERTY_NAME_RAW_FILENAME, PROPERTY_NAME_COMPPRESSED_SIZE, PROPERTY_NAME_UNCOMPPRESSED_SIZE,
|
|
9202
9206
|
PROPERTY_NAME_LAST_MODIFICATION_DATE, PROPERTY_NAME_RAW_LAST_MODIFICATION_DATE, PROPERTY_NAME_COMMENT, PROPERTY_NAME_RAW_COMMENT,
|
|
9203
9207
|
PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START,
|
|
9204
9208
|
PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE,
|
|
9205
|
-
PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64,
|
|
9206
|
-
"directory", "bitFlag", "
|
|
9207
|
-
"
|
|
9208
|
-
"extraFieldExtendedTimestamp", "zipCrypto"];
|
|
9209
|
+
PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY,
|
|
9210
|
+
PROPERTY_NAME_ZIPCRYPTO, "directory", "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField",
|
|
9211
|
+
"extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"];
|
|
9209
9212
|
|
|
9210
9213
|
class Entry {
|
|
9211
9214
|
|
|
@@ -10057,11 +10060,11 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
10057
10060
|
if (getLength(rawComment) > MAX_16_BITS) {
|
|
10058
10061
|
throw new Error(ERR_INVALID_ENTRY_COMMENT);
|
|
10059
10062
|
}
|
|
10060
|
-
const version = getOptionValue(zipWriter, options,
|
|
10063
|
+
const version = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION, VERSION_DEFLATE);
|
|
10061
10064
|
if (version > MAX_16_BITS) {
|
|
10062
10065
|
throw new Error(ERR_INVALID_VERSION);
|
|
10063
10066
|
}
|
|
10064
|
-
const versionMadeBy = getOptionValue(zipWriter, options,
|
|
10067
|
+
const versionMadeBy = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION_MADE_BY, 20);
|
|
10065
10068
|
if (versionMadeBy > MAX_16_BITS) {
|
|
10066
10069
|
throw new Error(ERR_INVALID_VERSION);
|
|
10067
10070
|
}
|
|
@@ -10078,7 +10081,7 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
10078
10081
|
rawPassword = getOptionValue(zipWriter, options, "rawPassword");
|
|
10079
10082
|
}
|
|
10080
10083
|
const encryptionStrength = getOptionValue(zipWriter, options, "encryptionStrength", 3);
|
|
10081
|
-
const zipCrypto = getOptionValue(zipWriter, options,
|
|
10084
|
+
const zipCrypto = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIPCRYPTO);
|
|
10082
10085
|
const extendedTimestamp = getOptionValue(zipWriter, options, "extendedTimestamp", true);
|
|
10083
10086
|
const keepOrder = getOptionValue(zipWriter, options, "keepOrder", true);
|
|
10084
10087
|
const level = getOptionValue(zipWriter, options, "level");
|
|
@@ -10090,7 +10093,7 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
10090
10093
|
const useCompressionStream = getOptionValue(zipWriter, options, "useCompressionStream");
|
|
10091
10094
|
let dataDescriptor = getOptionValue(zipWriter, options, "dataDescriptor", true);
|
|
10092
10095
|
let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
|
|
10093
|
-
if ((password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) &&
|
|
10096
|
+
if (!zipCrypto && (password !== UNDEFINED_VALUE || rawPassword !== UNDEFINED_VALUE) && !(encryptionStrength >= 1 && encryptionStrength <= 3)) {
|
|
10094
10097
|
throw new Error(ERR_INVALID_ENCRYPTION_STRENGTH);
|
|
10095
10098
|
}
|
|
10096
10099
|
let rawExtraField = new Uint8Array();
|
|
@@ -10155,7 +10158,7 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
10155
10158
|
}
|
|
10156
10159
|
}
|
|
10157
10160
|
zip64 = zip64 || false;
|
|
10158
|
-
const encrypted = getOptionValue(zipWriter, options,
|
|
10161
|
+
const encrypted = getOptionValue(zipWriter, options, PROPERTY_NAME_ENCRYPTED);
|
|
10159
10162
|
const { signature } = options;
|
|
10160
10163
|
options = Object.assign({}, options, {
|
|
10161
10164
|
rawFilename,
|
|
@@ -10931,7 +10934,7 @@ async function closeFile(zipWriter, comment, options) {
|
|
|
10931
10934
|
if (availableSize < END_OF_CENTRAL_DIR_LENGTH) {
|
|
10932
10935
|
lastDiskNumber++;
|
|
10933
10936
|
}
|
|
10934
|
-
let zip64 = getOptionValue(zipWriter, options,
|
|
10937
|
+
let zip64 = getOptionValue(zipWriter, options, PROPERTY_NAME_ZIP64);
|
|
10935
10938
|
if (directoryOffset > MAX_32_BITS || directoryDataLength > MAX_32_BITS || filesLength > MAX_16_BITS || lastDiskNumber > MAX_16_BITS) {
|
|
10936
10939
|
if (zip64 === false) {
|
|
10937
10940
|
throw new Error(ERR_UNSUPPORTED_FORMAT);
|
|
@@ -11756,12 +11759,16 @@ async function exportZip(zipWriter, entry, totalSize, options) {
|
|
|
11756
11759
|
encrypted,
|
|
11757
11760
|
zipCrypto,
|
|
11758
11761
|
signature,
|
|
11759
|
-
compressionMethod
|
|
11762
|
+
compressionMethod,
|
|
11763
|
+
extraFieldAES
|
|
11760
11764
|
} = child.data;
|
|
11761
|
-
let level;
|
|
11765
|
+
let level, encryptionStrength;
|
|
11762
11766
|
if (compressionMethod === 0) {
|
|
11763
11767
|
level = 0;
|
|
11764
11768
|
}
|
|
11769
|
+
if (extraFieldAES) {
|
|
11770
|
+
encryptionStrength = extraFieldAES.strength;
|
|
11771
|
+
}
|
|
11765
11772
|
zipEntryOptions = {
|
|
11766
11773
|
externalFileAttribute,
|
|
11767
11774
|
versionMadeBy,
|
|
@@ -11777,7 +11784,8 @@ async function exportZip(zipWriter, entry, totalSize, options) {
|
|
|
11777
11784
|
zipCrypto,
|
|
11778
11785
|
signature,
|
|
11779
11786
|
uncompressedSize,
|
|
11780
|
-
level
|
|
11787
|
+
level,
|
|
11788
|
+
encryptionStrength
|
|
11781
11789
|
});
|
|
11782
11790
|
}
|
|
11783
11791
|
}
|