Skip to content

Commit c2ec755

Browse files
committed
version bump 0.11.18: infrastructure
- updated dependencies - fixed eslint config - fusebox demo
1 parent 376db8f commit c2ec755

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1536
-1666
lines changed

.eslintrc

+12-9
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22
"env": { "shared-node-browser":true },
33
"globals": {},
44
"parserOptions": {
5-
"ecmaVersion": 3,
5+
"ecmaVersion": 3
66
},
77
"plugins": [ "html", "json" ],
8-
"!extends": "eslint:recommended",
8+
"extends": "eslint:recommended",
99
"rules": {
10+
"comma-style": [ 2, "last" ],
11+
"comma-dangle": [ 2, "never" ],
12+
"curly": 0,
13+
"no-bitwise": 0,
14+
"no-console": 0,
15+
"no-control-regex": 0,
16+
"no-empty": 0,
17+
"no-trailing-spaces": 2,
1018
"no-use-before-define": [ 1, {
1119
"functions":false, "classes":true, "variables":false
1220
}],
13-
"no-console": 0,
14-
"no-bitwise": 0,
15-
"curly": 0,
16-
"comma-style": [ 2, "last" ],
17-
"no-trailing-spaces": 2,
18-
"semi": [ 2, "always" ],
19-
"comma-dangle": [ 2, "never" ]
21+
"no-useless-escape": 0,
22+
"semi": [ 2, "always" ]
2023
}
2124
}

.spelling

+1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ deduplication
7070
destructuring
7171
embeddable
7272
filesystem
73+
globals
7374
javascript
7475
metadata
7576
natively

bin/xlsx.njs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env node
22
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
33
/* eslint-env node */
4-
var n = "xlsx";
54
/* vim: set ts=2 ft=javascript: */
5+
var n = "xlsx";
66
var X = require('../');
77
require('exit-on-epipe');
88
var fs = require('fs'), program = require('commander');
@@ -26,7 +26,7 @@ program
2626
//.option('-4, --biff4','emit XLS to <sheetname> or <file>.xls (BIFF4)')
2727
//.option('-3, --biff3','emit XLS to <sheetname> or <file>.xls (BIFF3)')
2828
.option('-2, --biff2','emit XLS to <sheetname> or <file>.xls (BIFF2)')
29-
.option('-i, --xla', 'emit XLA to <sheetname> or <file>.xla')
29+
.option('-i, --xla', 'emit XLA to <sheetname> or <file>.xla')
3030
.option('-6, --xlml', 'emit SSML to <sheetname> or <file>.xls (2003 XML)')
3131
.option('-T, --fods', 'emit FODS to <sheetname> or <file>.fods (Flat ODS)')
3232

bits/00_header.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
22
/* vim: set ts=2: */
33
/*exported XLSX */
4-
/*global global, exports, module, require:false, process:false, Buffer:false */
4+
/*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */
55
var XLSX = {};
66
(function make_xlsx(XLSX){

bits/01_version.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
XLSX.version = '0.11.17';
1+
XLSX.version = '0.11.18';

bits/18_cfb.js

+9-6
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type CFBFiles = {[n:string]:CFBEntry};
3838
/* [MS-CFB] v20130118 */
3939
var CFB = (function _CFB(){
4040
var exports/*:CFBModule*/ = /*::(*/{}/*:: :any)*/;
41-
exports.version = '1.0.1';
41+
exports.version = '1.0.2';
4242
/* [MS-CFB] 2.6.4 */
4343
function namecmp(l/*:string*/, r/*:string*/)/*:number*/ {
4444
var L = l.split("/"), R = r.split("/");
@@ -474,6 +474,7 @@ function rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {
474474
}
475475

476476
function _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {
477+
var _opts = options || {};
477478
rebuild_cfb(cfb);
478479
var L = (function(cfb/*:CFBContainer*/)/*:Array<number>*/{
479480
var mini_size = 0, fat_size = 0;
@@ -482,9 +483,10 @@ function _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {
482483
if(!file.content) continue;
483484
/*:: if(file.content == null) throw new Error("unreachable"); */
484485
var flen = file.content.length;
485-
if(flen === 0){}
486-
else if(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;
487-
else fat_size += (flen + 0x01FF) >> 9;
486+
if(flen > 0){
487+
if(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;
488+
else fat_size += (flen + 0x01FF) >> 9;
489+
}
488490
}
489491
var dir_cnt = (cfb.FullPaths.length +3) >> 2;
490492
var mini_cnt = (mini_size + 7) >> 3;
@@ -569,8 +571,9 @@ function _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {
569571
}
570572
file = cfb.FileIndex[i];
571573
if(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;
572-
flen = 2*(file.name.length+1);
573-
o.write_shift(64, file.name, "utf16le");
574+
var _nm/*:string*/ = (i === 0 && _opts.root) || file.name;
575+
flen = 2*(_nm.length+1);
576+
o.write_shift(64, _nm, "utf16le");
574577
o.write_shift(2, flen);
575578
o.write_shift(1, file.type);
576579
o.write_shift(1, file.color);

bits/22_xmlutils.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ var unescapexml/*:StringConv*/ = (function() {
5555
})();
5656

5757
var decregex=/[&<>'"]/g, charegex = /[\u0000-\u0008\u000b-\u001f]/g;
58-
function escapexml(text/*:string*/, xml/*:?boolean*/)/*:string*/{
58+
function escapexml(text/*:string*/)/*:string*/{
5959
var s = text + '';
6060
return s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return "_x" + ("000"+s.charCodeAt(0).toString(16)).slice(-4) + "_";});
6161
}
@@ -82,7 +82,7 @@ var xlml_unfixstr/*:StringConv*/ = (function() {
8282
return function xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\r\n|[\r\n])/g,"\&#10;"); };
8383
})();
8484

85-
function parsexmlbool(value/*:any*/, tag/*:?string*/)/*:boolean*/ {
85+
function parsexmlbool(value/*:any*/)/*:boolean*/ {
8686
switch(value) {
8787
case 1: case true: case '1': case 'true': case 'TRUE': return true;
8888
/* case '0': case 'false': case 'FALSE':*/

bits/23_binutils.js

-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ var ___utf16le = __utf16le;
3232
var __hexlify = function(b/*:RawBytes|CFBlob*/,s/*:number*/,l/*:number*/)/*:string*/ { var ss/*:Array<string>*/=[]; for(var i=s; i<s+l; ++i) ss.push(("0" + b[i].toString(16)).slice(-2)); return ss.join(""); };
3333
var ___hexlify = __hexlify;
3434
var __utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { var ss=[]; for(var i=s; i<e; i++) ss.push(String.fromCharCode(__readUInt8(b,i))); return ss.join(""); };
35-
var ___utf8 = __utf8;
3635
var __lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";};
3736
var ___lpstr = __lpstr;
3837
var __cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : "";};
@@ -80,9 +79,6 @@ var __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/
8079
var __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };
8180
var __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };
8281

83-
var ___unhexlify = function(s/*:string*/)/*:Array<number>*/ { return (s.match(/../g)||[]).map(function(x) { return parseInt(x,16);}); };
84-
var __unhexlify = typeof Buffer !== "undefined" ? function(s/*:string*/)/*:Array<number>|Buffer*/ { return Buffer.isBuffer(s) ? new Buffer(s, 'hex') : ___unhexlify(s); } : ___unhexlify;
85-
8682
function ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {
8783
var o="", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;
8884
switch(t) {

bits/27_csfutils.js

-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ function unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\$([A-Z])
1111
function split_cell(cstr/*:string*/)/*:Array<string>*/ { return cstr.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(","); }
1212
function decode_cell(cstr/*:string*/)/*:CellAddress*/ { var splt = split_cell(cstr); return { c:decode_col(splt[0]), r:decode_row(splt[1]) }; }
1313
function encode_cell(cell/*:CellAddress*/)/*:string*/ { return encode_col(cell.c) + encode_row(cell.r); }
14-
function fix_cell(cstr/*:string*/)/*:string*/ { return fix_col(fix_row(cstr)); }
15-
function unfix_cell(cstr/*:string*/)/*:string*/ { return unfix_col(unfix_row(cstr)); }
1614
function decode_range(range/*:string*/)/*:Range*/ { var x =range.split(":").map(decode_cell); return {s:x[0],e:x[x.length-1]}; }
1715
/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */
1816
function encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {

bits/28_binstructs.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ function write_XLWideString(data/*:string*/, o) {
1717
}
1818

1919
/* [MS-XLSB] 2.5.143 */
20-
function parse_StrRun(data, length/*:?number*/) {
20+
function parse_StrRun(data) {
2121
return { ich: data.read_shift(2), ifnt: data.read_shift(2) };
2222
}
2323
function write_StrRun(run, o) {
@@ -71,7 +71,7 @@ function parse_XLSBCell(data)/*:any*/ {
7171
var col = data.read_shift(4);
7272
var iStyleRef = data.read_shift(2);
7373
iStyleRef += data.read_shift(1) <<16;
74-
var fPhShow = data.read_shift(1);
74+
data.l++; //var fPhShow = data.read_shift(1);
7575
return { c:col, iStyleRef: iStyleRef };
7676
}
7777
function write_XLSBCell(cell/*:any*/, o/*:?Block*/) {
@@ -101,7 +101,7 @@ function write_XLNullableWideString(data/*:string*/, o) {
101101

102102
/* [MS-XLSB] 2.5.165 */
103103
var parse_XLNameWideString = parse_XLWideString;
104-
var write_XLNameWideString = write_XLWideString;
104+
//var write_XLNameWideString = write_XLWideString;
105105

106106
/* [MS-XLSB] 2.5.114 */
107107
var parse_RelID = parse_XLNullableWideString;
@@ -154,7 +154,7 @@ var write_UncheckedRfX = write_RfX;
154154
/* [MS-XLSB] 2.5.171 */
155155
/* [MS-XLS] 2.5.342 */
156156
/* TODO: error checking, NaN and Infinity values are not valid Xnum */
157-
function parse_Xnum(data, length/*:?number*/) { return data.read_shift(8, 'f'); }
157+
function parse_Xnum(data/*::, length*/) { return data.read_shift(8, 'f'); }
158158
function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }
159159

160160
/* [MS-XLSB] 2.5.198.2 */
@@ -172,19 +172,19 @@ var BErr = {
172172
var RBErr = evert_num(BErr);
173173

174174
/* [MS-XLSB] 2.4.321 BrtColor */
175-
function parse_BrtColor(data, length/*:number*/) {
175+
function parse_BrtColor(data/*::, length*/) {
176176
var out = {};
177177
var d = data.read_shift(1);
178178

179-
var fValidRGB = d & 1;
179+
//var fValidRGB = d & 1;
180180
var xColorType = d >>> 1;
181181

182182
var index = data.read_shift(1);
183183
var nTS = data.read_shift(2, 'i');
184184
var bR = data.read_shift(1);
185185
var bG = data.read_shift(1);
186186
var bB = data.read_shift(1);
187-
var bAlpha = data.read_shift(1);
187+
data.l++; //var bAlpha = data.read_shift(1);
188188

189189
switch(xColorType) {
190190
case 0: out.auto = 1; break;
@@ -236,7 +236,7 @@ function write_BrtColor(color, o) {
236236
}
237237

238238
/* [MS-XLSB] 2.5.52 */
239-
function parse_FontFlags(data, length/*:number*/, opts) {
239+
function parse_FontFlags(data/*::, length, opts*/) {
240240
var d = data.read_shift(1);
241241
data.l++;
242242
var out = {

bits/29_xlsenum.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ var VT_VARIANT = 0x000C;
1717
//var VT_UI2 = 0x0012;
1818
var VT_UI4 = 0x0013;
1919
//var VT_I8 = 0x0014;
20-
var VT_UI8 = 0x0015;
20+
//var VT_UI8 = 0x0015;
2121
//var VT_INT = 0x0016;
2222
//var VT_UINT = 0x0017;
2323
var VT_LPSTR = 0x001E;

bits/30_ctype.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ function new_ct()/*:any*/ {
198198
TODO:[], xmlns: "" }/*:any*/);
199199
}
200200

201-
function parse_ct(data/*:?string*/, opts) {
201+
function parse_ct(data/*:?string*/) {
202202
var ct = new_ct();
203203
if(!data || !data.match) return ct;
204204
var ctext = {};

bits/32_odmanrdf.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function parse_manifest(d, opts) {
2020
}
2121
}
2222

23-
function write_manifest(manifest/*:Array<Array<string> >*/, opts)/*:string*/ {
23+
function write_manifest(manifest/*:Array<Array<string> >*/)/*:string*/ {
2424
var o = [XML_HEADER];
2525
o.push('<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0" manifest:version="1.2">\n');
2626
o.push(' <manifest:file-entry manifest:full-path="/" manifest:version="1.2" manifest:media-type="application/vnd.oasis.opendocument.spreadsheet"/>\n');
@@ -44,7 +44,7 @@ function write_rdf_has(base/*:string*/, file/*:string*/) {
4444
' </rdf:Description>\n'
4545
].join("");
4646
}
47-
function write_rdf(rdf, opts) {
47+
function write_rdf(rdf) {
4848
var o = [XML_HEADER];
4949
o.push('<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n');
5050
for(var i = 0; i != rdf.length; ++i) {
@@ -58,7 +58,7 @@ function write_rdf(rdf, opts) {
5858
/* TODO: pull properties */
5959
var write_meta_ods/*:{(wb:Workbook, opts:any):string}*/ = (function() {
6060
var payload = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xlink="http://www.w3.org/1999/xlink" office:version="1.2"><office:meta><meta:generator>Sheet' + 'JS ' + XLSX.version + '</meta:generator></office:meta></office:document-meta>';
61-
return function wmo(wb/*:Workbook*/, opts) {
61+
return function wmo(/*:: wb: Workbook, opts: any*/)/*:string*/ {
6262
return payload;
6363
};
6464
})();

bits/34_extprops.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ var EXT_PROPS_XML_ROOT = writextag('Properties', null, {
8383
'xmlns:vt': XMLNS.vt
8484
});
8585

86-
function write_ext_props(cp, opts)/*:string*/ {
87-
var o/*:Array<string>*/ = [], p = {}, W = writextag;
86+
function write_ext_props(cp/*::, opts*/)/*:string*/ {
87+
var o/*:Array<string>*/ = [], W = writextag;
8888
if(!cp) cp = {};
8989
cp.Application = "SheetJS";
9090
o[o.length] = (XML_HEADER);

bits/35_custprops.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function parse_cust_props(data/*:string*/, opts) {
2222
p[name] = unescapexml(text);
2323
break;
2424
case 'bool':
25-
p[name] = parsexmlbool(text, '<vt:bool>');
25+
p[name] = parsexmlbool(text);
2626
break;
2727
case 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':
2828
p[name] = parseInt(text, 10);
@@ -52,7 +52,7 @@ var CUST_PROPS_XML_ROOT = writextag('Properties', null, {
5252
'xmlns:vt': XMLNS.vt
5353
});
5454

55-
function write_cust_props(cp, opts)/*:string*/ {
55+
function write_cust_props(cp/*::, opts*/)/*:string*/ {
5656
var o = [XML_HEADER, CUST_PROPS_XML_ROOT];
5757
if(!cp) return o.join("");
5858
var pid = 1;

bits/36_xlsprops.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function xlml_write_docprops(Props, opts) {
5757
});
5858
return writextag('DocumentProperties', o.join(""), {xmlns:XLMLNS.o });
5959
}
60-
function xlml_write_custprops(Props, Custprops, opts) {
60+
function xlml_write_custprops(Props, Custprops/*::, opts*/) {
6161
var BLACKLIST = ["Worksheets","SheetNames"];
6262
var T = 'CustomDocumentProperties';
6363
var o/*:Array<string>*/ = [];

0 commit comments

Comments
 (0)