diff --git a/.npm/package/npm-shrinkwrap.json b/.npm/package/npm-shrinkwrap.json index 17c7defd..45640d4f 100644 --- a/.npm/package/npm-shrinkwrap.json +++ b/.npm/package/npm-shrinkwrap.json @@ -1,568 +1,455 @@ { "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", + "from": "ansi-regex@>=2.0.0 <3.0.0" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "from": "ansi-styles@>=2.2.1 <3.0.0" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "from": "asn1@>=0.2.3 <0.3.0" + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "from": "assert-plus@>=0.2.0 <0.3.0" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "from": "async@>=1.5.2 <2.0.0" + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "from": "aws-sign2@>=0.6.0 <0.7.0" + }, + "aws4": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz", + "from": "aws4@>=1.2.1 <2.0.0" + }, + "balanced-match": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", + "from": "balanced-match@>=0.4.1 <0.5.0" + }, + "bl": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "from": "bl@>=1.1.2 <1.2.0" + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "from": "boom@>=2.0.0 <3.0.0" + }, + "brace-expansion": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz", + "from": "brace-expansion@>=1.0.0 <2.0.0" + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "from": "caseless@>=0.11.0 <0.12.0" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "from": "chalk@>=1.1.1 <2.0.0" + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "from": "combined-stream@>=1.0.5 <1.1.0" + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "from": "commander@>=2.9.0 <3.0.0" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "from": "concat-map@0.0.1" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "from": "core-util-is@>=1.0.0 <1.1.0" + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "from": "cryptiles@>=2.0.0 <3.0.0" + }, + "dashdash": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "from": "dashdash@>=1.12.0 <2.0.0", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "from": "assert-plus@>=1.0.0 <2.0.0" + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "from": "debug@>=2.0.0 <3.0.0" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "from": "delayed-stream@>=1.0.0 <1.1.0" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "from": "ecc-jsbn@>=0.1.1 <0.2.0" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "from": "escape-string-regexp@>=1.0.2 <2.0.0" + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "from": "extend@>=3.0.0 <3.1.0" + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "from": "extsprintf@1.0.2" + }, "file-type": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.8.0.tgz", - "from": "https://registry.npmjs.org/file-type/-/file-type-3.8.0.tgz" + "from": "file-type@3.8.0" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "from": "forever-agent@>=0.6.1 <0.7.0" + }, + "form-data": { + "version": "1.0.0-rc4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "from": "form-data@>=1.0.0-rc4 <1.1.0" }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "from": "fs-extra@0.30.0", + "from": "fs-extra@0.30.0" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "from": "fs.realpath@>=1.0.0 <2.0.0" + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "from": "generate-function@>=2.0.0 <3.0.0" + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "from": "generate-object-property@>=1.1.0 <2.0.0" + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "from": "getpass@>=0.1.1 <0.2.0", "dependencies": { - "graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", - "from": "graceful-fs@>=4.1.2 <5.0.0" - }, - "jsonfile": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.0.tgz", - "from": "jsonfile@>=2.1.0 <3.0.0" - }, - "klaw": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.2.0.tgz", - "from": "klaw@>=1.0.0 <2.0.0" - }, - "path-is-absolute": { + "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", - "from": "path-is-absolute@>=1.0.0 <2.0.0" - }, - "rimraf": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", - "from": "rimraf@>=2.2.8 <3.0.0", - "dependencies": { - "glob": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz", - "from": "glob@>=7.0.0 <8.0.0", - "dependencies": { - "inflight": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", - "from": "inflight@>=1.0.4 <2.0.0", - "dependencies": { - "wrappy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", - "from": "wrappy@>=1.0.0 <2.0.0" - } - } - }, - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "from": "inherits@>=2.0.0 <3.0.0" - }, - "minimatch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", - "dependencies": { - "brace-expansion": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "dependencies": { - "balanced-match": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz", - "from": "balanced-match@>=0.4.1 <0.5.0" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "from": "concat-map@0.0.1" - } - } - } - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "from": "once@>=1.3.0 <2.0.0", - "dependencies": { - "wrappy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz", - "from": "wrappy@>=1.0.0 <2.0.0" - } - } - } - } - } - } + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "from": "assert-plus@>=1.0.0 <2.0.0" } } }, + "glob": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "from": "glob@>=7.0.5 <8.0.0" + }, + "graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz", + "from": "graceful-fs@>=4.1.2 <5.0.0" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "from": "graceful-readlink@>=1.0.0" + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "from": "har-validator@>=2.0.6 <2.1.0" + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "from": "has-ansi@>=2.0.0 <3.0.0" + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "from": "hawk@>=3.1.3 <3.2.0" + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "from": "hoek@>=2.0.0 <3.0.0" + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "from": "http-signature@>=1.1.0 <1.2.0" + }, + "inflight": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz", + "from": "inflight@>=1.0.4 <2.0.0" + }, + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "from": "inherits@>=2.0.0 <3.0.0" + }, + "is-my-json-valid": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", + "from": "is-my-json-valid@>=2.12.4 <3.0.0" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "from": "is-property@>=1.0.0 <2.0.0" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "from": "is-typedarray@>=1.0.0 <1.1.0" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "from": "isarray@>=1.0.0 <1.1.0" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "from": "isstream@>=0.1.2 <0.2.0" + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "from": "jodid25519@>=1.0.0 <2.0.0" + }, + "jsbn": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", + "from": "jsbn@>=0.1.0 <0.2.0" + }, + "json-schema": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", + "from": "json-schema@0.2.2" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "from": "json-stringify-safe@>=5.0.1 <5.1.0" + }, + "jsonfile": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz", + "from": "jsonfile@>=2.1.0 <3.0.0" + }, + "jsonpointer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", + "from": "jsonpointer@2.0.0" + }, + "jsprim": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz", + "from": "jsprim@>=1.2.2 <2.0.0" + }, + "klaw": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz", + "from": "klaw@>=1.0.0 <2.0.0" + }, + "mime-db": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz", + "from": "mime-db@>=1.23.0 <1.24.0" + }, + "mime-types": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", + "from": "mime-types@>=2.1.7 <2.2.0" + }, + "minimatch": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz", + "from": "minimatch@>=3.0.2 <4.0.0" + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "from": "ms@0.7.1" + }, + "node-uuid": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", + "from": "node-uuid@>=1.4.7 <1.5.0" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "from": "oauth-sign@>=0.8.1 <0.9.0" + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "from": "once@>=1.3.0 <2.0.0" + }, + "path-is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "from": "path-is-absolute@>=1.0.0 <2.0.0" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "from": "pinkie@>=2.0.0 <3.0.0" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "from": "pinkie-promise@>=2.0.0 <3.0.0" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "from": "process-nextick-args@>=1.0.6 <1.1.0" + }, + "qs": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", + "from": "qs@>=6.2.0 <6.3.0" + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "from": "readable-stream@>=2.0.5 <2.1.0" + }, "request": { - "version": "2.72.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz", - "from": "https://registry.npmjs.org/request/-/request-2.72.0.tgz", + "version": "2.73.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz", + "from": "request@2.73.0" + }, + "rimraf": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz", + "from": "rimraf@>=2.2.8 <3.0.0" + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "from": "sntp@>=1.0.0 <2.0.0" + }, + "sshpk": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", + "from": "sshpk@>=1.7.0 <2.0.0", "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "from": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "aws4": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", - "from": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", - "dependencies": { - "lru-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "from": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "from": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - }, - "yallist": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz", - "from": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" - } - } - } - } - }, - "bl": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "from": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "from": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "process-nextick-args": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz", - "from": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "from": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "from": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "from": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "from": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - } - } - }, - "extend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "from": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "from": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "from": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "from": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - } - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "from": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "from": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "from": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "from": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "from": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "from": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz", - "from": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "from": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - } - } - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "from": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "from": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "from": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "dependencies": { - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "from": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "from": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "dependencies": { - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "from": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz", - "from": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "from": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "from": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "dependencies": { - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "from": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "from": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "dependencies": { - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "from": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "from": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "from": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "from": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "from": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "jsprim": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", - "from": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "from": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "json-schema": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz", - "from": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "from": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - } - } - }, - "sshpk": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.1.tgz", - "from": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.1.tgz", - "dependencies": { - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "from": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "from": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - }, - "dashdash": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.1.tgz", - "from": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.1.tgz" - }, - "ecc-jsbn": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.0.1.tgz", - "from": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.0.1.tgz", - "dependencies": { - "jsbn": { - "version": "0.0.0", - "resolved": "git+https://github.com/rynomad/jsbn.git#bb522b0124f75424f89d49446c40a87111942c7b", - "from": "git+https://github.com/rynomad/jsbn.git#bb522b0124f75424f89d49446c40a87111942c7b" - } - } - }, - "getpass": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.5.tgz", - "from": "https://registry.npmjs.org/getpass/-/getpass-0.1.5.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "from": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "jsbn": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "from": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "tweetnacl": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", - "from": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" - } - } - } - } - }, - "is-typedarray": { + "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "from": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "from": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "from": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "mime-types": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "from": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz", - "from": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - }, - "node-uuid": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz", - "from": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "oauth-sign": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz", - "from": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" - }, - "qs": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz", - "from": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "from": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "tough-cookie": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", - "from": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" - }, - "tunnel-agent": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz", - "from": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "from": "assert-plus@>=1.0.0 <2.0.0" } } }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "from": "stream-parser@>=0.0.2" + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "from": "string_decoder@>=0.10.0 <0.11.0" + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "from": "stringstream@>=0.0.4 <0.1.0" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "from": "strip-ansi@>=3.0.0 <4.0.0" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "from": "supports-color@>=2.0.0 <3.0.0" + }, "throttle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/throttle/-/throttle-1.0.3.tgz", - "from": "https://registry.npmjs.org/throttle/-/throttle-1.0.3.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.3.tgz", - "from": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.3.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz", - "from": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" - }, - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "from": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "from": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "process-nextick-args": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz", - "from": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "from": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "from": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - }, - "stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "from": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "from": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dependencies": { - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "from": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - } - } - } - } - } - } + "from": "throttle@1.0.3" + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "from": "tough-cookie@>=2.2.0 <2.3.0" + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "from": "tunnel-agent@>=0.4.1 <0.5.0" + }, + "tweetnacl": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz", + "from": "tweetnacl@>=0.13.0 <0.14.0" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "from": "util-deprecate@>=1.0.1 <1.1.0" + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "from": "verror@1.3.6" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "from": "wrappy@>=1.0.0 <2.0.0" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "from": "xtend@>=4.0.0 <5.0.0" } } } diff --git a/.versions b/.versions index 47f7011f..1acb1920 100644 --- a/.versions +++ b/.versions @@ -1,43 +1,43 @@ -babel-compiler@6.8.3 +babel-compiler@6.8.4 babel-runtime@0.1.9_1 base64@1.0.9 blaze@2.1.8 blaze-tools@1.0.9 boilerplate-generator@1.0.9 -caching-compiler@1.0.5_1 +caching-compiler@1.0.6 caching-html-compiler@1.0.6 check@1.2.3 -coffeescript@1.1.2_1 +coffeescript@1.1.3 deps@1.0.12 diff-sequence@1.0.6 -ecmascript@0.4.6_1 -ecmascript-runtime@0.2.11_1 +ecmascript@0.4.7 +ecmascript-runtime@0.2.12 ejson@1.0.12 html-tools@1.0.10 htmljs@1.0.10 -http@1.1.7 +http@1.1.8 id-map@1.0.8 jquery@1.11.9 -logging@1.0.13_1 -meteor@1.1.15_1 -minifier-js@1.1.12_1 -modules@0.6.4 -modules-runtime@0.6.4_1 +logging@1.0.14 +meteor@1.1.16 +minifier-js@1.1.13 +modules@0.6.5 +modules-runtime@0.6.5 mongo-id@1.0.5 observe-sequence@1.0.12 ostrio:cookies@2.0.4 -ostrio:files@1.6.2 -promise@0.7.2_1 +ostrio:files@1.6.3 +promise@0.7.3 random@1.0.10 reactive-var@1.0.10 routepolicy@1.0.11 spacebars@1.0.12 spacebars-compiler@1.0.12 -templating@1.1.12_1 +templating@1.1.13 templating-tools@1.0.4 tracker@1.0.14 ui@1.0.11 underscore@1.0.9 url@1.0.10 -webapp@1.2.9_1 +webapp@1.2.10 webapp-hashing@1.0.9 diff --git a/demo/.meteor/.gitignore b/demo/.meteor/.gitignore index 40830374..501f92e4 100644 --- a/demo/.meteor/.gitignore +++ b/demo/.meteor/.gitignore @@ -1 +1,2 @@ +dev_bundle local diff --git a/demo/.meteor/release b/demo/.meteor/release index f80cc1ce..e5b4dc18 100644 --- a/demo/.meteor/release +++ b/demo/.meteor/release @@ -1 +1 @@ -METEOR@1.3.4.1 +METEOR@1.3.4.4 diff --git a/demo/.meteor/versions b/demo/.meteor/versions index 38f1fd48..6344326a 100644 --- a/demo/.meteor/versions +++ b/demo/.meteor/versions @@ -12,8 +12,8 @@ aldeed:simple-schema@1.5.3 allow-deny@1.0.5 arillo:flow-router-helpers@0.5.2 audit-argument-checks@1.0.7 -autoupdate@1.2.10 -babel-compiler@6.8.3 +autoupdate@1.2.11 +babel-compiler@6.8.4 babel-runtime@0.1.9_1 base64@1.0.9 binary-heap@1.0.9 @@ -21,21 +21,21 @@ blaze@2.1.8 blaze-html-templates@1.0.4 blaze-tools@1.0.9 boilerplate-generator@1.0.9 -caching-compiler@1.0.5_1 +caching-compiler@1.0.6 caching-html-compiler@1.0.6 callback-hook@1.0.9 cfs:graphicsmagick@0.0.18 check@1.2.3 -coffeescript@1.1.2_1 +coffeescript@1.1.3 ddp@1.2.5 -ddp-client@1.2.8_1 +ddp-client@1.2.9 ddp-common@1.2.6 ddp-rate-limiter@1.0.5 -ddp-server@1.2.8_1 +ddp-server@1.2.9 deps@1.0.12 diff-sequence@1.0.6 -ecmascript@0.4.6_1 -ecmascript-runtime@0.2.11_1 +ecmascript@0.4.7 +ecmascript-runtime@0.2.12 ejson@1.0.12 facebook@1.2.8 fastclick@1.0.12 @@ -46,34 +46,34 @@ github@1.1.8 hot-code-push@1.0.4 html-tools@1.0.10 htmljs@1.0.10 -http@1.1.7 +http@1.1.8 id-map@1.0.8 jquery@1.11.9 launch-screen@1.0.12 livedata@1.0.18 localstorage@1.0.11 -logging@1.0.13_1 +logging@1.0.14 markdown@1.0.10 mdg:validation-error@0.2.0 -meteor@1.1.15_1 +meteor@1.1.16 meteor-base@1.0.4 meteor-developer@1.1.9 meteorhacks:subs-manager@1.6.4 -minifier-css@1.1.12_1 -minifier-js@1.1.12_1 +minifier-css@1.1.13 +minifier-js@1.1.13 minifiers@1.1.7 minimongo@1.0.17 mobile-experience@1.0.4 mobile-status-bar@1.0.12 -modules@0.6.4 -modules-runtime@0.6.4_1 +modules@0.6.5 +modules-runtime@0.6.5 momentjs:moment@2.14.1 mongo@1.1.9_1 mongo-id@1.0.5 mquandalle:jade@0.4.9 mquandalle:jade-compiler@0.4.5 mrt:filesize@2.0.3 -npm-mongo@1.4.44_1 +npm-mongo@1.4.45 oauth@1.1.11 oauth1@1.1.10 oauth2@1.1.10 @@ -81,14 +81,14 @@ observe-sequence@1.0.12 ordered-dict@1.0.8 ostrio:cookies@2.0.4 ostrio:cstorage@2.0.5 -ostrio:files@1.6.2 +ostrio:files@1.6.3 ostrio:flow-router-extra@2.12.2 ostrio:flow-router-meta@1.1.1 ostrio:flow-router-title@2.1.1 ostrio:spiderable-middleware@1.0.1 ostrio:templatehelpers@1.1.2 perak:markdown@1.0.5 -promise@0.7.2_1 +promise@0.7.3 raix:eventemitter@0.1.3 random@1.0.10 rate-limit@1.0.5 @@ -102,15 +102,15 @@ session@1.1.6 simple:highlight.js@1.2.0 spacebars@1.0.12 spacebars-compiler@1.0.12 -standard-minifier-css@1.0.7_1 -standard-minifier-js@1.0.7_1 -templating@1.1.12_1 +standard-minifier-css@1.0.8 +standard-minifier-js@1.0.8 +templating@1.1.13 templating-tools@1.0.4 tracker@1.0.14 twitter@1.1.11 ui@1.0.11 underscore@1.0.9 url@1.0.10 -webapp@1.2.9_1 +webapp@1.2.10 webapp-hashing@1.0.9 zimme:active-route@2.3.2 diff --git a/docs/constructor.md b/docs/constructor.md index b80f0d62..af1d665d 100644 --- a/docs/constructor.md +++ b/docs/constructor.md @@ -126,6 +126,23 @@ + + + config.responseHeaders {Object|Function} + + + Server + + + Allows to change default response headers + + + Default Function + + + We recommend to keep original function structure, with your modifications, see example altering default headers + + config.throttle {Number|false} diff --git a/docs/custom-response-headers.md b/docs/custom-response-headers.md new file mode 100644 index 00000000..d9d58b15 --- /dev/null +++ b/docs/custom-response-headers.md @@ -0,0 +1,62 @@ +#### `FilesCollection` `config.responseHeaders` option (*passed into [Constructor](https://github.com/VeliovGroup/Meteor-Files/wiki/Constructor)*) +Allows to change default response headers. + +##### Default function: +We recommend to keep original function structure, with your modifications +```javascript +function responseHeaders (responseCode, fileRef, versionRef) { + var headers = {}; + switch (responseCode) { + case '206': + headers['Pragma'] = 'private'; + headers['Trailer'] = 'expires'; + headers['Transfer-Encoding'] = 'chunked'; + break; + case '400': + headers['Cache-Control'] = 'no-cache'; + break; + case '416': + headers['Content-Range'] = "bytes */" + versionRef.size; + } + headers['Connection'] = 'keep-alive'; + headers['Content-Type'] = versionRef.type || 'application/octet-stream'; + headers['Accept-Ranges'] = 'bytes'; + return headers; +}; +``` + +##### Adding custom header example: +We recommend to pass `responseHeaders` as a Function, response headers __should be conditional__ +```javascript +// As function (keep original function with additions): +var Uploads = new FilesCollection({ + responseHeaders: function(responseCode, fileRef, versionRef, version) { + var headers = {}; + switch (responseCode) { + case '206': + headers['Pragma'] = 'private'; + headers['Trailer'] = 'expires'; + headers['Transfer-Encoding'] = 'chunked'; + break; + case '400': + headers['Cache-Control'] = 'no-cache'; + break; + case '416': + headers['Content-Range'] = "bytes */" + versionRef.size; + } + headers['Connection'] = 'keep-alive'; + headers['Content-Type'] = versionRef.type || 'application/octet-stream'; + headers['Accept-Ranges'] = 'bytes'; + headers['Access-Control-Allow-Origin'] = '*';// <-- Custom header + return headers; + } +}); + +// As object (not recommended): +var Uploads = new FilesCollection({ + responseHeaders: { + Connection: 'keep-alive', + 'Access-Control-Allow-Origin': '*' + } +}); +``` \ No newline at end of file diff --git a/files.coffee b/files.coffee index 2a7edfc5..c2b5f62a 100755 --- a/files.coffee +++ b/files.coffee @@ -419,6 +419,7 @@ fixJSONStringify = (obj) -> @param config.parentDirPermissions {Number} - [Server] Permissions which will be set to parent directory of uploaded files (octal), like: `611` or `0o777`. Default: 0755 @param config.storagePath {String|Function} - [Server] Storage path on file system @param config.cacheControl {String} - [Server] Default `Cache-Control` header +@param config.responseHeaders {Object|Function} - [Server] Custom response headers, if function is passed, must return Object @param config.throttle {Number} - [Server] bps throttle threshold @param config.downloadRoute {String} - [Both] Server Route used to retrieve files @param config.collection {Mongo.Collection} - [Both] Mongo Collection Instance @@ -445,7 +446,7 @@ class FilesCollection events.EventEmitter.call @ else EventEmitter.call @ - {storagePath, @collection, @collectionName, @downloadRoute, @schema, @chunkSize, @namingFunction, @debug, @onbeforeunloadMessage, @permissions, @parentDirPermissions, @allowClientCode, @onBeforeUpload, @integrityCheck, @protected, @public, @strict, @downloadCallback, @cacheControl, @throttle, @onAfterUpload, @onAfterRemove, @interceptDownload, @onBeforeRemove, @continueUploadTTL} = config if config + {storagePath, @collection, @collectionName, @downloadRoute, @schema, @chunkSize, @namingFunction, @debug, @onbeforeunloadMessage, @permissions, @parentDirPermissions, @allowClientCode, @onBeforeUpload, @integrityCheck, @protected, @public, @strict, @downloadCallback, @cacheControl, @responseHeaders, @throttle, @onAfterUpload, @onAfterRemove, @interceptDownload, @onBeforeRemove, @continueUploadTTL} = config if config self = @ cookie = new Cookies() @@ -483,6 +484,7 @@ class FilesCollection delete @downloadCallback delete @interceptDownload delete @continueUploadTTL + delete @responseHeaders if _.has(Package, 'accounts-base') setTokenCookie = -> @@ -521,6 +523,22 @@ class FilesCollection @_currentUploads ?= {} @downloadCallback ?= false @continueUploadTTL ?= 10800 + @responseHeaders ?= (responseCode, fileRef, versionRef) -> + headers = {} + switch responseCode + when '206' + headers['Pragma'] = 'private' + headers['Trailer'] = 'expires' + headers['Transfer-Encoding'] = 'chunked' + when '400' + headers['Cache-Control'] = 'no-cache' + when '416' + headers['Content-Range'] = "bytes */#{versionRef.size}" + + headers['Connection'] = 'keep-alive' + headers['Content-Type'] = versionRef.type or 'application/octet-stream' + headers['Accept-Ranges'] = 'bytes' + return headers if @public and not storagePath throw new Meteor.Error 500, "[FilesCollection.#{@collectionName}] \"storagePath\" must be set on \"public\" collections! Note: \"storagePath\" must be equal on be inside of your web/proxy-server (absolute) root." @@ -560,6 +578,7 @@ class FilesCollection check @downloadCallback, Match.OneOf false, Function check @interceptDownload, Match.OneOf false, Function check @continueUploadTTL, Number + check @responseHeaders, Match.OneOf Object, Function @_preCollection = new Mongo.Collection '__pre_' + @collectionName @_preCollection._ensureIndex {'createdAt': 1}, {expireAfterSeconds: @continueUploadTTL, background: true} @@ -1994,11 +2013,7 @@ class FilesCollection dispositionName = "filename=\"#{encodeURIComponent(fileRef.name)}\"; filename=*UTF-8\"#{encodeURIComponent(fileRef.name)}\"; " dispositionEncoding = 'charset=utf-8' - http.response.setHeader 'Content-Type', vRef.type http.response.setHeader 'Content-Disposition', dispositionType + dispositionName + dispositionEncoding - http.response.setHeader 'Accept-Ranges', 'bytes' - http.response.setHeader 'Last-Modified', fileRef?.updatedAt?.toUTCString() if fileRef?.updatedAt?.toUTCString() - http.response.setHeader 'Connection', 'keep-alive' if http.request.headers.range and not force200 partiral = true @@ -2022,16 +2037,12 @@ class FilesCollection reqRange.end = start + take reqRange.end = vRef.size - 1 if ((start + take) >= vRef.size) - http.response.setHeader 'Pragma', 'private' - http.response.setHeader 'Expires', new Date(+new Date + 1000*32400).toUTCString() - http.response.setHeader 'Cache-Control', 'private, maxage=10800, s-maxage=32400' if self.strict and (reqRange.start >= (vRef.size - 1) or reqRange.end > (vRef.size - 1)) responseType = '416' else responseType = '206' else - http.response.setHeader 'Cache-Control', self.cacheControl responseType = '200' streamErrorHandler = (error) -> @@ -2040,13 +2051,20 @@ class FilesCollection console.error "[FilesCollection] [serve(#{vRef.path}, #{version})] [500]", error if self.debug return + headers = if _.isFunction(self.responseHeaders) then self.responseHeaders(responseType, fileRef, vRef, version) else self.responseHeaders + + unless headers['Cache-Control'] + http.response.setHeader 'Cache-Control', self.cacheControl + + for key, value of headers + http.response.setHeader key, value + switch responseType when '400' console.warn "[FilesCollection] [serve(#{vRef.path}, #{version})] [400] Content-Length mismatch!" if self.debug text = 'Content-Length mismatch!' http.response.writeHead 400, 'Content-Type': 'text/plain' - 'Cache-Control': 'no-cache' 'Content-Length': text.length http.response.end text break @@ -2055,8 +2073,7 @@ class FilesCollection break when '416' console.warn "[FilesCollection] [serve(#{vRef.path}, #{version})] [416] Content-Range is not specified!" if self.debug - http.response.writeHead 416, - 'Content-Range': "bytes */#{vRef.size}" + http.response.writeHead 416 http.response.end() break when '200' @@ -2076,8 +2093,6 @@ class FilesCollection when '206' console.info "[FilesCollection] [serve(#{vRef.path}, #{version})] [206]" if self.debug http.response.setHeader 'Content-Range', "bytes #{reqRange.start}-#{reqRange.end}/#{vRef.size}" - http.response.setHeader 'Trailer', 'expires' - http.response.setHeader 'Transfer-Encoding', 'chunked' stream = readableStream or fs.createReadStream vRef.path, {start: reqRange.start, end: reqRange.end} http.response.writeHead 206 if readableStream stream.on('open', -> diff --git a/package.js b/package.js index 9b7c8b79..a040cb10 100755 --- a/package.js +++ b/package.js @@ -1,6 +1,6 @@ Package.describe({ name: 'ostrio:files', - version: '1.6.2', + version: '1.6.3', summary: 'Fast and robust file upload package, with support of FS, AWS, GridFS, DropBox or Google Drive', git: 'https://github.com/VeliovGroup/Meteor-Files', documentation: 'README.md' @@ -20,7 +20,7 @@ Package.onUse(function(api) { Npm.depends({ 'fs-extra': '0.30.0', // NOTE: this package has dropped support for Node v0.10, since v0.29.0; Brought back Node v0.10 support in v0.30.0, official support will end 2016-10-01 - 'request': '2.72.0', + 'request': '2.73.0', 'throttle': '1.0.3', 'file-type': '3.8.0' });