@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/deno.json
CHANGED
|
@@ -6685,6 +6685,13 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
6685
6685
|
const { comment } = metadataInfo;
|
|
6686
6686
|
const extraField = options[PROPERTY_NAME_EXTRA_FIELD];
|
|
6687
6687
|
zipWriter.fileEntries.set(name, UNDEFINED_VALUE);
|
|
6688
|
+
const previousFileEntry = zipWriter.lastFileEntry;
|
|
6689
|
+
const pendingFileEntry = {};
|
|
6690
|
+
let releaseLockFileEntry;
|
|
6691
|
+
if (metadataInfo.resolvedOptions.keepOrder) {
|
|
6692
|
+
pendingFileEntry.lockFileEntry = new Promise(resolve => releaseLockFileEntry = resolve);
|
|
6693
|
+
}
|
|
6694
|
+
zipWriter.lastFileEntry = pendingFileEntry;
|
|
6688
6695
|
let fileEntry;
|
|
6689
6696
|
try {
|
|
6690
6697
|
const { resolvedOptions } = metadataInfo;
|
|
@@ -6706,10 +6713,21 @@ async function addFile(zipWriter, name, reader, options) {
|
|
|
6706
6713
|
const headerInfo = getHeaderInfo(options);
|
|
6707
6714
|
const dataDescriptorInfo = getDataDescriptorInfo(options);
|
|
6708
6715
|
const metadataSize = getLength(headerInfo.localHeaderArray, dataDescriptorInfo.dataDescriptorArray);
|
|
6709
|
-
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6716
|
+
fileEntry = await getFileEntry(zipWriter, name, reader, {
|
|
6717
|
+
headerInfo,
|
|
6718
|
+
dataDescriptorInfo,
|
|
6719
|
+
metadataSize,
|
|
6720
|
+
fileEntry: pendingFileEntry,
|
|
6721
|
+
previousFileEntry,
|
|
6722
|
+
releaseLockFileEntry
|
|
6723
|
+
}, options);
|
|
6710
6724
|
} catch (error) {
|
|
6711
6725
|
zipWriter.fileEntries.delete(name);
|
|
6712
6726
|
throw error;
|
|
6727
|
+
} finally {
|
|
6728
|
+
if (releaseLockFileEntry) {
|
|
6729
|
+
releaseLockFileEntry(previousFileEntry && previousFileEntry.lockFileEntry);
|
|
6730
|
+
}
|
|
6713
6731
|
}
|
|
6714
6732
|
Object.assign(fileEntry, {
|
|
6715
6733
|
name,
|
|
@@ -7095,27 +7113,23 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7095
7113
|
signal
|
|
7096
7114
|
} = options;
|
|
7097
7115
|
const {
|
|
7098
|
-
headerInfo
|
|
7116
|
+
headerInfo,
|
|
7117
|
+
fileEntry: pendingFileEntry,
|
|
7118
|
+
previousFileEntry,
|
|
7119
|
+
releaseLockFileEntry
|
|
7099
7120
|
} = entryInfo;
|
|
7100
7121
|
const usdz = zipWriter.options[OPTION_USDZ];
|
|
7101
|
-
|
|
7102
|
-
let fileEntry = {};
|
|
7122
|
+
let fileEntry = pendingFileEntry;
|
|
7103
7123
|
let bufferedWrite;
|
|
7104
7124
|
let releaseLockWriter;
|
|
7105
|
-
let releaseLockCurrentFileEntry;
|
|
7106
7125
|
let writingBufferedEntryData;
|
|
7107
7126
|
let writingEntryData;
|
|
7108
7127
|
let writerSizeBeforeEntry;
|
|
7109
7128
|
let flushedBufferedSize = 0;
|
|
7110
7129
|
let fileWriter;
|
|
7130
|
+
const lockPreviousFileEntry = keepOrder && previousFileEntry ? previousFileEntry.lockFileEntry : UNDEFINED_VALUE;
|
|
7111
7131
|
fileEntries.set(name, fileEntry);
|
|
7112
|
-
zipWriter.lastFileEntry = fileEntry;
|
|
7113
7132
|
try {
|
|
7114
|
-
let lockPreviousFileEntry;
|
|
7115
|
-
if (keepOrder) {
|
|
7116
|
-
lockPreviousFileEntry = previousFileEntry && previousFileEntry.lockFileEntry;
|
|
7117
|
-
requestLockCurrentFileEntry();
|
|
7118
|
-
}
|
|
7119
7133
|
if (options.bufferedWrite || !keepOrder || zipWriter.writerLocked || zipWriter.bufferedWrites || (!dataDescriptor && !emptyEntry)) {
|
|
7120
7134
|
bufferedWrite = true;
|
|
7121
7135
|
zipWriter.bufferedWrites++;
|
|
@@ -7128,6 +7142,7 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7128
7142
|
await initStream(writer);
|
|
7129
7143
|
} else {
|
|
7130
7144
|
fileWriter = writer;
|
|
7145
|
+
await lockPreviousFileEntry;
|
|
7131
7146
|
await requestLockWriter();
|
|
7132
7147
|
}
|
|
7133
7148
|
await initStream(fileWriter);
|
|
@@ -7140,7 +7155,6 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7140
7155
|
}
|
|
7141
7156
|
const { localHeaderArray } = headerInfo;
|
|
7142
7157
|
if (!bufferedWrite) {
|
|
7143
|
-
await lockPreviousFileEntry;
|
|
7144
7158
|
await skipDiskIfNeeded();
|
|
7145
7159
|
}
|
|
7146
7160
|
const diskNumberStart = getDiskNumber(writer);
|
|
@@ -7205,8 +7219,8 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7205
7219
|
if (bufferedWrite) {
|
|
7206
7220
|
zipWriter.bufferedWrites--;
|
|
7207
7221
|
}
|
|
7208
|
-
if (
|
|
7209
|
-
|
|
7222
|
+
if (releaseLockFileEntry) {
|
|
7223
|
+
releaseLockFileEntry(lockPreviousFileEntry);
|
|
7210
7224
|
}
|
|
7211
7225
|
if (releaseLockWriter) {
|
|
7212
7226
|
releaseLockWriter();
|
|
@@ -7220,10 +7234,6 @@ async function getFileEntry(zipWriter, name, reader, entryInfo, options) {
|
|
|
7220
7234
|
}
|
|
7221
7235
|
}
|
|
7222
7236
|
|
|
7223
|
-
function requestLockCurrentFileEntry() {
|
|
7224
|
-
fileEntry.lockFileEntry = new Promise(resolve => releaseLockCurrentFileEntry = resolve);
|
|
7225
|
-
}
|
|
7226
|
-
|
|
7227
7237
|
async function requestLockWriter() {
|
|
7228
7238
|
zipWriter.writerLocked = true;
|
|
7229
7239
|
const { lockWriter } = zipWriter;
|
|
@@ -8543,7 +8553,7 @@ function formatSupported(StreamClass, format) {
|
|
|
8543
8553
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
8544
8554
|
*/
|
|
8545
8555
|
|
|
8546
|
-
const VERSION = "2.8.
|
|
8556
|
+
const VERSION = "2.8.61";
|
|
8547
8557
|
|
|
8548
8558
|
/*
|
|
8549
8559
|
Copyright (c) 2025 Gildas Lormeau. All rights reserved.
|