jszip
Advanced tools
Comparing version 3.1.1 to 3.1.2
@@ -7,2 +7,8 @@ --- | ||
### v3.1.2 2016-08-23 | ||
- fix support of nodejs `process.platform` in `generate*` methods (see [#335](https://github.com/Stuk/jszip/pull/335)). | ||
- improve browserify/webpack support (see [#333](https://github.com/Stuk/jszip/pull/333)). | ||
- partial support of a promise of text (see [#337](https://github.com/Stuk/jszip/pull/337)). | ||
- fix streamed zip files containing folders (see [#342](https://github.com/Stuk/jszip/pull/342)). | ||
### v3.1.1 2016-08-08 | ||
@@ -9,0 +15,0 @@ - Use a hard-coded JSZip.version, fix an issue with webpack (see [#328](https://github.com/Stuk/jszip/pull/328)). |
@@ -0,1 +1,2 @@ | ||
/* global Promise */ | ||
'use strict'; | ||
@@ -6,3 +7,8 @@ | ||
// - the environment may have a custom Promise implementation (see zone.js) | ||
var ES6Promise = global.Promise || require("lie"); | ||
var ES6Promise = null; | ||
if (typeof Promise !== "undefined") { | ||
ES6Promise = Promise; | ||
} else { | ||
ES6Promise = require("lie"); | ||
} | ||
@@ -9,0 +15,0 @@ /** |
@@ -117,5 +117,9 @@ 'use strict'; | ||
if (streamedContent) { | ||
// Bit 3: the sizes/crc32 are set to zero in the local header. | ||
// The correct values are put in the data descriptor immediately | ||
// following the compressed data. | ||
bitflag |= 0x0008; | ||
} | ||
if (!useCustomEncoding && (useUTF8ForFileName || useUTF8ForComment)) { | ||
// Bit 11: Language encoding flag (EFS). | ||
bitflag |= 0x0800; | ||
@@ -207,3 +211,2 @@ } | ||
// general purpose bit flag | ||
// set bit 11 if utf8 | ||
header += decToHex(bitflag, 2); | ||
@@ -388,5 +391,7 @@ // compression method | ||
var streamedContent = this.streamFiles && !streamInfo['file'].dir; | ||
// don't stream folders (because they don't have any content) | ||
if(this.streamFiles && !streamInfo['file'].dir) { | ||
var record = generateZipParts(streamInfo, this.streamFiles, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); | ||
if(streamedContent) { | ||
var record = generateZipParts(streamInfo, streamedContent, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); | ||
this.push({ | ||
@@ -408,6 +413,7 @@ data : record.fileRecord, | ||
this.accumulate = false; | ||
var record = generateZipParts(streamInfo, this.streamFiles, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); | ||
var streamedContent = this.streamFiles && !streamInfo['file'].dir; | ||
var record = generateZipParts(streamInfo, streamedContent, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); | ||
this.dirRecords.push(record.dirRecord); | ||
if(this.streamFiles && !streamInfo['file'].dir) { | ||
if(streamedContent) { | ||
// after the streamed file, we put data descriptors | ||
@@ -414,0 +420,0 @@ this.push({ |
@@ -45,3 +45,3 @@ 'use strict'; | ||
// a require('package.json').version doesn't work with webpack, see #327 | ||
JSZip.version = "3.1.1"; | ||
JSZip.version = "3.1.2"; | ||
@@ -48,0 +48,0 @@ JSZip.loadAsync = function (content, options) { |
@@ -19,6 +19,6 @@ 'use strict'; | ||
* @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file | ||
* @param {Object} o the options of the file | ||
* @param {Object} originalOptions the options of the file | ||
* @return {Object} the new file. | ||
*/ | ||
var fileAdd = function(name, data, o) { | ||
var fileAdd = function(name, data, originalOptions) { | ||
// be sure sub folders exist | ||
@@ -33,3 +33,3 @@ var dataType = utils.getTypeOf(data), | ||
o = utils.extend(o || {}, defaults); | ||
var o = utils.extend(originalOptions || {}, defaults); | ||
o.date = o.date || new Date(); | ||
@@ -61,3 +61,5 @@ if (o.compression !== null) { | ||
var isUnicodeString = dataType === "string" && o.binary === false && o.base64 === false; | ||
o.binary = !isUnicodeString; | ||
if (!originalOptions || typeof originalOptions.binary === "undefined") { | ||
o.binary = !isUnicodeString; | ||
} | ||
@@ -352,11 +354,11 @@ | ||
if( | ||
options.platform === 'darwin' || | ||
options.platform === 'freebsd' || | ||
options.platform === 'linux' || | ||
options.platform === 'sunos' | ||
opts.platform === 'darwin' || | ||
opts.platform === 'freebsd' || | ||
opts.platform === 'linux' || | ||
opts.platform === 'sunos' | ||
) { | ||
options.platform = "UNIX"; | ||
opts.platform = "UNIX"; | ||
} | ||
if (options.platform === 'win32') { | ||
options.platform = "DOS"; | ||
if (opts.platform === 'win32') { | ||
opts.platform = "DOS"; | ||
} | ||
@@ -363,0 +365,0 @@ |
@@ -7,5 +7,12 @@ 'use strict'; | ||
var base64 = require('../base64'); | ||
var NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter'); | ||
var support = require("../support"); | ||
var external = require("../external"); | ||
var NodejsStreamOutputAdapter = null; | ||
if (support.nodestream) { | ||
try { | ||
NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter'); | ||
} catch(e) {} | ||
} | ||
/** | ||
@@ -12,0 +19,0 @@ * Apply the final transformation of the data. If the user wants a Blob for |
@@ -34,2 +34,6 @@ 'use strict'; | ||
exports.nodestream = !!require("./nodejs/NodejsStreamOutputAdapter").prototype; | ||
try { | ||
exports.nodestream = !!require('readable-stream').Readable; | ||
} catch(e) { | ||
exports.nodestream = false; | ||
} |
{ | ||
"name": "jszip", | ||
"version": "3.1.1", | ||
"version": "3.1.2", | ||
"author": "Stuart Knightley <stuart@stuartk.com>", | ||
@@ -27,2 +27,5 @@ "description": "Create, read and edit .zip files with Javascript http://stuartk.com/jszip", | ||
"main": "./lib/index", | ||
"browser": { | ||
"readable-stream": "./lib/readable-stream-browser.js" | ||
}, | ||
"repository": { | ||
@@ -29,0 +32,0 @@ "type": "git", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
650780
49
14334