From 53ef02f87aa6f5a28f5ada855a0ea2d9ec00c6e4 Mon Sep 17 00:00:00 2001 From: calebboyd Date: Thu, 16 Aug 2018 20:52:39 -0500 Subject: [PATCH] feat: standalone bundler --- examples/express-app/index.js | 8 + examples/express-app/package-lock.json | 373 ++++ examples/express-app/package.json | 15 + examples/express-app/public/index.html | 1 + package-lock.json | 20 +- package.json | 5 +- plugins/nexe-daemon/package.json | 24 - plugins/nexe-daemon/src/index.ts | 48 - plugins/nexe-daemon/src/nexe-daemon.ts | 66 - plugins/nexe-daemon/tsconfig.json | 13 - plugins/nexe-daemon/winsw.exe | Bin 360448 -> 0 bytes plugins/nexe-daemon/yarn.lock | 2274 ------------------------ src/bundle/fs/package.json | 11 - src/bundle/index.ts | 0 src/compiler.ts | 64 +- src/fs/README.md | 53 + src/{patches => fs}/bootstrap.ts | 0 src/fs/bundle.ts | 70 + src/fs/package.json | 15 + src/{bundle => }/fs/patch.ts | 18 +- src/nexe.ts | 2 +- src/patches/third-party-main.ts | 2 +- src/steps/bundle.ts | 43 +- src/steps/cli.ts | 13 +- src/steps/resource.ts | 9 +- src/steps/shim.ts | 26 +- tasks/post-build.ts | 3 +- test/shim-fs.spec.ts | 0 28 files changed, 638 insertions(+), 2538 deletions(-) create mode 100644 examples/express-app/index.js create mode 100644 examples/express-app/package-lock.json create mode 100644 examples/express-app/package.json create mode 100644 examples/express-app/public/index.html delete mode 100644 plugins/nexe-daemon/package.json delete mode 100644 plugins/nexe-daemon/src/index.ts delete mode 100644 plugins/nexe-daemon/src/nexe-daemon.ts delete mode 100644 plugins/nexe-daemon/tsconfig.json delete mode 100644 plugins/nexe-daemon/winsw.exe delete mode 100644 plugins/nexe-daemon/yarn.lock delete mode 100644 src/bundle/fs/package.json delete mode 100644 src/bundle/index.ts create mode 100644 src/fs/README.md rename src/{patches => fs}/bootstrap.ts (100%) create mode 100644 src/fs/bundle.ts create mode 100644 src/fs/package.json rename src/{bundle => }/fs/patch.ts (96%) delete mode 100644 test/shim-fs.spec.ts diff --git a/examples/express-app/index.js b/examples/express-app/index.js new file mode 100644 index 0000000..62e2338 --- /dev/null +++ b/examples/express-app/index.js @@ -0,0 +1,8 @@ +const express = require('express') +const path = require('path') +const app = express() +app.use('/', express.static(path.join(__dirname, 'public'))) + + +app.listen(8888) + diff --git a/examples/express-app/package-lock.json b/examples/express-app/package-lock.json new file mode 100644 index 0000000..6f653da --- /dev/null +++ b/examples/express-app/package-lock.json @@ -0,0 +1,373 @@ +{ + "name": "express-app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "requires": { + "mime-db": "~1.35.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + } + } +} diff --git a/examples/express-app/package.json b/examples/express-app/package.json new file mode 100644 index 0000000..8a31bca --- /dev/null +++ b/examples/express-app/package.json @@ -0,0 +1,15 @@ +{ + "name": "express-app", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "express": "^4.16.3" + } +} diff --git a/examples/express-app/public/index.html b/examples/express-app/public/index.html new file mode 100644 index 0000000..de8b69b --- /dev/null +++ b/examples/express-app/public/index.html @@ -0,0 +1 @@ +

Hello World!

diff --git a/package-lock.json b/package-lock.json index b8a9e0c..834597d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nexe", - "version": "2.0.0-next.13", + "version": "2.0.0-next.14", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -106,6 +106,15 @@ "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==", "dev": true }, + "@types/multistream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/multistream/-/multistream-2.1.1.tgz", + "integrity": "sha512-PqavtNFnMyXRZS5vuW16wMOKeJUCD5PIGHdNBHzF5Urjncsij90hRQ82Wcy9+uSdnmrR2Gfao6xoJVq1wAWzbA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/node": { "version": "10.5.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", @@ -1807,6 +1816,15 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "multistream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.1.tgz", + "integrity": "sha512-xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.5" + } + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", diff --git a/package.json b/package.json index 118bf63..91fc5ed 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "nexe", "description": "Create a single executable out of your Node.js application", "license": "MIT", - "version": "2.0.0-next.13", + "version": "2.0.0-next.14", "contributors": [ "Craig Condon (http://crcn.io)", "Jared Allard ", @@ -33,6 +33,7 @@ "node": ">=6" }, "dependencies": { + "@calebboyd/semaphore": "^1.3.1", "app-builder": "^5.2.0", "caw": "^2.0.1", "chalk": "^2.4.1", @@ -42,6 +43,7 @@ "got": "^8.3.1", "minimist": "^1.2.0", "mkdirp": "^0.5.1", + "multistream": "^2.1.1", "ora": "^2.1.0", "pify": "^4.0.0", "resolve-dependencies": "^2.1.1", @@ -55,6 +57,7 @@ "@types/minimist": "^1.2.0", "@types/mkdirp": "^0.5.2", "@types/mocha": "^5.2.0", + "@types/multistream": "^2.1.1", "@types/ora": "^1.3.4", "@types/pify": "3.0.2", "@types/rimraf": "2.0.2", diff --git a/plugins/nexe-daemon/package.json b/plugins/nexe-daemon/package.json deleted file mode 100644 index d0bebb9..0000000 --- a/plugins/nexe-daemon/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "nexe-daemon", - "version": "1.0.0", - "description": "Plugin for nexe to create installable services", - "main": "lib/index.js", - "scripts": { - "clean": "rimraf *.js", - "build": "tsc", - "postpublish": "npm run clean" - }, - "files": [ - "lib", - "winsw.exe" - ], - "author": "Caleb Boyd", - "license": "MIT", - "devDependencies": { - "rimraf": "^2.6.2", - "typescript": "^2.5.2" - }, - "dependencies": { - "nexe": "^2.0.0-rc.11" - } -} diff --git a/plugins/nexe-daemon/src/index.ts b/plugins/nexe-daemon/src/index.ts deleted file mode 100644 index 12676a2..0000000 --- a/plugins/nexe-daemon/src/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { NexeCompiler, NexeOptions } from 'nexe' -import { readFileSync } from 'fs' -import { join } from 'path' - -interface NexeDaemonOptions { - id: string - name: string - description: string - executable: string -} - -type DaemonOptions = NexeOptions & { daemon: { windows: NexeDaemonOptions } } - -function renderWinswConfig(options: any) { - return ( - '\r\n' + - `${Object.keys(options).reduce((config: string, element: string) => { - return (config += `<${element}>${options[element]}\r\n`) - }, '')}\r\n` - ) -} - -export default function daemon(compiler: NexeCompiler, next: () => Promise) { - if (compiler.target.platform !== 'windows') { - return next() - } - compiler.addResource( - './nexe/plugin/daemon/winsw.exe', - readFileSync(require.resolve('../winsw.exe')) - ) - const name = compiler.options.name, - options = (compiler.options.daemon && compiler.options.daemon.windows) || {}, - defaults: NexeDaemonOptions = { - id: name, - name, - description: name, - executable: '%BASE%\\' + compiler.output - } - - compiler.addResource( - './nexe/plugin/daemon/winsw.xml', - Buffer.from(renderWinswConfig(Object.assign(defaults, options))) - ) - compiler.addResource('./nexe/plugin/daemon/app.js', Buffer.from(compiler.input)) - compiler.input = '{{replace:plugins/nexe-daemon/lib/nexe-daemon.js}}' - - return next() -} diff --git a/plugins/nexe-daemon/src/nexe-daemon.ts b/plugins/nexe-daemon/src/nexe-daemon.ts deleted file mode 100644 index 782f568..0000000 --- a/plugins/nexe-daemon/src/nexe-daemon.ts +++ /dev/null @@ -1,66 +0,0 @@ -const installCommands = ['-i', '--install'] -const installIndex = process.argv.findIndex(x => installCommands.includes(x)) -import * as path from 'path' -import * as fs from 'fs' -import * as cp from 'child_process' - -function mkdirp(r: string, t?: any): any { - ;(t = t || null), (r = path.resolve(r)) - try { - fs.mkdirSync(r), (t = t || r) - } catch (c) { - if ('ENOENT' === c.code) (t = mkdirp(path.dirname(r), t)), mkdirp(r, t) - else { - var i - try { - i = fs.statSync(r) - } catch (r) { - throw c - } - if (!i.isDirectory()) throw c - } - } - return t -} - -if (~installIndex) { - console.log('DIRECTORY FOUND') - const directory = process.argv[installIndex + 1] - if (directory) { - mkdirp(path.dirname(directory)) - const filename = path.join(directory, path.basename(process.execPath)) - const readStream = fs.createReadStream(process.execPath) - const writeStream = fs.createWriteStream(filename) - - const onError = function() { - readStream.removeAllListeners() - writeStream.removeAllListeners() - //TODO - } - - readStream - .on('error', onError) - .pipe(writeStream) - .on('error', onError) - .on('close', () => { - const winsw = filename.replace('.exe', '-service.exe') - fs.writeFileSync(winsw, fs.readFileSync('./nexe/plugin/daemon/winsw.exe')) - fs.writeFileSync( - filename.replace('.exe', '-service.xml'), - fs.readFileSync('./nexe/plugin/daemon/winsw.xml') - ) - installService(winsw) - }) - } -} else { - console.log('DIRECTORY NOT FOUND') - require('./nexe/plugin/daemon/app.js') -} - -function installService(filename: string) { - cp.exec(filename + ' install', error => { - if (error && !error.message.includes('already exists')) { - throw error - } - }) -} diff --git a/plugins/nexe-daemon/tsconfig.json b/plugins/nexe-daemon/tsconfig.json deleted file mode 100644 index f2d882d..0000000 --- a/plugins/nexe-daemon/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "module": "commonjs", - "lib": [ "es2016" ], - "outDir": "lib", - "strict": true - }, - "include": [ - "src/**/*.ts" - ], - "exclude": [] -} diff --git a/plugins/nexe-daemon/winsw.exe b/plugins/nexe-daemon/winsw.exe deleted file mode 100644 index 3f1f7241105f522122abc5722c4d09d0f6de75dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360448 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䳜i%9yhhq?f5)IeZD_Ue8}dR0w*7H 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

7_;{@xsB0f)UKhgra3s+W~-0f)UShgra3|Cqxp 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 z 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 uQ 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 diff --git a/plugins/nexe-daemon/yarn.lock b/plugins/nexe-daemon/yarn.lock deleted file mode 100644 index 894c07e..0000000 --- a/plugins/nexe-daemon/yarn.lock +++ /dev/null @@ -1,2274 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" - -accepts@~1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" - dependencies: - mime-types "~2.1.16" - negotiator "0.6.1" - -acorn-es7-plugin@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" - -acorn-es7@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/acorn-es7/-/acorn-es7-0.1.0.tgz#4a6de4522faacb4c31209e1b73b5f301ed2bb30a" - dependencies: - acorn "^2.6.4" - -acorn-jsx@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.0.1.tgz#ada5a01573727a237774ce625564d079ec9de12a" - dependencies: - acorn "^5.0.3" - -acorn@^2.6.4: - version "2.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" - -acorn@^5.0.3: - version "5.1.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" - -ajax-request@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/ajax-request/-/ajax-request-1.2.3.tgz#99fcbec1d6d2792f85fa949535332bd14f5f3790" - dependencies: - file-system "^2.1.1" - utils-extend "^1.0.7" - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -ajv@^5.1.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - json-schema-traverse "^0.3.0" - json-stable-stringify "^1.0.1" - -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -ansi-escapes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" - dependencies: - color-convert "^1.9.0" - -ansi@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" - -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - -app-builder@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/app-builder/-/app-builder-5.1.0.tgz#db21994fc72d742ca00e9904c15d91414e508dcd" - -app-root-path@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-1.4.0.tgz#6335d865c9640d0fad99004e5a79232238e92dfa" - -app-root-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.0.1.tgz#cd62dcf8e4fd5a417efc664d2e5b10653c651b46" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -babel-polyfill@6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" - dependencies: - babel-runtime "^6.22.0" - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-runtime@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-img@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/base64-img/-/base64-img-1.0.3.tgz#a8c0284900047103421e1f9e0214011333866806" - dependencies: - ajax-request "^1.2.0" - file-system "^2.1.0" - -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" - -base64-js@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^1.0.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" - -bl@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" - dependencies: - readable-stream "^2.0.5" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - -brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - -buffer@^3.0.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -caw@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" - dependencies: - get-proxy "^2.0.0" - isurl "^1.0.0-alpha5" - tunnel-agent "^0.6.0" - url-to-options "^1.0.1" - -chain-able@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/chain-able/-/chain-able-1.0.1.tgz#b48ac9bdc18f2192ec730abc66609f90aab5605f" - -chain-able@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chain-able/-/chain-able-3.0.0.tgz#dcffe8b04f3da210941a23843bc1332bb288ca9f" - -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - -chokidar@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - dependencies: - restore-cursor "^2.0.0" - -cli-spinners@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.1.tgz#2675321c100f195b02877ac499e9911fa34b9783" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -color-convert@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@~2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - -commander@~2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" - dependencies: - graceful-readlink ">= 1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-with-sourcemaps@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz#f55b3be2aeb47601b10a2d5259ccfb70fd2f1dd6" - dependencies: - source-map "^0.5.1" - -config-chain@^1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -content-disposition@0.5.2, content-disposition@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" - -content-type@~1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -core-js@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -debug@2.6.9, debug@^2.2.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" - -decompress-response@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - dependencies: - mimic-response "^1.0.0" - -decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - -decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - -decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - -decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - -decompress@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@1.1.1, depd@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -download@^6.2.0: - version "6.2.5" - resolved "https://registry.yarnpkg.com/download/-/download-6.2.5.tgz#acd6a542e4cd0bb42ca70cfc98c9e43b07039714" - dependencies: - caw "^2.0.0" - content-disposition "^0.5.2" - decompress "^4.0.0" - ext-name "^5.0.0" - file-type "5.2.0" - filenamify "^2.0.0" - get-stream "^3.0.0" - got "^7.0.0" - make-dir "^1.0.0" - p-event "^1.0.0" - pify "^3.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" - dependencies: - once "^1.4.0" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@^1.8.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852" - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.5.6" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - -estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@~1.8.0, etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - -exec-sh@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38" - dependencies: - merge "^1.1.3" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -express@^4.14.0: - version "4.15.5" - resolved "https://registry.yarnpkg.com/express/-/express-4.15.5.tgz#670235ca9598890a5ae8170b83db722b842ed927" - dependencies: - accepts "~1.3.3" - array-flatten "1.1.1" - content-disposition "0.5.2" - content-type "~1.0.2" - cookie "0.3.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.1" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.0" - finalhandler "~1.0.6" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.1" - path-to-regexp "0.1.7" - proxy-addr "~1.1.5" - qs "6.5.0" - range-parser "~1.2.0" - send "0.15.6" - serve-static "1.12.6" - setprototypeof "1.0.3" - statuses "~1.3.1" - type-is "~1.6.15" - utils-merge "1.0.0" - vary "~1.1.1" - -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - dependencies: - mime-db "^1.28.0" - -ext-name@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" - dependencies: - ext-list "^2.0.0" - sort-keys-length "^1.0.0" - -extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^2.0.1, external-editor@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" - dependencies: - iconv-lite "^0.4.17" - jschardet "^1.4.2" - tmp "^0.0.33" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extsprintf@1.3.0, extsprintf@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - dependencies: - escape-string-regexp "^1.0.5" - -file-match@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/file-match/-/file-match-1.0.2.tgz#c9cad265d2c8adf3a81475b0df475859069faef7" - dependencies: - utils-extend "^1.0.6" - -file-system@^2.1.0, file-system@^2.1.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/file-system/-/file-system-2.2.2.tgz#7d65833e3a2347dcd956a813c677153ed3edd987" - dependencies: - file-match "^1.0.1" - utils-extend "^1.0.4" - -file-type@5.2.0, file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - -file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - -file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - -filenamify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.0.0.tgz#bd162262c0b6e94bfbcdcf19a3bbb3764f785695" - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.0" - trim-repeated "^1.0.0" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -finalhandler@~1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.6.tgz#007aea33d1a4d3e42017f624848ad58d212f814f" - dependencies: - debug "2.6.9" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.2" - statuses "~1.3.1" - unpipe "~1.0.0" - -fliplog@^0.3.13: - version "0.3.13" - resolved "https://registry.yarnpkg.com/fliplog/-/fliplog-0.3.13.tgz#dd0d786e821822aae272e0ddc84012596a96154c" - dependencies: - chain-able "^1.0.1" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -forwarded@~0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - -fs-extra@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.36" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -fuse-box@2.2.31: - version "2.2.31" - resolved "https://registry.yarnpkg.com/fuse-box/-/fuse-box-2.2.31.tgz#36d267a6c6a79952a9c1fb7d1643c1949a6d42f5" - dependencies: - acorn "^5.0.3" - acorn-es7 "^0.1.0" - acorn-es7-plugin "^1.1.7" - acorn-jsx "^4.0.1" - ansi "^0.3.1" - app-root-path "^2.0.1" - base64-img "^1.0.3" - base64-js "^1.2.0" - chokidar "^1.6.1" - concat-with-sourcemaps "^1.0.4" - escodegen "^1.8.1" - express "^4.14.0" - fliplog "^0.3.13" - fs-extra "^2.0.0" - fuse-tools "^1.0.4" - glob "^7.1.1" - ieee754 "^1.1.8" - inquirer "^3.0.6" - lego-api "^1.0.7" - mustache "^2.3.0" - opencollective "^1.0.3" - postcss "^6.0.1" - pretty-time "^0.2.0" - prettysize "0.0.3" - realm-utils "^1.0.8" - request "^2.79.0" - shorthash "0.0.2" - watch "^1.0.1" - ws "^1.1.1" - -fuse-tools@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fuse-tools/-/fuse-tools-1.0.5.tgz#98c9f5133348a9a91357cbf8bf57171fa6cd614a" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -get-proxy@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" - dependencies: - npm-conf "^1.1.0" - -get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-symbol-support-x@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz#66ec2e377e0c7d7ccedb07a3a84d77510ff1bc4c" - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - dependencies: - has-symbol-support-x "^1.4.1" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.0" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" - -http-errors@~1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" - dependencies: - depd "1.1.1" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@^0.4.17, iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" - -ieee754@^1.1.4, ieee754@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -ini@^1.3.4, ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inquirer@3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.0.6.tgz#e04aaa9d05b7a3cb9b0f407d04375f0447190347" - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.1" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^2.0.0" - strip-ansi "^3.0.0" - through "^2.3.6" - -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - -ipaddr.js@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jschardet@^1.4.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -lego-api@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/lego-api/-/lego-api-1.0.8.tgz#5e26be726c5e11d540f89e7c6b1abf8c5834bd01" - dependencies: - chain-able "^3.0.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lodash@^4.3.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -make-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" - dependencies: - pify "^2.3.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - -merge@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mime-db@^1.28.0, mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" - -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" - dependencies: - mime-db "~1.30.0" - -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" - -mimic-response@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" - -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.2.0, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -"mkdirp@>=0.5 0", mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -mustache@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.0.tgz#4028f7778b17708a489930a6e52ac3bca0da41d0" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - -nan@^2.3.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" - -nanoseconds@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/nanoseconds/-/nanoseconds-0.1.0.tgz#69ec39fcd00e77ab3a72de0a43342824cd79233a" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -nexe@^2.0.0-rc.11: - version "2.0.0-rc.11" - resolved "https://registry.yarnpkg.com/nexe/-/nexe-2.0.0-rc.11.tgz#cd06fc91da8db008fffa6dde1a9a8dd6decf2c35" - dependencies: - app-builder "^5.1.0" - chalk "^1.1.3" - download "^6.2.0" - fuse-box "2.2.31" - globby "^6.1.0" - minimist "^1.2.0" - mkdirp "^0.5.1" - ora "^1.2.0" - pifi "1.0.0" - rimraf "^2.6.1" - uglify-js "3.0.28" - -node-fetch@1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-pre-gyp@^0.6.36: - version "0.6.38" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d" - dependencies: - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npm-conf@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.2.tgz#170a2c48a0c6ad0495f03f87aec2da11ef47a525" - dependencies: - config-chain "^1.1.11" - pify "^3.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.3.3, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - dependencies: - mimic-fn "^1.0.0" - -opencollective@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/opencollective/-/opencollective-1.0.3.tgz#aee6372bc28144583690c3ca8daecfc120dd0ef1" - dependencies: - babel-polyfill "6.23.0" - chalk "1.1.3" - inquirer "3.0.6" - minimist "1.2.0" - node-fetch "1.6.3" - opn "4.0.2" - -opn@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - -ora@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a" - dependencies: - chalk "^1.1.1" - cli-cursor "^2.1.0" - cli-spinners "^1.0.0" - log-symbols "^1.0.2" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - -p-event@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-1.3.0.tgz#8e6b4f4f65c72bc5b6fe28b75eda874f96a4a085" - dependencies: - p-timeout "^1.1.1" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - -p-timeout@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.0.tgz#9820f99434c5817868b4f34809ee5291660d5b6c" - dependencies: - p-finally "^1.0.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parseurl@~1.3.1, parseurl@~1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pifi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pifi/-/pifi-1.0.0.tgz#158f770bb5f62724dd612b92fc2c2c59a53d7e2f" - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -postcss@^6.0.1: - version "6.0.12" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.12.tgz#6b0155089d2d212f7bd6a0cecd4c58c007403535" - dependencies: - chalk "^2.1.0" - source-map "^0.5.7" - supports-color "^4.4.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-time@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-0.2.0.tgz#7a3bdec4049c620cd7c42b7f342b74d56e73d74e" - dependencies: - is-number "^2.0.2" - nanoseconds "^0.1.0" - -prettysize@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-0.0.3.tgz#14afff6a645e591a4ddf1c72919c23b4146181a1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - -proxy-addr@~1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918" - dependencies: - forwarded "~0.1.0" - ipaddr.js "1.4.0" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.0.tgz#8d04954d364def3efc55b5a0793e1e2c8b1e6e49" - -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" - -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -rc@^1.1.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -realm-utils@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/realm-utils/-/realm-utils-1.0.8.tgz#7f8c87c30cee0cd295ecf732a049cc1d7502da8f" - dependencies: - app-root-path "^1.3.0" - mkdirp "^0.5.1" - -regenerator-runtime@^0.10.0: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" - -regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" - -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@^2.79.0: - version "2.82.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.82.0.tgz#2ba8a92cd7ac45660ea2b10a53ae67cd247516ea" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.2" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - dependencies: - is-promise "^2.1.0" - -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -seek-bzip@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" - dependencies: - commander "~2.8.1" - -semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - -send@0.15.6: - version "0.15.6" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.6.tgz#20f23a9c925b762ab82705fe2f9db252ace47e34" - dependencies: - debug "2.6.9" - depd "~1.1.1" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.6.2" - mime "1.3.4" - ms "2.0.0" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serve-static@1.12.6: - version "1.12.6" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.6.tgz#b973773f63449934da54e5beba5e31d9f4211577" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.2" - send "0.15.6" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -shorthash@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/shorthash/-/shorthash-0.0.2.tgz#59b268eecbde59038b30da202bcfbddeb2c4a4eb" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sntp@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.0.2.tgz#5064110f0af85f7cfdb7d6b67a40028ce52b4b2b" - dependencies: - hoek "4.x.x" - -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -source-map@^0.5.1, source-map@^0.5.7, source-map@~0.5.1, source-map@~0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - -sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -"statuses@>= 1.3.1 < 2", statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-dirs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.0.0.tgz#610cdb2928200da0004f41dcb90fc95cd919a0b6" - dependencies: - is-natural-number "^4.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -strip-outer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" - dependencies: - escape-string-regexp "^1.0.2" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^4.0.0, supports-color@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - dependencies: - has-flag "^2.0.0" - -tar-pack@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar-stream@^1.5.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" - dependencies: - bl "^1.0.0" - end-of-stream "^1.0.0" - readable-stream "^2.0.0" - xtend "^4.0.0" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - dependencies: - os-tmpdir "~1.0.2" - -tough-cookie@~2.3.0, tough-cookie@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" - dependencies: - punycode "^1.4.1" - -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - dependencies: - escape-string-regexp "^1.0.2" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-is@~1.6.15: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" - -typescript@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.5.2.tgz#038a95f7d9bbb420b1bf35ba31d4c5c1dd3ffe34" - -uglify-js@3.0.28: - version "3.0.28" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.0.28.tgz#96b8495f0272944787b5843a1679aa326640d5f7" - dependencies: - commander "~2.11.0" - source-map "~0.5.1" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -unbzip2-stream@^1.0.9: - version "1.2.5" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" - dependencies: - buffer "^3.0.1" - through "^2.3.6" - -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -utils-extend@^1.0.4, utils-extend@^1.0.6, utils-extend@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/utils-extend/-/utils-extend-1.0.8.tgz#ccfd7b64540f8e90ee21eec57769d0651cab8a5f" - -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -uuid@^3.0.0, uuid@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - -vary@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -watch@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/watch/-/watch-1.0.2.tgz#340a717bde765726fa0aa07d721e0147a551df0c" - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -ws@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.4.tgz#57f40d036832e5f5055662a397c4de76ed66bf61" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -xtend@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -yauzl@^2.4.2: - version "2.8.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.0.1" diff --git a/src/bundle/fs/package.json b/src/bundle/fs/package.json deleted file mode 100644 index 18678a5..0000000 --- a/src/bundle/fs/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "nexe-bundle-fs", - "version": "1.0.0", - "description": "Set of fs patches for nexe bundles", - "main": "patch.ts", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Caleb Boyd", - "license": "MIT" -} diff --git a/src/bundle/index.ts b/src/bundle/index.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/compiler.ts b/src/compiler.ts index a93ef0b..add43c7 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -1,7 +1,7 @@ import { delimiter, dirname, normalize, join } from 'path' import { Buffer } from 'buffer' import { createReadStream } from 'fs' -import { Readable } from 'stream' +import { Readable, Stream } from 'stream' import { spawn } from 'child_process' import { Logger, LogStep } from './logger' import { readFileAsync, writeFileAsync, pathExistsAsync, dequote, isWindows, bound } from './util' @@ -10,6 +10,8 @@ import { NexeTarget } from './target' import download = require('download') import { getLatestGitRelease } from './releases' import { IncomingMessage } from 'http' +import combineStreams = require('multistream') +import { Bundle, toStream } from './fs/bundle' const isBsd = Boolean(~process.platform.indexOf('bsd')) const make = isWindows ? 'vcbuild.bat' : isBsd ? 'gmake' : 'make' @@ -23,29 +25,23 @@ export interface NexeFile { export { NexeOptions } -interface NexeHeader { - resources: { [key: string]: number[] } - version: string -} - export class NexeCompiler { private start = Date.now() private env = { ...process.env } + private bundle: Bundle private compileStep: LogStep | undefined public log = new Logger(this.options.loglevel) public src: string public files: NexeFile[] = [] public shims: string[] = [] - public input: string | undefined + public startup: string = '' + public entrypoint: string | undefined public bundledInput?: string public targets: NexeTarget[] public target: NexeTarget - public resources: { bundle: Buffer; index: { [key: string]: number[] } } = { - index: {}, - bundle: Buffer.from('') - } public output = this.options.output private nodeSrcBinPath: string + constructor(public options: NexeOptions) { const { python } = (this.options = options) this.targets = options.targets as NexeTarget[] @@ -55,7 +51,7 @@ export class NexeCompiler { ? join(this.src, 'Release', 'node.exe') : join(this.src, 'out', 'Release', 'node') this.log.step('nexe ' + version, 'info') - + this.bundle = new Bundle(options) if (isWindows) { const originalPath = process.env.PATH delete process.env.PATH @@ -71,10 +67,16 @@ export class NexeCompiler { } @bound - addResource(file: string, contents: Buffer) { - const { resources } = this - resources.index[file] = [resources.bundle.byteLength, contents.byteLength] - resources.bundle = Buffer.concat([resources.bundle, contents]) + addResource(file: string, content?: Buffer | string) { + return this.bundle.addResource(file, content) + } + + get binaryConfiguration() { + return { resources: this.bundle.index } + } + + get resourceSize() { + return this.bundle.blobSize } @bound @@ -234,27 +236,25 @@ export class NexeCompiler { } code() { - return [this.shims.join(''), this.input].join(';') + return [this.shims.join(''), this.startup].join(';') } private _assembleDeliverable(binary: NodeJS.ReadableStream) { if (!this.options.mangle) { return binary } - const artifact = new Readable({ read() {} }) - binary.on('data', (chunk: Buffer) => { - artifact.push(chunk) - }) - binary.on('close', () => { - const content = this.code() - artifact.push(content) - artifact.push(this.resources.bundle) - const lengths = Buffer.from(Array(16)) - lengths.writeDoubleLE(Buffer.byteLength(content), 0) - lengths.writeDoubleLE(this.resources.bundle.byteLength, 8) - artifact.push(Buffer.concat([Buffer.from(''), lengths])) - artifact.push(null) - }) - return artifact + + const startup = this.code(), + codeSize = Buffer.byteLength(startup) + + const lengths = Buffer.from(Array(16)) + lengths.writeDoubleLE(codeSize, 0) + lengths.writeDoubleLE(this.bundle.blobSize, 8) + return combineStreams([ + binary, + toStream(startup), + this.bundle.toStream(), + toStream(Buffer.concat([Buffer.from(''), lengths])) + ]) } } diff --git a/src/fs/README.md b/src/fs/README.md new file mode 100644 index 0000000..543dc45 --- /dev/null +++ b/src/fs/README.md @@ -0,0 +1,53 @@ +# nexe-fs + +This module contains a set of patches used to create (and use) the nexe virtual filesystem + +--- + +### Getting Started: + +To patch the module loader, monkey patches must be installed on a few methods at the time that node boots up. This requires a special build of node. Nexe provides these builds or the patch can be applied from this module manually in your own build setup. + +```javascript +const bootstrapPatch = fs.readFileSync(require.resolve('nexe-fs/bootstrap'), 'utf-8') +// insert boostrapPatch wherever node starts up. For reference, Nexe does this +// in third-party-main.ts +``` + +To create a virtual file system use the `Bundle` Object + +```javascript +const { Bundle } = require('nexe-fs') + +const bundle = new Bundle({ cwd }) +await bundle.addResource(absoluteFileName) + +bundle.toStream().pipe(fs.createWriteStream('./myFsBlob')) + +// You'll also want to save the bundle index to use at runtime +// It can be saved by accessing bundle.index (object/hash) or serializing the bundle with JSON.stringify(bundle) +``` + +In the entrypoint of the custom node build, the fs patch needs to be applied +```javascript +const fakeFs = fs.readFileSync(require.resolve('nexe-fs/patch'), 'utf-8') +//apply this code to your entrypoint +``` + +The patch exposes two methods, `shimFs` and `restoreFs` to be used as follows: + +```javascript +shimFs({ + blobPath: 'location/of/myFsBlob', + resources: bundle.index, + layout: { + stat: blobStats //fs.Stats object about the blob at blobPath + resourceStart: 0 // the offset within the blob that is referenced by the bundle index + } +}) +``` + +At this point executing the original entrypoint shoudl result in usage of the virtual filesystem. + + + diff --git a/src/patches/bootstrap.ts b/src/fs/bootstrap.ts similarity index 100% rename from src/patches/bootstrap.ts rename to src/fs/bootstrap.ts diff --git a/src/fs/bundle.ts b/src/fs/bundle.ts new file mode 100644 index 0000000..6c886f3 --- /dev/null +++ b/src/fs/bundle.ts @@ -0,0 +1,70 @@ +import { stat as getStat, Stats, createReadStream } from 'fs' +import { relative } from 'path' +import { Readable } from 'stream' +import combineStreams = require('multistream') + +const stat = (file: string): Promise => { + return new Promise((resolve, reject) => { + getStat(file, (err, stats) => (err ? reject(err) : resolve(stats))) + }) +} + +function makeRelative(cwd: string, path: string) { + return './' + relative(cwd, path) +} + +export function toStream(content: Buffer | string) { + const readable = new Readable({ read() {} }) + readable.push(content) + readable.push(null) + return readable +} + +export type File = { absPath: string; contents: string; deps: FileMap } +export type FileMap = { [absPath: string]: File | null } + +export interface BundleOptions { + entries: string[] + cwd: string + expand: boolean + loadContent: boolean + files: FileMap +} + +export class Bundle { + constructor({ cwd }: { cwd: string } = { cwd: process.cwd() }) { + this.cwd = cwd + } + cwd: string + blobSize: number = 0 + index: { [relativeFilePath: string]: [number, number] } = {} + streams: (Readable | (() => Readable))[] = [] + + async addResource(absoluteFileName: string, content?: Buffer | string) { + let length = 0 + if (content) { + length = Buffer.byteLength(content) + } else { + const stats = await stat(absoluteFileName) + length = stats.size + } + + const start = this.blobSize + + this.blobSize += length + this.index[makeRelative(this.cwd, absoluteFileName)] = [start, length] + this.streams.push(() => (content ? toStream(content) : createReadStream(absoluteFileName))) + } + + concat() { + throw new Error('Not Implemented') + } + + toStream() { + return combineStreams(this.streams) + } + + toJSON() { + return this.index + } +} diff --git a/src/fs/package.json b/src/fs/package.json new file mode 100644 index 0000000..c830c02 --- /dev/null +++ b/src/fs/package.json @@ -0,0 +1,15 @@ +{ + "name": "nexe-fs", + "version": "1.0.1", + "description": "Virtual File System used by nexe", + "main": "bundle.js", + "files": [ + "*.d.ts", + "*.js" + ], + "author": "Caleb Boyd", + "dependencies": { + "multistream": "^2.1.1" + }, + "license": "MIT" +} diff --git a/src/bundle/fs/patch.ts b/src/fs/patch.ts similarity index 96% rename from src/bundle/fs/patch.ts rename to src/fs/patch.ts index 1557219..928b548 100644 --- a/src/bundle/fs/patch.ts +++ b/src/fs/patch.ts @@ -13,16 +13,24 @@ export interface NexeBinary { } let originalFsMethods: any = null +let nexeBinary: NexeBinary | null = null -function restoreFs(fs: any) { - if (!originalFsMethods) { - return +function restoreFs(fs: any = require('fs')): NexeBinary | false { + if (!nexeBinary) { + return false } + const source = nexeBinary Object.assign(fs, originalFsMethods) + nexeBinary = originalFsMethods = null + return source } function shimFs(binary: NexeBinary, fs: any = require('fs')) { + if (originalFsMethods !== null) { + return + } originalFsMethods = Object.assign({}, fs) + nexeBinary = binary const { blobPath, resources: manifest } = binary const { resourceStart, stat } = binary.layout const directories: { [key: string]: { [key: string]: boolean } } = {}, @@ -325,6 +333,8 @@ function shimFs(binary: NexeBinary, fs: any = require('fs')) { process.nextTick(() => cb(exists)) } } + Object.assign(fs, nfs) + return true } -export { shimFs as applyFsPatch, restoreFs } +export { shimFs, restoreFs } diff --git a/src/nexe.ts b/src/nexe.ts index b6958c9..0cc1c7c 100644 --- a/src/nexe.ts +++ b/src/nexe.ts @@ -21,9 +21,9 @@ async function compile( const nexe = compose( clean, resource, + cli, bundle, shim, - cli, options.build ? [download, artifacts, ...patches, ...(options.patches as NexePatch[])] : [], options.plugins as NexePatch[] ) diff --git a/src/patches/third-party-main.ts b/src/patches/third-party-main.ts index 1ea09e4..55d80b3 100644 --- a/src/patches/third-party-main.ts +++ b/src/patches/third-party-main.ts @@ -63,7 +63,7 @@ export default async function main(compiler: NexeCompiler, next: () => Promise { - const { cwd, input } = compiler.options - const { files, entries } = await resolveFiles(input, { cwd, expand: true }) - const mainFileContents = (entries[input].contents as string) || '' - - Object.keys(files).forEach(filename => { - const file = files[filename]! - if (file && file.contents) { - compiler.addResource(makeRelative(cwd, filename), Buffer.from(file.contents)) - } - }) - return Promise.resolve(mainFileContents) -} - export default async function bundle(compiler: NexeCompiler, next: any) { - const { bundle, cwd, empty, input } = compiler.options + const { bundle, cwd, input } = compiler.options if (!bundle) { - compiler.input = await readFileAsync(resolve(cwd, input), 'utf-8') + await compiler.addResource(resolve(cwd, input)) return next() } if (!input) { - compiler.input = '' return next() } - if (typeof bundle === 'string') { - producer = require(resolve(cwd, bundle)).createBundle - } - - compiler.input = await producer(compiler) - const debugBundle = compiler.options.debugBundle - - if (debugBundle) { - let bundleDebugFile = typeof debugBundle === 'string' ? debugBundle : 'nexe-debug.bundle.js' - await writeFileAsync(resolve(cwd, bundleDebugFile), compiler.input) - } - + const { files } = await resolveFiles(input, { cwd, expand: true, loadContent: false }) + await each(Object.keys(files), (filename: string) => compiler.addResource(filename), { + concurrency: 10 + }) return next() } diff --git a/src/steps/cli.ts b/src/steps/cli.ts index 8756264..0ed3e32 100644 --- a/src/steps/cli.ts +++ b/src/steps/cli.ts @@ -1,10 +1,11 @@ -import { normalize, relative } from 'path' +import { normalize, relative, resolve } from 'path' import { createWriteStream, chmodSync, statSync } from 'fs' import { dequote } from '../util' +import { Readable } from 'stream' import { NexeCompiler } from '../compiler' import { NexeTarget } from '../target' -function getStdIn(stdin: NodeJS.ReadStream): Promise { +function getStdIn(stdin: Readable): Promise { return new Promise(resolve => { let out = '' stdin @@ -38,9 +39,13 @@ export default async function cli(compiler: NexeCompiler, next: () => Promise Promise) { - const resources = compiler.resources const { cwd } = compiler.options - if (!compiler.options.resources.length) { return next() } @@ -17,9 +15,8 @@ export default async function resource(compiler: NexeCompiler, next: () => Promi } count++ step.log(`Including file: ${file}`) - const contents = await readFileAsync(file) - compiler.addResource(file, contents) + await compiler.addResource(file) }) - step.log(`Included ${count} file(s). ${(resources.bundle.byteLength / 1e6).toFixed(3)} MB`) + step.log(`Included ${count} file(s). ${(compiler.resourceSize / 1e6).toFixed(3)} MB`) return next() } diff --git a/src/steps/shim.ts b/src/steps/shim.ts index 5b6c337..a6818e9 100644 --- a/src/steps/shim.ts +++ b/src/steps/shim.ts @@ -1,13 +1,12 @@ import { NexeCompiler } from '../compiler' -import { relative } from 'path' import { wrap } from '../util' export default function(compiler: NexeCompiler, next: () => Promise) { compiler.shims.push( wrap( - `process.__nexe = ${JSON.stringify({ resources: compiler.resources.index })};\n` + - '{{replace:lib/bundle/fs/patch.js}}' + - '\nshimFs(process.__nexe, require("fs"))' + `process.__nexe = ${JSON.stringify(compiler.binaryConfiguration)};\n` + + '{{replace:lib/fs/patch.js}}' + + '\nshimFs(process.__nexe)' ) ) compiler.shims.push( @@ -20,18 +19,13 @@ export default function(compiler: NexeCompiler, next: () => Promise) { `) ) - if (compiler.options.fakeArgv !== false) { - const nty = !process.stdin.isTTY - const input = nty - ? '[stdin]' - : JSON.stringify(relative(compiler.options.cwd, compiler.options.input)) - - compiler.shims.push( - wrap(` - var r = require('path').resolve; - process.argv.splice(1,0, ${nty ? `'${input}'` : `r(${input})`});`) - ) - } + compiler.shims.push( + wrap(` + if (!process.send) { + process.argv.splice(1,0, require.resolve("${compiler.entrypoint}")) + } + `) + ) return next() } diff --git a/tasks/post-build.ts b/tasks/post-build.ts index f34a09e..f41746f 100644 --- a/tasks/post-build.ts +++ b/tasks/post-build.ts @@ -10,7 +10,8 @@ inject('lib/patches/third-party-main.js') inject('lib/steps/shim.js') inject('lib/options.js', JSON.stringify(require('../package.json').version)) -cp('src/bundle/fs/package.json', 'lib/bundle/fs/package.json') +cp('src/fs/package.json', 'lib/fs/package.json') +cp('src/fs/README.md', 'lib/fs/README.md') function inject(filename: string, ...replacements: string[]) { let contents = readFileSync(filename, 'utf8') diff --git a/test/shim-fs.spec.ts b/test/shim-fs.spec.ts deleted file mode 100644 index e69de29..0000000