diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a7900c691..a90e710fa 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -2,9 +2,14 @@ "name": "Cloudron", "version": "0.0.1", "dependencies": { + "@sindresorhus/df": { + "version": "2.1.0", + "from": "@sindresorhus/df@latest", + "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-2.1.0.tgz" + }, "abbrev": { "version": "1.0.9", - "from": "abbrev@>=1.0.0 <1.1.0", + "from": "abbrev@1.0.x", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" }, "accepts": { @@ -124,7 +129,7 @@ }, "asn1": { "version": "0.2.3", - "from": "asn1@>=0.2.0 <0.3.0", + "from": "asn1@>=0.2.3 <0.3.0", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" }, "assert-plus": { @@ -179,7 +184,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@>=3.2.3 <4.0.0", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -220,7 +225,7 @@ }, "balanced-match": { "version": "0.4.2", - "from": "balanced-match@>=0.4.2 <0.5.0", + "from": "balanced-match@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, "base64-js": { @@ -257,7 +262,7 @@ "binaryheap": { "version": "0.0.3", "from": "binaryheap@>=0.0.3", - "resolved": "https://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz" + "resolved": "http://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz" }, "block-stream": { "version": "0.0.9", @@ -321,7 +326,7 @@ "buffercursor": { "version": "0.0.12", "from": "buffercursor@>=0.0.12", - "resolved": "https://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz", + "resolved": "http://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz", "dependencies": { "assert-plus": { "version": "1.0.0", @@ -354,7 +359,7 @@ }, "builtin-modules": { "version": "1.1.1", - "from": "builtin-modules@>=1.0.0 <2.0.0", + "from": "builtin-modules@^1.0.0", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" }, "bunyan": { @@ -377,7 +382,7 @@ }, "camelcase": { "version": "2.1.1", - "from": "camelcase@^2.0.0", + "from": "camelcase@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" }, "camelcase-keys": { @@ -445,7 +450,7 @@ }, "clone": { "version": "1.0.2", - "from": "clone@>=1.0.2 <2.0.0", + "from": "clone@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" }, "clone-buffer": { @@ -540,7 +545,7 @@ }, "commander": { "version": "2.9.0", - "from": "commander@2.9.0", + "from": "commander@>=2.9.0 <3.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "dev": true }, @@ -592,7 +597,7 @@ "ms": { "version": "0.7.0", "from": "ms@0.7.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz" + "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz" } } }, @@ -691,6 +696,18 @@ } } }, + "cross-spawn-async": { + "version": "2.2.5", + "from": "cross-spawn-async@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.2", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz" + } + } + }, "cryptiles": { "version": "2.0.5", "from": "cryptiles@>=2.0.0 <3.0.0", @@ -746,7 +763,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -792,13 +809,13 @@ }, "db-migrate": { "version": "0.10.0-beta.20", - "from": "db-migrate@>=0.10.0-beta.20 <0.11.0", + "from": "db-migrate@latest", "resolved": "https://registry.npmjs.org/db-migrate/-/db-migrate-0.10.0-beta.20.tgz", "dependencies": { "optimist": { "version": "0.6.1", "from": "optimist@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" + "resolved": "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" }, "semver": { "version": "5.3.0", @@ -814,7 +831,7 @@ }, "db-migrate-mysql": { "version": "1.1.10", - "from": "db-migrate-mysql@>=1.1.10 <2.0.0", + "from": "db-migrate-mysql@latest", "resolved": "https://registry.npmjs.org/db-migrate-mysql/-/db-migrate-mysql-1.1.10.tgz" }, "db-migrate-shared": { @@ -885,7 +902,7 @@ }, "defaults": { "version": "1.0.3", - "from": "defaults@>=1.0.3 <2.0.0", + "from": "defaults@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "dev": true }, @@ -1069,7 +1086,7 @@ }, "error-ex": { "version": "1.3.0", - "from": "error-ex@>=1.2.0 <2.0.0", + "from": "error-ex@^1.2.0", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz" }, "es6-promise": { @@ -1126,6 +1143,18 @@ "from": "etag@>=1.7.0 <1.8.0", "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" }, + "execa": { + "version": "0.2.2", + "from": "execa@>=0.2.2 <0.3.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.2.2.tgz", + "dependencies": { + "object-assign": { + "version": "4.1.1", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + } + } + }, "expand-brackets": { "version": "0.1.5", "from": "expand-brackets@>=0.1.4 <0.2.0", @@ -1211,7 +1240,7 @@ }, "fd-slicer": { "version": "1.0.1", - "from": "fd-slicer@>=1.0.1 <1.1.0", + "from": "fd-slicer@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz" }, "filename-regex": { @@ -1256,7 +1285,7 @@ }, "find-up": { "version": "1.1.2", - "from": "find-up@>=1.0.0 <2.0.0", + "from": "find-up@^1.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" }, "findup-sync": { @@ -1319,7 +1348,7 @@ "forwarded": { "version": "0.1.0", "from": "forwarded@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" + "resolved": "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" }, "fresh": { "version": "0.3.0", @@ -1334,7 +1363,7 @@ }, "fs.realpath": { "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", + "from": "fs.realpath@^1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, "fstream": { @@ -1368,7 +1397,7 @@ }, "get-caller-file": { "version": "1.0.2", - "from": "get-caller-file@>=1.0.1 <2.0.0", + "from": "get-caller-file@^1.0.1", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz" }, "get-stdin": { @@ -1767,14 +1796,14 @@ "dependencies": { "async": { "version": "1.5.2", - "from": "async@^1.4.0", + "from": "async@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "dev": true }, "optimist": { "version": "0.6.1", "from": "optimist@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "resolved": "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dev": true }, "source-map": { @@ -1792,7 +1821,7 @@ }, "har-validator": { "version": "4.2.1", - "from": "har-validator@>=4.2.1 <4.3.0", + "from": "har-validator@>=4.2.0 <4.3.0", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz" }, "has": { @@ -1870,7 +1899,7 @@ }, "http-errors": { "version": "1.5.1", - "from": "http-errors@>=1.5.1 <1.6.0", + "from": "http-errors@>=1.5.0 <1.6.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz" }, "http-signature": { @@ -1960,7 +1989,7 @@ }, "is-arrayish": { "version": "0.2.1", - "from": "is-arrayish@>=0.2.1 <0.3.0", + "from": "is-arrayish@^0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" }, "is-buffer": { @@ -1971,7 +2000,7 @@ }, "is-builtin-module": { "version": "1.0.0", - "from": "is-builtin-module@>=1.0.0 <2.0.0", + "from": "is-builtin-module@^1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz" }, "is-dotfile": { @@ -2087,7 +2116,7 @@ }, "is-utf8": { "version": "0.2.1", - "from": "is-utf8@>=0.2.0 <0.3.0", + "from": "is-utf8@^0.2.0", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" }, "is-windows": { @@ -2114,7 +2143,7 @@ }, "isstream": { "version": "0.1.2", - "from": "isstream@>=0.1.0 <0.2.0", + "from": "isstream@>=0.1.2 <0.2.0", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, "istanbul": { @@ -2125,13 +2154,13 @@ "dependencies": { "async": { "version": "1.5.2", - "from": "async@1.x", + "from": "async@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "dev": true }, "glob": { "version": "5.0.15", - "from": "glob@^5.0.15", + "from": "glob@>=5.0.15 <6.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", "dev": true }, @@ -2143,7 +2172,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.1.0", + "from": "supports-color@>=3.1.0 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true }, @@ -2332,7 +2361,7 @@ }, "load-json-file": { "version": "1.1.0", - "from": "load-json-file@>=1.0.0 <2.0.0", + "from": "load-json-file@^1.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" }, "lodash": { @@ -2741,12 +2770,12 @@ "native-dns-cache": { "version": "0.0.2", "from": "native-dns-cache@>=0.0.2 <0.1.0", - "resolved": "https://registry.npmjs.org/native-dns-cache/-/native-dns-cache-0.0.2.tgz" + "resolved": "http://registry.npmjs.org/native-dns-cache/-/native-dns-cache-0.0.2.tgz" }, "native-dns-packet": { "version": "0.1.1", "from": "native-dns-packet@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz" + "resolved": "http://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz" }, "natives": { "version": "1.1.0", @@ -2783,15 +2812,10 @@ } } }, - "node-df": { - "version": "0.1.1", - "from": "node-df@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/node-df/-/node-df-0.1.1.tgz" - }, "node-fs": { "version": "0.1.7", "from": "node-fs@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz" + "resolved": "http://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz" }, "node-gyp": { "version": "3.5.0", @@ -2856,7 +2880,7 @@ }, "normalize-package-data": { "version": "2.3.5", - "from": "normalize-package-data@>=2.3.4 <3.0.0", + "from": "normalize-package-data@^2.3.4", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz" }, "normalize-path": { @@ -2885,6 +2909,11 @@ } } }, + "npm-run-path": { + "version": "1.0.0", + "from": "npm-run-path@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz" + }, "npmlog": { "version": "4.0.2", "from": "npmlog@^4.0.0", @@ -3013,7 +3042,7 @@ }, "parse-json": { "version": "2.2.0", - "from": "parse-json@>=2.2.0 <3.0.0", + "from": "parse-json@^2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" }, "parse-links": { @@ -3082,13 +3111,13 @@ "optimist": { "version": "0.6.1", "from": "optimist@0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" + "resolved": "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz" } } }, "path-exists": { "version": "2.1.0", - "from": "path-exists@>=2.0.0 <3.0.0", + "from": "path-exists@^2.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" }, "path-is-absolute": { @@ -3102,6 +3131,11 @@ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "dev": true }, + "path-key": { + "version": "1.0.0", + "from": "path-key@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz" + }, "path-parse": { "version": "1.0.5", "from": "path-parse@>=1.0.5 <2.0.0", @@ -3126,7 +3160,7 @@ }, "path-type": { "version": "1.1.0", - "from": "path-type@>=1.0.0 <2.0.0", + "from": "path-type@^1.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" }, "pause": { @@ -3146,7 +3180,7 @@ }, "pify": { "version": "2.3.0", - "from": "pify@>=2.0.0 <3.0.0", + "from": "pify@^2.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" }, "pinkie": { @@ -3192,7 +3226,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3212,7 +3246,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3232,7 +3266,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3252,7 +3286,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3272,7 +3306,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3292,7 +3326,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3312,7 +3346,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3332,7 +3366,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3352,7 +3386,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3372,7 +3406,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3392,7 +3426,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3418,7 +3452,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3450,7 +3484,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3470,7 +3504,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3490,7 +3524,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3510,7 +3544,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3530,7 +3564,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3550,7 +3584,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3570,7 +3604,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3590,7 +3624,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3610,7 +3644,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3630,7 +3664,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3656,7 +3690,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3676,7 +3710,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3702,7 +3736,7 @@ }, "supports-color": { "version": "3.2.3", - "from": "supports-color@^3.2.3", + "from": "supports-color@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "dev": true } @@ -3831,12 +3865,12 @@ }, "read-pkg": { "version": "1.1.0", - "from": "read-pkg@>=1.0.0 <2.0.0", + "from": "read-pkg@^1.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" }, "read-pkg-up": { "version": "1.0.1", - "from": "read-pkg-up@>=1.0.1 <2.0.0", + "from": "read-pkg-up@^1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" }, "readable-stream": { @@ -3865,7 +3899,7 @@ "reduce-component": { "version": "1.0.1", "from": "reduce-component@1.0.1", - "resolved": "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz" + "resolved": "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz" }, "reduce-css-calc": { "version": "1.3.0", @@ -3932,12 +3966,12 @@ }, "require-directory": { "version": "2.1.1", - "from": "require-directory@>=2.1.1 <3.0.0", + "from": "require-directory@^2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" }, "require-main-filename": { "version": "1.0.1", - "from": "require-main-filename@>=1.0.1 <2.0.0", + "from": "require-main-filename@^1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" }, "resolve": { @@ -4053,7 +4087,7 @@ }, "set-blocking": { "version": "2.0.0", - "from": "set-blocking@>=2.0.0 <2.1.0", + "from": "set-blocking@~2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" }, "set-immediate-shim": { @@ -4139,17 +4173,17 @@ }, "spdx-correct": { "version": "1.0.2", - "from": "spdx-correct@>=1.0.0 <1.1.0", + "from": "spdx-correct@~1.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz" }, "spdx-expression-parse": { "version": "1.0.4", - "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "from": "spdx-expression-parse@~1.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz" }, "spdx-license-ids": { "version": "1.2.2", - "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "from": "spdx-license-ids@^1.0.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" }, "split": { @@ -4175,7 +4209,7 @@ }, "ssh2": { "version": "0.5.4", - "from": "ssh2@0.5.4", + "from": "ssh2@>=0.5.2 <0.6.0", "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-0.5.4.tgz" }, "ssh2-streams": { @@ -4185,7 +4219,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "from": "semver@>=5.1.0 <6.0.0", + "from": "semver@^5.1.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" } } @@ -4266,6 +4300,11 @@ "from": "strip-bom@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" }, + "strip-eof": { + "version": "1.0.0", + "from": "strip-eof@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + }, "strip-indent": { "version": "1.0.1", "from": "strip-indent@^1.0.1", @@ -4310,7 +4349,7 @@ "dependencies": { "colors": { "version": "1.1.2", - "from": "colors@1.1.2", + "from": "colors@>=1.1.2 <2.0.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" }, "minimist": { @@ -4351,7 +4390,7 @@ }, "through": { "version": "2.3.8", - "from": "through@>=2.2.7 <3.0.0", + "from": "through@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" }, "through2": { @@ -4453,7 +4492,7 @@ }, "type-is": { "version": "1.6.14", - "from": "type-is@>=1.6.14 <1.7.0", + "from": "type-is@>=1.6.13 <1.7.0", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz" }, "uglify-js": { @@ -4593,7 +4632,7 @@ "utils-merge": { "version": "1.0.0", "from": "utils-merge@1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + "resolved": "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" }, "v8flags": { "version": "2.0.11", @@ -4608,7 +4647,7 @@ }, "validate-npm-package-license": { "version": "3.0.1", - "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "from": "validate-npm-package-license@^3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" }, "validator": { @@ -4712,7 +4751,7 @@ "when": { "version": "2.0.1", "from": "when@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/when/-/when-2.0.1.tgz" + "resolved": "http://registry.npmjs.org/when/-/when-2.0.1.tgz" }, "whet.extend": { "version": "0.9.9", @@ -4727,7 +4766,7 @@ }, "which-module": { "version": "1.0.0", - "from": "which-module@>=1.0.0 <2.0.0", + "from": "which-module@^1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" }, "wide-align": { @@ -4797,7 +4836,7 @@ }, "xtend": { "version": "4.0.1", - "from": "xtend@>=4.0.1 <4.1.0", + "from": "xtend@>=4.0.0 <5.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" }, "y18n": { @@ -4831,7 +4870,7 @@ "dependencies": { "camelcase": { "version": "3.0.0", - "from": "camelcase@>=3.0.0 <4.0.0", + "from": "camelcase@^3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" } } diff --git a/package.json b/package.json index 11ada9578..00ed16090 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "node >=4.0.0 <=4.1.1" ], "dependencies": { + "@sindresorhus/df": "^2.1.0", "async": "^2.1.4", "aws-sdk": "^2.1.46", "body-parser": "^1.13.1", @@ -43,7 +44,6 @@ "multiparty": "^4.1.2", "mysql": "^2.7.0", "native-dns": "^0.7.0", - "node-df": "^0.1.1", "node-uuid": "^1.4.3", "nodemailer": "^1.3.0", "nodemailer-smtp-transport": "^1.0.3", diff --git a/src/cloudron.js b/src/cloudron.js index 8056d7537..c9c242ec3 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -8,6 +8,7 @@ exports = module.exports = { activate: activate, getConfig: getConfig, getStatus: getStatus, + getDisks: getDisks, dnsSetup: dnsSetup, sendHeartbeat: sendHeartbeat, @@ -41,7 +42,7 @@ var apps = require('./apps.js'), constants = require('./constants.js'), cron = require('./cron.js'), debug = require('debug')('box:cloudron'), - df = require('node-df'), + df = require('@sindresorhus/df'), eventlog = require('./eventlog.js'), fs = require('fs'), locker = require('./locker.js'), @@ -377,6 +378,33 @@ function getStatus(callback) { }); } +function getDisks(callback) { + assert.strictEqual(typeof callback, 'function'); + + var disks = { + boxDataDisk: null, + platformDataDisk: null, + appsDataDisk: null + }; + + // TODO check if this actually is correct with the symlinks! + df.file(paths.BOX_DATA_DIR).then(function (result) { + disks.boxDataDisk = result.filesystem; + + return df.file(paths.PLATFORM_DATA_DIR); + }).then(function (result) { + disks.platformDataDisk = result.filesystem; + + return df.file(paths.APPS_DATA_DIR); + }).then(function (result) { + disks.appsDataDisk = result.filesystem; + + callback(null, disks); + }).catch(function (error) { + callback(new CloudronError(CloudronError.INTERNAL_ERROR, error)); + }); +} + function getBoxAndUserDetails(callback) { assert.strictEqual(typeof callback, 'function'); @@ -860,22 +888,40 @@ function checkDiskSpace(callback) { debug('Checking disk space'); - df(function (error, entries) { + getDisks(function (error, disks) { if (error) { debug('df error %s', error.message); - mailer.outOfDiskSpace(error.message); return callback(); } - var oos = entries.some(function (entry) { - return (entry.mount === '/' && entry.available <= (1.25 * 1024 * 1024)); // 1.5G + df().then(function (entries) { + /* + [{ + filesystem: '/dev/disk1', + size: 499046809600, + used: 443222245376, + available: 55562420224, + capacity: 0.89, + mountpoint: '/' + }, ...] + */ + var oos = entries.some(function (entry) { + // ignore other filesystems but where box, app and platform data is + if (entry.filesystem !== disks.boxDataDisk && entry.filesystem !== disks.platformDataDisk && entry.filesystem !== disks.appsDataDisk) return false; + + return (entry.available <= (1.25 * 1024 * 1024 * 1024)); // 1.5G + }); + + debug('Disk space checked. ok: %s', !oos); + + if (oos) mailer.outOfDiskSpace(JSON.stringify(entries, null, 4)); + + callback(); + }).catch(function (error) { + debug('df error %s', error.message); + mailer.outOfDiskSpace(error.message); + return callback(); }); - - debug('Disk space checked. ok: %s', !oos); - - if (oos) mailer.outOfDiskSpace(JSON.stringify(entries, null, 4)); - - callback(); }); }