@zip.js/zip.js 2.8.60 → 2.8.61
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-core-external.js +29 -19
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +29 -19
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +35 -27
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +35 -27
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +35 -27
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +35 -27
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +35 -27
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +29 -19
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +29 -19
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +29 -19
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +35 -27
- package/index-native.min.js +1 -1
- package/index.cjs +35 -27
- package/index.min.js +1 -1
- package/lib/core/version.js +1 -1
- package/lib/core/zip-fs.js +5 -4
- package/lib/core/zip-writer.js +37 -31
- package/package.json +2 -1
- package/release.sh +47 -0
package/dist/zip.js
CHANGED
|
@@ -6660,6 +6660,13 @@
|
|
|
6660
6660
|
const { comment } = metadataInfo;
|
|
6661
6661
|
const extraField = options[PROPERTY_NAME_EXTRA_FIELD];
|
|
6662
6662
|
zipWriter.fileEntries.set(name, UNDEFINED_VALUE);
|
|
6663
|
+
const previousFileEntry = zipWriter.lastFileEntry;
|
|
6664
|
+
const pendingFileEntry = {};
|
|
6665
|
+
let releaseLockFileEntry;
|
|
6666
|
+
if (metadataInfo.resolvedOptions.keepOrder) {
|
|
6667
|
+
pendingFileEntry.lockFileEntry = new Promise(resolve => releaseLockFileEntry = resolve);
|
|
6668
|
+
}
|
|
6669
|
+
zipWriter.lastFileEntry = pendingFileEntry;
|
|
6663
6670
|
let fileEntry;
|
|
6664
6671
|
try {
|
|
6665
6672
|
const { resolvedOptions } = metadataInfo;
|
|
@@ -6681,10 +6688,21 @@
|
|
|
6681
6688
|
const headerInfo = getHeaderInfo(options);
|
|
6682
6689
|
const dataDescriptorInfo = getDataDescriptorInfo(options);
|
|
6683
6690
|
const metadataSize = getLength(headerInfo.localHeaderArray, dataDescriptorInfo.dataDescriptorArray);
|
|
6684
|
-
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6691
|
+
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6692
|
+
headerInfo,
|
|
6693
|
+
dataDescriptorInfo,
|
|
6694
|
+
metadataSize,
|
|
6695
|
+
fileEntry: pendingFileEntry,
|
|
6696
|
+
previousFileEntry,
|
|
6697
|
+
releaseLockFileEntry
|
|
6698
|
+
}, options);
|
|
6685
6699
|
} catch (error) {
|
|
6686
6700
|
zipWriter.fileEntries.delete(name);
|
|
6687
6701
|
throw error;
|
|
6702
|
+
} finally {
|
|
6703
|
+
if (releaseLockFileEntry) {
|
|
6704
|
+
releaseLockFileEntry(previousFileEntry && previousFileEntry.lockFileEntry);
|
|
6705
|
+
}
|
|
6688
6706
|
}
|
|
6689
6707
|
Object.assign(fileEntry, {
|
|
6690
6708
|
name,
|
|
@@ -7070,27 +7088,23 @@
|
|
|
7070
7088
|
signal
|
|
7071
7089
|
} = options;
|
|
7072
7090
|
const {
|
|
7073
|
-
headerInfo
|
|
7091
|
+
headerInfo,
|
|
7092
|
+
fileEntry: pendingFileEntry,
|
|
7093
|
+
previousFileEntry,
|
|
7094
|
+
releaseLockFileEntry
|
|
7074
7095
|
} = entryInfo;
|
|
7075
7096
|
const usdz = zipWriter.options[OPTION_USDZ];
|
|
7076
|
-
|
|
7077
|
-
let fileEntry = {};
|
|
7097
|
+
let fileEntry = pendingFileEntry;
|
|
7078
7098
|
let bufferedWrite;
|
|
7079
7099
|
let releaseLockWriter;
|
|
7080
|
-
let releaseLockCurrentFileEntry;
|
|
7081
7100
|
let writingBufferedEntryData;
|
|
7082
7101
|
let writingEntryData;
|
|
7083
7102
|
let writerSizeBeforeEntry;
|
|
7084
7103
|
let flushedBufferedSize = 0;
|
|
7085
7104
|
let fileWriter;
|
|
7105
|
+
const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
|
|
7086
7106
|
fileEntries.set(name, fileEntry);
|
|
7087
|
-
zipWriter.lastFileEntry = fileEntry;
|
|
7088
7107
|
try {
|
|
7089
|
-
let lockPreviousFileEntry;
|
|
7090
|
-
if (keepOrder) {
|
|
7091
|
-
lockPreviousFileEntry = previousFileEntry && previousFileEntry.lockFileEntry;
|
|
7092
|
-
requestLockCurrentFileEntry();
|
|
7093
|
-
}
|
|
7094
7108
|
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
|
|
7095
7109
|
bufferedWrite = true;
|
|
7096
7110
|
zipWriter.bufferedWrites++;
|
|
@@ -7103,6 +7117,7 @@
|
|
|
7103
7117
|
await initStream(writer);
|
|
7104
7118
|
} else {
|
|
7105
7119
|
fileWriter = writer;
|
|
7120
|
+
await lockPreviousFileEntry;
|
|
7106
7121
|
await requestLockWriter();
|
|
7107
7122
|
}
|
|
7108
7123
|
await initStream(fileWriter);
|
|
@@ -7115,7 +7130,6 @@
|
|
|
7115
7130
|
}
|
|
7116
7131
|
const { localHeaderArray } = headerInfo;
|
|
7117
7132
|
if (!bufferedWrite) {
|
|
7118
|
-
await lockPreviousFileEntry;
|
|
7119
7133
|
await skipDiskIfNeeded();
|
|
7120
7134
|
}
|
|
7121
7135
|
const diskNumberStart = getDiskNumber(writer);
|
|
@@ -7180,8 +7194,8 @@
|
|
|
7180
7194
|
if (bufferedWrite) {
|
|
7181
7195
|
zipWriter.bufferedWrites--;
|
|
7182
7196
|
}
|
|
7183
|
-
if (
|
|
7184
|
-
|
|
7197
|
+
if (releaseLockFileEntry) {
|
|
7198
|
+
releaseLockFileEntry(lockPreviousFileEntry);
|
|
7185
7199
|
}
|
|
7186
7200
|
if (releaseLockWriter) {
|
|
7187
7201
|
releaseLockWriter();
|
|
@@ -7195,10 +7209,6 @@
|
|
|
7195
7209
|
}
|
|
7196
7210
|
}
|
|
7197
7211
|
|
|
7198
|
-
function requestLockCurrentFileEntry() {
|
|
7199
|
-
fileEntry.lockFileEntry = new Promise(resolve => releaseLockCurrentFileEntry = resolve);
|
|
7200
|
-
}
|
|
7201
|
-
|
|
7202
7212
|
async function requestLockWriter() {
|
|
7203
7213
|
zipWriter.writerLocked = true;
|
|
7204
7214
|
const { lockWriter } = zipWriter;
|
|
@@ -8518,7 +8528,7 @@
|
|
|
8518
8528
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8519
8529
|
*/
|
|
8520
8530
|
|
|
8521
|
-
const VERSION = "2.8.
|
|
8531
|
+
const VERSION = "2.8.61";
|
|
8522
8532
|
|
|
8523
8533
|
/*
|
|
8524
8534
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|