@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-native.js
CHANGED
|
@@ -6656,6 +6656,13 @@
|
|
|
6656
6656
|
const { comment } = metadataInfo;
|
|
6657
6657
|
const extraField = options[PROPERTY_NAME_EXTRA_FIELD];
|
|
6658
6658
|
zipWriter.fileEntries.set(name, UNDEFINED_VALUE);
|
|
6659
|
+
const previousFileEntry = zipWriter.lastFileEntry;
|
|
6660
|
+
const pendingFileEntry = {};
|
|
6661
|
+
let releaseLockFileEntry;
|
|
6662
|
+
if (metadataInfo.resolvedOptions.keepOrder) {
|
|
6663
|
+
pendingFileEntry.lockFileEntry = new Promise(resolve => releaseLockFileEntry = resolve);
|
|
6664
|
+
}
|
|
6665
|
+
zipWriter.lastFileEntry = pendingFileEntry;
|
|
6659
6666
|
let fileEntry;
|
|
6660
6667
|
try {
|
|
6661
6668
|
const { resolvedOptions } = metadataInfo;
|
|
@@ -6677,10 +6684,21 @@
|
|
|
6677
6684
|
const headerInfo = getHeaderInfo(options);
|
|
6678
6685
|
const dataDescriptorInfo = getDataDescriptorInfo(options);
|
|
6679
6686
|
const metadataSize = getLength(headerInfo.localHeaderArray, dataDescriptorInfo.dataDescriptorArray);
|
|
6680
|
-
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6687
|
+
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6688
|
+
headerInfo,
|
|
6689
|
+
dataDescriptorInfo,
|
|
6690
|
+
metadataSize,
|
|
6691
|
+
fileEntry: pendingFileEntry,
|
|
6692
|
+
previousFileEntry,
|
|
6693
|
+
releaseLockFileEntry
|
|
6694
|
+
}, options);
|
|
6681
6695
|
} catch (error) {
|
|
6682
6696
|
zipWriter.fileEntries.delete(name);
|
|
6683
6697
|
throw error;
|
|
6698
|
+
} finally {
|
|
6699
|
+
if (releaseLockFileEntry) {
|
|
6700
|
+
releaseLockFileEntry(previousFileEntry && previousFileEntry.lockFileEntry);
|
|
6701
|
+
}
|
|
6684
6702
|
}
|
|
6685
6703
|
Object.assign(fileEntry, {
|
|
6686
6704
|
name,
|
|
@@ -7066,27 +7084,23 @@
|
|
|
7066
7084
|
signal
|
|
7067
7085
|
} = options;
|
|
7068
7086
|
const {
|
|
7069
|
-
headerInfo
|
|
7087
|
+
headerInfo,
|
|
7088
|
+
fileEntry: pendingFileEntry,
|
|
7089
|
+
previousFileEntry,
|
|
7090
|
+
releaseLockFileEntry
|
|
7070
7091
|
} = entryInfo;
|
|
7071
7092
|
const usdz = zipWriter.options[OPTION_USDZ];
|
|
7072
|
-
|
|
7073
|
-
let fileEntry = {};
|
|
7093
|
+
let fileEntry = pendingFileEntry;
|
|
7074
7094
|
let bufferedWrite;
|
|
7075
7095
|
let releaseLockWriter;
|
|
7076
|
-
let releaseLockCurrentFileEntry;
|
|
7077
7096
|
let writingBufferedEntryData;
|
|
7078
7097
|
let writingEntryData;
|
|
7079
7098
|
let writerSizeBeforeEntry;
|
|
7080
7099
|
let flushedBufferedSize = 0;
|
|
7081
7100
|
let fileWriter;
|
|
7101
|
+
const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
|
|
7082
7102
|
fileEntries.set(name, fileEntry);
|
|
7083
|
-
zipWriter.lastFileEntry = fileEntry;
|
|
7084
7103
|
try {
|
|
7085
|
-
let lockPreviousFileEntry;
|
|
7086
|
-
if (keepOrder) {
|
|
7087
|
-
lockPreviousFileEntry = previousFileEntry && previousFileEntry.lockFileEntry;
|
|
7088
|
-
requestLockCurrentFileEntry();
|
|
7089
|
-
}
|
|
7090
7104
|
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
|
|
7091
7105
|
bufferedWrite = true;
|
|
7092
7106
|
zipWriter.bufferedWrites++;
|
|
@@ -7099,6 +7113,7 @@
|
|
|
7099
7113
|
await initStream(writer);
|
|
7100
7114
|
} else {
|
|
7101
7115
|
fileWriter = writer;
|
|
7116
|
+
await lockPreviousFileEntry;
|
|
7102
7117
|
await requestLockWriter();
|
|
7103
7118
|
}
|
|
7104
7119
|
await initStream(fileWriter);
|
|
@@ -7111,7 +7126,6 @@
|
|
|
7111
7126
|
}
|
|
7112
7127
|
const { localHeaderArray } = headerInfo;
|
|
7113
7128
|
if (!bufferedWrite) {
|
|
7114
|
-
await lockPreviousFileEntry;
|
|
7115
7129
|
await skipDiskIfNeeded();
|
|
7116
7130
|
}
|
|
7117
7131
|
const diskNumberStart = getDiskNumber(writer);
|
|
@@ -7176,8 +7190,8 @@
|
|
|
7176
7190
|
if (bufferedWrite) {
|
|
7177
7191
|
zipWriter.bufferedWrites--;
|
|
7178
7192
|
}
|
|
7179
|
-
if (
|
|
7180
|
-
|
|
7193
|
+
if (releaseLockFileEntry) {
|
|
7194
|
+
releaseLockFileEntry(lockPreviousFileEntry);
|
|
7181
7195
|
}
|
|
7182
7196
|
if (releaseLockWriter) {
|
|
7183
7197
|
releaseLockWriter();
|
|
@@ -7191,10 +7205,6 @@
|
|
|
7191
7205
|
}
|
|
7192
7206
|
}
|
|
7193
7207
|
|
|
7194
|
-
function requestLockCurrentFileEntry() {
|
|
7195
|
-
fileEntry.lockFileEntry = new Promise(resolve => releaseLockCurrentFileEntry = resolve);
|
|
7196
|
-
}
|
|
7197
|
-
|
|
7198
7208
|
async function requestLockWriter() {
|
|
7199
7209
|
zipWriter.writerLocked = true;
|
|
7200
7210
|
const { lockWriter } = zipWriter;
|
|
@@ -8514,7 +8524,7 @@
|
|
|
8514
8524
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8515
8525
|
*/
|
|
8516
8526
|
|
|
8517
|
-
const VERSION = "2.8.
|
|
8527
|
+
const VERSION = "2.8.61";
|
|
8518
8528
|
|
|
8519
8529
|
/*
|
|
8520
8530
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|