From 71106f6f54fe3bc0f1c94061ed566f269a2f4b93 Mon Sep 17 00:00:00 2001 From: "Ilya Tsykunov (tsykunoi)" Date: Wed, 6 Nov 2019 19:15:36 +0000 Subject: [PATCH 1/2] Detail page HTML and CSS, SQL Created most of the basic elements for detail page, added more columns to the item SQL table --- gallerydb.db | Bin 8192 -> 20480 bytes index.js | 16 +- node_modules/@types/events/LICENSE | 21 + node_modules/@types/events/README.md | 16 + node_modules/@types/events/index.d.ts | 28 + node_modules/@types/events/package.json | 56 + node_modules/@types/formidable/LICENSE | 21 + node_modules/@types/formidable/README.md | 16 + node_modules/@types/formidable/index.d.ts | 56 + node_modules/@types/formidable/package.json | 54 + node_modules/@types/node/LICENSE | 21 + node_modules/@types/node/README.md | 16 + node_modules/@types/node/assert.d.ts | 48 + node_modules/@types/node/async_hooks.d.ts | 132 + node_modules/@types/node/base.d.ts | 41 + node_modules/@types/node/buffer.d.ts | 22 + node_modules/@types/node/child_process.d.ts | 478 +++ node_modules/@types/node/cluster.d.ts | 260 ++ node_modules/@types/node/console.d.ts | 3 + node_modules/@types/node/constants.d.ts | 448 +++ node_modules/@types/node/crypto.d.ts | 614 ++++ node_modules/@types/node/dgram.d.ts | 102 + node_modules/@types/node/dns.d.ts | 366 ++ node_modules/@types/node/domain.d.ts | 16 + node_modules/@types/node/events.d.ts | 39 + node_modules/@types/node/fs.d.ts | 2446 +++++++++++++ node_modules/@types/node/globals.d.ts | 1161 +++++++ node_modules/@types/node/http.d.ts | 370 ++ node_modules/@types/node/http2.d.ts | 947 +++++ node_modules/@types/node/https.d.ts | 53 + node_modules/@types/node/index.d.ts | 102 + node_modules/@types/node/inspector.d.ts | 3034 +++++++++++++++++ node_modules/@types/node/module.d.ts | 3 + node_modules/@types/node/net.d.ts | 268 ++ node_modules/@types/node/os.d.ts | 263 ++ node_modules/@types/node/package.json | 212 ++ node_modules/@types/node/path.d.ts | 159 + node_modules/@types/node/perf_hooks.d.ts | 304 ++ node_modules/@types/node/process.d.ts | 15 + node_modules/@types/node/punycode.d.ts | 12 + node_modules/@types/node/querystring.d.ts | 29 + node_modules/@types/node/readline.d.ts | 150 + node_modules/@types/node/repl.d.ts | 382 +++ node_modules/@types/node/stream.d.ts | 314 ++ node_modules/@types/node/string_decoder.d.ts | 7 + node_modules/@types/node/timers.d.ts | 16 + node_modules/@types/node/tls.d.ts | 418 +++ node_modules/@types/node/trace_events.d.ts | 61 + node_modules/@types/node/ts3.2/fs.d.ts | 33 + node_modules/@types/node/ts3.2/globals.d.ts | 19 + node_modules/@types/node/ts3.2/index.d.ts | 21 + node_modules/@types/node/ts3.2/util.d.ts | 15 + node_modules/@types/node/tty.d.ts | 66 + node_modules/@types/node/url.d.ts | 104 + node_modules/@types/node/util.d.ts | 180 + node_modules/@types/node/v8.d.ts | 197 ++ node_modules/@types/node/vm.d.ts | 110 + node_modules/@types/node/worker_threads.d.ts | 153 + node_modules/@types/node/zlib.d.ts | 352 ++ .../bcrypt/lib/binding/bcrypt_lib.node | Bin 65880 -> 554496 bytes node_modules/formidable/.travis.yml | 5 + node_modules/formidable/LICENSE | 7 + node_modules/formidable/Readme.md | 336 ++ node_modules/formidable/index.js | 1 + node_modules/formidable/lib/file.js | 81 + node_modules/formidable/lib/incoming_form.js | 558 +++ node_modules/formidable/lib/index.js | 3 + node_modules/formidable/lib/json_parser.js | 30 + .../formidable/lib/multipart_parser.js | 332 ++ node_modules/formidable/lib/octet_parser.js | 20 + .../formidable/lib/querystring_parser.js | 27 + node_modules/formidable/package.json | 57 + node_modules/formidable/yarn.lock | 2891 ++++++++++++++++ node_modules/fs-extra/CHANGELOG.md | 864 +++++ node_modules/fs-extra/LICENSE | 15 + node_modules/fs-extra/README.md | 261 ++ .../fs-extra/lib/copy-sync/copy-sync.js | 164 + node_modules/fs-extra/lib/copy-sync/index.js | 5 + node_modules/fs-extra/lib/copy/copy.js | 212 ++ node_modules/fs-extra/lib/copy/index.js | 6 + node_modules/fs-extra/lib/empty/index.js | 48 + node_modules/fs-extra/lib/ensure/file.js | 49 + node_modules/fs-extra/lib/ensure/index.js | 23 + node_modules/fs-extra/lib/ensure/link.js | 61 + .../fs-extra/lib/ensure/symlink-paths.js | 99 + .../fs-extra/lib/ensure/symlink-type.js | 31 + node_modules/fs-extra/lib/ensure/symlink.js | 63 + node_modules/fs-extra/lib/fs/index.js | 109 + node_modules/fs-extra/lib/index.js | 28 + node_modules/fs-extra/lib/json/index.js | 16 + node_modules/fs-extra/lib/json/jsonfile.js | 12 + .../fs-extra/lib/json/output-json-sync.js | 18 + node_modules/fs-extra/lib/json/output-json.js | 27 + node_modules/fs-extra/lib/mkdirs/index.js | 14 + .../fs-extra/lib/mkdirs/mkdirs-sync.js | 54 + node_modules/fs-extra/lib/mkdirs/mkdirs.js | 63 + node_modules/fs-extra/lib/mkdirs/win32.js | 25 + node_modules/fs-extra/lib/move-sync/index.js | 5 + .../fs-extra/lib/move-sync/move-sync.js | 47 + node_modules/fs-extra/lib/move/index.js | 6 + node_modules/fs-extra/lib/move/move.js | 65 + node_modules/fs-extra/lib/output/index.js | 40 + .../fs-extra/lib/path-exists/index.js | 12 + node_modules/fs-extra/lib/remove/index.js | 9 + node_modules/fs-extra/lib/remove/rimraf.js | 314 ++ node_modules/fs-extra/lib/util/buffer.js | 12 + node_modules/fs-extra/lib/util/stat.js | 172 + node_modules/fs-extra/lib/util/utimes.js | 79 + node_modules/fs-extra/package.json | 101 + node_modules/graceful-fs/LICENSE | 15 + node_modules/graceful-fs/README.md | 133 + node_modules/graceful-fs/clone.js | 19 + node_modules/graceful-fs/graceful-fs.js | 346 ++ node_modules/graceful-fs/legacy-streams.js | 118 + node_modules/graceful-fs/package.json | 80 + node_modules/graceful-fs/polyfills.js | 342 ++ node_modules/jsonfile/CHANGELOG.md | 145 + node_modules/jsonfile/LICENSE | 15 + node_modules/jsonfile/README.md | 168 + node_modules/jsonfile/index.js | 134 + node_modules/jsonfile/package.json | 71 + node_modules/koa-body/CHANGELOG.md | 28 + node_modules/koa-body/LICENSE | 21 + node_modules/koa-body/README.md | 135 + node_modules/koa-body/index.d.ts | 168 + node_modules/koa-body/index.js | 211 ++ .../koa-body/node_modules/co-body/History.md | 84 + .../koa-body/node_modules/co-body/Readme.md | 84 + .../koa-body/node_modules/co-body/index.js | 5 + .../koa-body/node_modules/co-body/lib/any.js | 50 + .../koa-body/node_modules/co-body/lib/form.js | 54 + .../koa-body/node_modules/co-body/lib/json.js | 64 + .../koa-body/node_modules/co-body/lib/text.js | 41 + .../node_modules/co-body/lib/utils.js | 13 + .../node_modules/co-body/package.json | 70 + node_modules/koa-body/package.json | 100 + node_modules/koa-body/unparsed.js | 14 + .../node-v72-win32-x64/node_sqlite3.node | Bin 0 -> 2235392 bytes node_modules/universalify/LICENSE | 20 + node_modules/universalify/README.md | 76 + node_modules/universalify/index.js | 25 + node_modules/universalify/package.json | 64 + package-lock.json | 80 +- package.json | 30 + public/Items/item_aaa20191031573061498591.png | Bin 0 -> 804427 bytes public/style.css | 92 +- views/itemDetails.handlebars | 49 +- 147 files changed, 25483 insertions(+), 24 deletions(-) create mode 100644 node_modules/@types/events/LICENSE create mode 100644 node_modules/@types/events/README.md create mode 100644 node_modules/@types/events/index.d.ts create mode 100644 node_modules/@types/events/package.json create mode 100644 node_modules/@types/formidable/LICENSE create mode 100644 node_modules/@types/formidable/README.md create mode 100644 node_modules/@types/formidable/index.d.ts create mode 100644 node_modules/@types/formidable/package.json create mode 100644 node_modules/@types/node/LICENSE create mode 100644 node_modules/@types/node/README.md create mode 100644 node_modules/@types/node/assert.d.ts create mode 100644 node_modules/@types/node/async_hooks.d.ts create mode 100644 node_modules/@types/node/base.d.ts create mode 100644 node_modules/@types/node/buffer.d.ts create mode 100644 node_modules/@types/node/child_process.d.ts create mode 100644 node_modules/@types/node/cluster.d.ts create mode 100644 node_modules/@types/node/console.d.ts create mode 100644 node_modules/@types/node/constants.d.ts create mode 100644 node_modules/@types/node/crypto.d.ts create mode 100644 node_modules/@types/node/dgram.d.ts create mode 100644 node_modules/@types/node/dns.d.ts create mode 100644 node_modules/@types/node/domain.d.ts create mode 100644 node_modules/@types/node/events.d.ts create mode 100644 node_modules/@types/node/fs.d.ts create mode 100644 node_modules/@types/node/globals.d.ts create mode 100644 node_modules/@types/node/http.d.ts create mode 100644 node_modules/@types/node/http2.d.ts create mode 100644 node_modules/@types/node/https.d.ts create mode 100644 node_modules/@types/node/index.d.ts create mode 100644 node_modules/@types/node/inspector.d.ts create mode 100644 node_modules/@types/node/module.d.ts create mode 100644 node_modules/@types/node/net.d.ts create mode 100644 node_modules/@types/node/os.d.ts create mode 100644 node_modules/@types/node/package.json create mode 100644 node_modules/@types/node/path.d.ts create mode 100644 node_modules/@types/node/perf_hooks.d.ts create mode 100644 node_modules/@types/node/process.d.ts create mode 100644 node_modules/@types/node/punycode.d.ts create mode 100644 node_modules/@types/node/querystring.d.ts create mode 100644 node_modules/@types/node/readline.d.ts create mode 100644 node_modules/@types/node/repl.d.ts create mode 100644 node_modules/@types/node/stream.d.ts create mode 100644 node_modules/@types/node/string_decoder.d.ts create mode 100644 node_modules/@types/node/timers.d.ts create mode 100644 node_modules/@types/node/tls.d.ts create mode 100644 node_modules/@types/node/trace_events.d.ts create mode 100644 node_modules/@types/node/ts3.2/fs.d.ts create mode 100644 node_modules/@types/node/ts3.2/globals.d.ts create mode 100644 node_modules/@types/node/ts3.2/index.d.ts create mode 100644 node_modules/@types/node/ts3.2/util.d.ts create mode 100644 node_modules/@types/node/tty.d.ts create mode 100644 node_modules/@types/node/url.d.ts create mode 100644 node_modules/@types/node/util.d.ts create mode 100644 node_modules/@types/node/v8.d.ts create mode 100644 node_modules/@types/node/vm.d.ts create mode 100644 node_modules/@types/node/worker_threads.d.ts create mode 100644 node_modules/@types/node/zlib.d.ts create mode 100644 node_modules/formidable/.travis.yml create mode 100644 node_modules/formidable/LICENSE create mode 100644 node_modules/formidable/Readme.md create mode 100644 node_modules/formidable/index.js create mode 100644 node_modules/formidable/lib/file.js create mode 100644 node_modules/formidable/lib/incoming_form.js create mode 100644 node_modules/formidable/lib/index.js create mode 100644 node_modules/formidable/lib/json_parser.js create mode 100644 node_modules/formidable/lib/multipart_parser.js create mode 100644 node_modules/formidable/lib/octet_parser.js create mode 100644 node_modules/formidable/lib/querystring_parser.js create mode 100644 node_modules/formidable/package.json create mode 100644 node_modules/formidable/yarn.lock create mode 100644 node_modules/fs-extra/CHANGELOG.md create mode 100644 node_modules/fs-extra/LICENSE create mode 100644 node_modules/fs-extra/README.md create mode 100644 node_modules/fs-extra/lib/copy-sync/copy-sync.js create mode 100644 node_modules/fs-extra/lib/copy-sync/index.js create mode 100644 node_modules/fs-extra/lib/copy/copy.js create mode 100644 node_modules/fs-extra/lib/copy/index.js create mode 100644 node_modules/fs-extra/lib/empty/index.js create mode 100644 node_modules/fs-extra/lib/ensure/file.js create mode 100644 node_modules/fs-extra/lib/ensure/index.js create mode 100644 node_modules/fs-extra/lib/ensure/link.js create mode 100644 node_modules/fs-extra/lib/ensure/symlink-paths.js create mode 100644 node_modules/fs-extra/lib/ensure/symlink-type.js create mode 100644 node_modules/fs-extra/lib/ensure/symlink.js create mode 100644 node_modules/fs-extra/lib/fs/index.js create mode 100644 node_modules/fs-extra/lib/index.js create mode 100644 node_modules/fs-extra/lib/json/index.js create mode 100644 node_modules/fs-extra/lib/json/jsonfile.js create mode 100644 node_modules/fs-extra/lib/json/output-json-sync.js create mode 100644 node_modules/fs-extra/lib/json/output-json.js create mode 100644 node_modules/fs-extra/lib/mkdirs/index.js create mode 100644 node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js create mode 100644 node_modules/fs-extra/lib/mkdirs/mkdirs.js create mode 100644 node_modules/fs-extra/lib/mkdirs/win32.js create mode 100644 node_modules/fs-extra/lib/move-sync/index.js create mode 100644 node_modules/fs-extra/lib/move-sync/move-sync.js create mode 100644 node_modules/fs-extra/lib/move/index.js create mode 100644 node_modules/fs-extra/lib/move/move.js create mode 100644 node_modules/fs-extra/lib/output/index.js create mode 100644 node_modules/fs-extra/lib/path-exists/index.js create mode 100644 node_modules/fs-extra/lib/remove/index.js create mode 100644 node_modules/fs-extra/lib/remove/rimraf.js create mode 100644 node_modules/fs-extra/lib/util/buffer.js create mode 100644 node_modules/fs-extra/lib/util/stat.js create mode 100644 node_modules/fs-extra/lib/util/utimes.js create mode 100644 node_modules/fs-extra/package.json create mode 100644 node_modules/graceful-fs/LICENSE create mode 100644 node_modules/graceful-fs/README.md create mode 100644 node_modules/graceful-fs/clone.js create mode 100644 node_modules/graceful-fs/graceful-fs.js create mode 100644 node_modules/graceful-fs/legacy-streams.js create mode 100644 node_modules/graceful-fs/package.json create mode 100644 node_modules/graceful-fs/polyfills.js create mode 100644 node_modules/jsonfile/CHANGELOG.md create mode 100644 node_modules/jsonfile/LICENSE create mode 100644 node_modules/jsonfile/README.md create mode 100644 node_modules/jsonfile/index.js create mode 100644 node_modules/jsonfile/package.json create mode 100644 node_modules/koa-body/CHANGELOG.md create mode 100644 node_modules/koa-body/LICENSE create mode 100644 node_modules/koa-body/README.md create mode 100644 node_modules/koa-body/index.d.ts create mode 100644 node_modules/koa-body/index.js create mode 100644 node_modules/koa-body/node_modules/co-body/History.md create mode 100644 node_modules/koa-body/node_modules/co-body/Readme.md create mode 100644 node_modules/koa-body/node_modules/co-body/index.js create mode 100644 node_modules/koa-body/node_modules/co-body/lib/any.js create mode 100644 node_modules/koa-body/node_modules/co-body/lib/form.js create mode 100644 node_modules/koa-body/node_modules/co-body/lib/json.js create mode 100644 node_modules/koa-body/node_modules/co-body/lib/text.js create mode 100644 node_modules/koa-body/node_modules/co-body/lib/utils.js create mode 100644 node_modules/koa-body/node_modules/co-body/package.json create mode 100644 node_modules/koa-body/package.json create mode 100644 node_modules/koa-body/unparsed.js create mode 100644 node_modules/sqlite3/lib/binding/node-v72-win32-x64/node_sqlite3.node create mode 100644 node_modules/universalify/LICENSE create mode 100644 node_modules/universalify/README.md create mode 100644 node_modules/universalify/index.js create mode 100644 node_modules/universalify/package.json create mode 100644 package.json create mode 100644 public/Items/item_aaa20191031573061498591.png diff --git a/gallerydb.db b/gallerydb.db index 1028e07dadf913cac4e4ae6beeff28c65d680447..561b4147bda8b44e654c2853fac14d3f5bc47389 100644 GIT binary patch literal 20480 zcmeI(O>g2x7yw{VeAvj=2Shye?44C*Uw)t3Y zXw_p6J@2vqpi&Q2Z@ugv=(V^0g*{fP?LZXBRynQIc3(@jneoiv_nG%%JTx2UvMr&Z zZmNQflGrC0j$_{?wniB?sxXh=GHy7J;h>)uMbE+<~w+Ukv{}~I(YN( z&yRJ2>mUFEAOHd&00JNY0w4eaAaEx@`tiTQ6otQHZ9!Bd>qZfKwxk+8uh^s04{Lk{ zp2@Ws)XL@085DWgAcBte_ae@-kjfS#do0&tN(_(cJX_209aLpHD0kVqU^!=;8pE}o zJB_E7WZrA+R%wDNMfO_E3$KA;%Kdvq!L((|z8lLkI=leW|!PBW7WzM5{&BxSL< zX-tH?7&Fvsb(H6BQi7!ho!8W#g>1>PX_}&wDaKD=p%vj)tcR_3=c&@NvecB;j4vkj zs|nwcVr*YC1j8ClPBqS4T;zsoCDWdzD@-+~HA?iEkHEq!Vk{|&z8+^$=(J;8_dF&{ zT5>AhE%WlSdXW{E<|L!eXGWQcjK6e=t?Dh%{mMyoElOr=!2O!R59k?gZ22Hy=Tqm<`%Ii6ck zOgG21m#0bnx_ZGk<03tf`0}tT<%ef^resj*>(il}D=W6Cy3hYO`5Gf%lO}1tkI98G zK>!3m00ck)1V8`;KmY_l00cnbLlpSN7r>&S4$e8hb|6uiYBmz}m%sf;(X6{_Bkrym z=m~;A_kH^q9u0jJj&?BOVe7iH^hHN?x$nH>*Xv{5)=v^>fxH8a`s&VT2`Wn^lGI5i znMhNq?CD9CiW%DI_WA!UM!qHg_z-6UVg>;a009sH0T2KI5C8!X009sHf&YWR7x=@! zy7=}!_l0rycLvM1iIMzu^9jx%00JNY0w4eaAOHd&00JNY0w4ea|002cvpyh-hnzd= RVB5 { // encrypt the password body.password = await bcrypt.hash(body.password, saltRounds) // insert the user into the db - success! - const sql = `INSERT INTO users(username, password, profilePicture) - VALUES("${body.username}", "${body.password}", "pic_${body.username}");` + const sql = `INSERT INTO users(username, password) VALUES("${body.username}", "${body.password}");` console.log(sql) await db.run(sql) await db.close() @@ -236,12 +235,17 @@ router.get('/:id', async ctx => { if(record === undefined) throw new Error('unrecogised item') const itemUser = await db.get(`SELECT * FROM users WHERE userID = ${record.userID};`) // set the data - item info + user info - data.username = itemUser.username - data.picDir = 'ProfilePictures/' + itemUser.profilePicture + '.png' - data.item = record.item + data.name = record.name data.price = record.price - data.imageDir = record.imageDir + data.artist = record.artist + data.medium = record.medium + data.size = record.size + data.itemID = record.itemID + + data.imageDir1 = record.imageDir1 + data.username = itemUser.username + data.picDir = 'ProfilePictures/' + itemUser.profilePicture + '.png' await ctx.render('itemDetails', data) } catch(err) { console.error(err.message) diff --git a/node_modules/@types/events/LICENSE b/node_modules/@types/events/LICENSE new file mode 100644 index 0000000..2107107 --- /dev/null +++ b/node_modules/@types/events/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/events/README.md b/node_modules/@types/events/README.md new file mode 100644 index 0000000..e459064 --- /dev/null +++ b/node_modules/@types/events/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/events` + +# Summary +This package contains type definitions for events (https://github.com/Gozala/events). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/events + +Additional Details + * Last updated: Thu, 24 Jan 2019 03:19:08 GMT + * Dependencies: none + * Global values: none + +# Credits +These definitions were written by Yasunori Ohoka , Shenwei Wang . diff --git a/node_modules/@types/events/index.d.ts b/node_modules/@types/events/index.d.ts new file mode 100644 index 0000000..a6cf834 --- /dev/null +++ b/node_modules/@types/events/index.d.ts @@ -0,0 +1,28 @@ +// Type definitions for events 3.0 +// Project: https://github.com/Gozala/events +// Definitions by: Yasunori Ohoka +// Shenwei Wang +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export type Listener = (...args: any[]) => void; + +export class EventEmitter { + static listenerCount(emitter: EventEmitter, type: string | number): number; + static defaultMaxListeners: number; + + eventNames(): Array; + setMaxListeners(n: number): this; + getMaxListeners(): number; + emit(type: string | number, ...args: any[]): boolean; + addListener(type: string | number, listener: Listener): this; + on(type: string | number, listener: Listener): this; + once(type: string | number, listener: Listener): this; + prependListener(type: string | number, listener: Listener): this; + prependOnceListener(type: string | number, listener: Listener): this; + removeListener(type: string | number, listener: Listener): this; + off(type: string | number, listener: Listener): this; + removeAllListeners(type?: string | number): this; + listeners(type: string | number): Listener[]; + listenerCount(type: string | number): number; + rawListeners(type: string | number): Listener[]; +} diff --git a/node_modules/@types/events/package.json b/node_modules/@types/events/package.json new file mode 100644 index 0000000..50e8793 --- /dev/null +++ b/node_modules/@types/events/package.json @@ -0,0 +1,56 @@ +{ + "_from": "@types/events@*", + "_id": "@types/events@3.0.0", + "_inBundle": false, + "_integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "_location": "/@types/events", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@types/events@*", + "name": "@types/events", + "escapedName": "@types%2fevents", + "scope": "@types", + "rawSpec": "*", + "saveSpec": null, + "fetchSpec": "*" + }, + "_requiredBy": [ + "/@types/formidable" + ], + "_resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "_shasum": "2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7", + "_spec": "@types/events@*", + "_where": "D:\\GitHub\\Gallery\\node_modules\\@types\\formidable", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Yasunori Ohoka", + "url": "https://github.com/yasupeke" + }, + { + "name": "Shenwei Wang", + "url": "https://github.com/weareoutman" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "TypeScript definitions for events", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/events", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typeScriptVersion": "2.0", + "types": "index", + "typesPublisherContentHash": "ae078136220837864b64cc7c1c5267ca1ceb809166fb74569e637bc7de9f2e12", + "version": "3.0.0" +} diff --git a/node_modules/@types/formidable/LICENSE b/node_modules/@types/formidable/LICENSE new file mode 100644 index 0000000..2107107 --- /dev/null +++ b/node_modules/@types/formidable/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/formidable/README.md b/node_modules/@types/formidable/README.md new file mode 100644 index 0000000..2b71598 --- /dev/null +++ b/node_modules/@types/formidable/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/formidable` + +# Summary +This package contains type definitions for Formidable (https://github.com/felixge/node-formidable/). + +# Details +Files were exported from https://www.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/formidable + +Additional Details + * Last updated: Mon, 09 Apr 2018 17:46:20 GMT + * Dependencies: http, stream, events, node + * Global values: none + +# Credits +These definitions were written by Wim Looman . diff --git a/node_modules/@types/formidable/index.d.ts b/node_modules/@types/formidable/index.d.ts new file mode 100644 index 0000000..da5c730 --- /dev/null +++ b/node_modules/@types/formidable/index.d.ts @@ -0,0 +1,56 @@ +// Type definitions for Formidable 1.0.16 +// Project: https://github.com/felixge/node-formidable/ +// Definitions by: Wim Looman +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + + +import http = require("http"); +import stream = require("stream"); +import events = require("events"); + +export declare class IncomingForm extends events.EventEmitter { + encoding: string; + uploadDir: string; + keepExtensions: boolean; + maxFileSize: number; + maxFieldsSize: number; + maxFields: number; + hash: string | boolean; + multiples: boolean; + type: string; + bytesReceived: number; + bytesExpected: number; + + onPart: (part: Part) => void; + + handlePart(part: Part): void; + parse(req: http.IncomingMessage, callback?: (err: any, fields: Fields, files: Files) => any): void; +} + +export interface Fields { + [key: string]: string|Array; +} + +export interface Files { + [key: string]: File; // | File[]; +} + +export interface Part extends stream.Stream { + headers: { [key: string]: string }; + name: string; + filename?: string; + mime?: string; +} + +export interface File { + size: number; + path: string; + name: string; + type: string; + lastModifiedDate?: Date; + hash?: string; + + toJSON(): Object; +} diff --git a/node_modules/@types/formidable/package.json b/node_modules/@types/formidable/package.json new file mode 100644 index 0000000..dd35a8a --- /dev/null +++ b/node_modules/@types/formidable/package.json @@ -0,0 +1,54 @@ +{ + "_from": "@types/formidable@^1.0.31", + "_id": "@types/formidable@1.0.31", + "_inBundle": false, + "_integrity": "sha512-dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==", + "_location": "/@types/formidable", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@types/formidable@^1.0.31", + "name": "@types/formidable", + "escapedName": "@types%2fformidable", + "scope": "@types", + "rawSpec": "^1.0.31", + "saveSpec": null, + "fetchSpec": "^1.0.31" + }, + "_requiredBy": [ + "/koa-body" + ], + "_resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz", + "_shasum": "274f9dc2d0a1a9ce1feef48c24ca0859e7ec947b", + "_spec": "@types/formidable@^1.0.31", + "_where": "D:\\GitHub\\Gallery\\node_modules\\koa-body", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Wim Looman", + "url": "https://github.com/Nemo157" + } + ], + "dependencies": { + "@types/events": "*", + "@types/node": "*" + }, + "deprecated": false, + "description": "TypeScript definitions for Formidable", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/formidable", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git" + }, + "scripts": {}, + "typeScriptVersion": "2.0", + "typesPublisherContentHash": "f25dea57419b31a9ce78e1d4cbcb2cd2044fc06f587b18cf269fc8e08aed9319", + "version": "1.0.31" +} diff --git a/node_modules/@types/node/LICENSE b/node_modules/@types/node/LICENSE new file mode 100644 index 0000000..2107107 --- /dev/null +++ b/node_modules/@types/node/LICENSE @@ -0,0 +1,21 @@ + MIT License + + Copyright (c) Microsoft Corporation. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md new file mode 100644 index 0000000..71dfead --- /dev/null +++ b/node_modules/@types/node/README.md @@ -0,0 +1,16 @@ +# Installation +> `npm install --save @types/node` + +# Summary +This package contains type definitions for Node.js (http://nodejs.org/). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node + +Additional Details + * Last updated: Tue, 05 Nov 2019 21:05:05 GMT + * Dependencies: none + * Global values: Buffer, NodeJS, Symbol, __dirname, __filename, clearImmediate, clearInterval, clearTimeout, console, exports, global, module, process, queueMicrotask, require, setImmediate, setInterval, setTimeout + +# Credits +These definitions were written by Microsoft TypeScript , DefinitelyTyped , Alberto Schiabel , Alexander T. , Alvis HT Tang , Andrew Makarov , Benjamin Toueg , Bruno Scheufler , Chigozirim C. , Christian Vaagland Tellnes , David Junger , Deividas Bakanas , Eugene Y. Q. Shen , Flarna , Hannes Magnusson , Hoàng Văn Khải , Huw , Kelvin Jin , Klaus Meinhardt , Lishude , Mariusz Wiktorczyk , Mohsen Azimi , Nicolas Even , Nicolas Voigt , Nikita Galkin , Parambir Singh , Sebastian Silbermann , Simon Schick , Thomas den Hollander , Wilco Bakker , wwwy3y3 , Zane Hannan AU , Samuel Ainsworth , Kyle Uehlein , Jordi Oliveras Rovira , Thanik Bhongbhibhat , Marcin Kopacz , Trivikram Kamat , and Minh Son Nguyen . diff --git a/node_modules/@types/node/assert.d.ts b/node_modules/@types/node/assert.d.ts new file mode 100644 index 0000000..1244813 --- /dev/null +++ b/node_modules/@types/node/assert.d.ts @@ -0,0 +1,48 @@ +declare module "assert" { + function internal(value: any, message?: string | Error): void; + namespace internal { + class AssertionError implements Error { + name: string; + message: string; + actual: any; + expected: any; + operator: string; + generatedMessage: boolean; + code: 'ERR_ASSERTION'; + + constructor(options?: { + message?: string; actual?: any; expected?: any; + operator?: string; stackStartFn?: Function + }); + } + + function fail(message?: string | Error): never; + /** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */ + function fail(actual: any, expected: any, message?: string | Error, operator?: string, stackStartFn?: Function): never; + function ok(value: any, message?: string | Error): void; + function equal(actual: any, expected: any, message?: string | Error): void; + function notEqual(actual: any, expected: any, message?: string | Error): void; + function deepEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepEqual(actual: any, expected: any, message?: string | Error): void; + function strictEqual(actual: any, expected: any, message?: string | Error): void; + function notStrictEqual(actual: any, expected: any, message?: string | Error): void; + function deepStrictEqual(actual: any, expected: any, message?: string | Error): void; + function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void; + + function throws(block: () => any, message?: string | Error): void; + function throws(block: () => any, error: RegExp | Function | Object | Error, message?: string | Error): void; + function doesNotThrow(block: () => any, message?: string | Error): void; + function doesNotThrow(block: () => any, error: RegExp | Function, message?: string | Error): void; + + function ifError(value: any): void; + + function rejects(block: (() => Promise) | Promise, message?: string | Error): Promise; + function rejects(block: (() => Promise) | Promise, error: RegExp | Function | Object | Error, message?: string | Error): Promise; + function doesNotReject(block: (() => Promise) | Promise, message?: string | Error): Promise; + function doesNotReject(block: (() => Promise) | Promise, error: RegExp | Function, message?: string | Error): Promise; + + const strict: typeof internal; + } + + export = internal; +} diff --git a/node_modules/@types/node/async_hooks.d.ts b/node_modules/@types/node/async_hooks.d.ts new file mode 100644 index 0000000..cca992e --- /dev/null +++ b/node_modules/@types/node/async_hooks.d.ts @@ -0,0 +1,132 @@ +/** + * Async Hooks module: https://nodejs.org/api/async_hooks.html + */ +declare module "async_hooks" { + /** + * Returns the asyncId of the current execution context. + */ + function executionAsyncId(): number; + + /** + * Returns the ID of the resource responsible for calling the callback that is currently being executed. + */ + function triggerAsyncId(): number; + + interface HookCallbacks { + /** + * Called when a class is constructed that has the possibility to emit an asynchronous event. + * @param asyncId a unique ID for the async resource + * @param type the type of the async resource + * @param triggerAsyncId the unique ID of the async resource in whose execution context this async resource was created + * @param resource reference to the resource representing the async operation, needs to be released during destroy + */ + init?(asyncId: number, type: string, triggerAsyncId: number, resource: Object): void; + + /** + * When an asynchronous operation is initiated or completes a callback is called to notify the user. + * The before callback is called just before said callback is executed. + * @param asyncId the unique identifier assigned to the resource about to execute the callback. + */ + before?(asyncId: number): void; + + /** + * Called immediately after the callback specified in before is completed. + * @param asyncId the unique identifier assigned to the resource which has executed the callback. + */ + after?(asyncId: number): void; + + /** + * Called when a promise has resolve() called. This may not be in the same execution id + * as the promise itself. + * @param asyncId the unique id for the promise that was resolve()d. + */ + promiseResolve?(asyncId: number): void; + + /** + * Called after the resource corresponding to asyncId is destroyed + * @param asyncId a unique ID for the async resource + */ + destroy?(asyncId: number): void; + } + + interface AsyncHook { + /** + * Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop. + */ + enable(): this; + + /** + * Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled. + */ + disable(): this; + } + + /** + * Registers functions to be called for different lifetime events of each async operation. + * @param options the callbacks to register + * @return an AsyncHooks instance used for disabling and enabling hooks + */ + function createHook(options: HookCallbacks): AsyncHook; + + interface AsyncResourceOptions { + /** + * The ID of the execution context that created this async event. + * Default: `executionAsyncId()` + */ + triggerAsyncId?: number; + + /** + * Disables automatic `emitDestroy` when the object is garbage collected. + * This usually does not need to be set (even if `emitDestroy` is called + * manually), unless the resource's `asyncId` is retrieved and the + * sensitive API's `emitDestroy` is called with it. + * Default: `false` + */ + requireManualDestroy?: boolean; + } + + /** + * The class AsyncResource was designed to be extended by the embedder's async resources. + * Using this users can easily trigger the lifetime events of their own resources. + */ + class AsyncResource { + /** + * AsyncResource() is meant to be extended. Instantiating a + * new AsyncResource() also triggers init. If triggerAsyncId is omitted then + * async_hook.executionAsyncId() is used. + * @param type The type of async event. + * @param triggerAsyncId The ID of the execution context that created + * this async event (default: `executionAsyncId()`), or an + * AsyncResourceOptions object (since 9.3) + */ + constructor(type: string, triggerAsyncId?: number|AsyncResourceOptions); + + /** + * Call the provided function with the provided arguments in the + * execution context of the async resource. This will establish the + * context, trigger the AsyncHooks before callbacks, call the function, + * trigger the AsyncHooks after callbacks, and then restore the original + * execution context. + * @param fn The function to call in the execution context of this + * async resource. + * @param thisArg The receiver to be used for the function call. + * @param args Optional arguments to pass to the function. + */ + runInAsyncScope(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result; + + /** + * Call AsyncHooks destroy callbacks. + */ + emitDestroy(): void; + + /** + * @return the unique ID assigned to this AsyncResource instance. + */ + asyncId(): number; + + /** + * @return the trigger ID for this AsyncResource instance. + */ + triggerAsyncId(): number; + } +} diff --git a/node_modules/@types/node/base.d.ts b/node_modules/@types/node/base.d.ts new file mode 100644 index 0000000..70983d9 --- /dev/null +++ b/node_modules/@types/node/base.d.ts @@ -0,0 +1,41 @@ +// base definnitions for all NodeJS modules that are not specific to any version of TypeScript +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// diff --git a/node_modules/@types/node/buffer.d.ts b/node_modules/@types/node/buffer.d.ts new file mode 100644 index 0000000..7eb1061 --- /dev/null +++ b/node_modules/@types/node/buffer.d.ts @@ -0,0 +1,22 @@ +declare module "buffer" { + export const INSPECT_MAX_BYTES: number; + export const kMaxLength: number; + export const kStringMaxLength: number; + export const constants: { + MAX_LENGTH: number; + MAX_STRING_LENGTH: number; + }; + const BuffType: typeof Buffer; + + export type TranscodeEncoding = "ascii" | "utf8" | "utf16le" | "ucs2" | "latin1" | "binary"; + + export function transcode(source: Uint8Array, fromEnc: TranscodeEncoding, toEnc: TranscodeEncoding): Buffer; + + export const SlowBuffer: { + /** @deprecated since v6.0.0, use Buffer.allocUnsafeSlow() */ + new(size: number): Buffer; + prototype: Buffer; + }; + + export { BuffType as Buffer }; +} diff --git a/node_modules/@types/node/child_process.d.ts b/node_modules/@types/node/child_process.d.ts new file mode 100644 index 0000000..c220e19 --- /dev/null +++ b/node_modules/@types/node/child_process.d.ts @@ -0,0 +1,478 @@ +declare module "child_process" { + import * as events from "events"; + import * as net from "net"; + import { Writable, Readable, Stream, Pipe } from "stream"; + + interface ChildProcess extends events.EventEmitter { + stdin: Writable | null; + stdout: Readable | null; + stderr: Readable | null; + readonly channel?: Pipe | null; + readonly stdio: [ + Writable | null, // stdin + Readable | null, // stdout + Readable | null, // stderr + Readable | Writable | null | undefined, // extra + Readable | Writable | null | undefined // extra + ]; + readonly killed: boolean; + readonly pid: number; + readonly connected: boolean; + kill(signal?: string): void; + send(message: any, callback?: (error: Error | null) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, callback?: (error: Error | null) => void): boolean; + send(message: any, sendHandle?: net.Socket | net.Server, options?: MessageOptions, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + unref(): void; + ref(): void; + + /** + * events.EventEmitter + * 1. close + * 2. disconnect + * 3. error + * 4. exit + * 5. message + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (code: number, signal: string) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", code: number, signal: string): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "exit", code: number | null, signal: string | null): boolean; + emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (code: number, signal: string) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (code: number, signal: string) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (code: number, signal: string) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this; + prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this; + } + + // return this object when stdio option is undefined or not specified + interface ChildProcessWithoutNullStreams extends ChildProcess { + stdin: Writable; + stdout: Readable; + stderr: Readable; + readonly stdio: [ + Writable, // stdin + Readable, // stdout + Readable, // stderr + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + // return this object when stdio option is a tuple of 3 + interface ChildProcessByStdio< + I extends null | Writable, + O extends null | Readable, + E extends null | Readable, + > extends ChildProcess { + stdin: I; + stdout: O; + stderr: E; + readonly stdio: [ + I, + O, + E, + Readable | Writable | null | undefined, // extra, no modification + Readable | Writable | null | undefined // extra, no modification + ]; + } + + interface MessageOptions { + keepOpen?: boolean; + } + + type StdioOptions = "pipe" | "ignore" | "inherit" | Array<("pipe" | "ipc" | "ignore" | "inherit" | Stream | number | null | undefined)>; + + interface ProcessEnvOptions { + uid?: number; + gid?: number; + cwd?: string; + env?: NodeJS.ProcessEnv; + } + + interface CommonOptions extends ProcessEnvOptions { + /** + * @default true + */ + windowsHide?: boolean; + /** + * @default 0 + */ + timeout?: number; + } + + interface SpawnOptions extends CommonOptions { + argv0?: string; + stdio?: StdioOptions; + detached?: boolean; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + } + + interface SpawnOptionsWithoutStdio extends SpawnOptions { + stdio?: 'pipe' | Array; + } + + type StdioNull = 'inherit' | 'ignore' | Stream; + type StdioPipe = undefined | null | 'pipe'; + + interface SpawnOptionsWithStdioTuple< + Stdin extends StdioNull | StdioPipe, + Stdout extends StdioNull | StdioPipe, + Stderr extends StdioNull | StdioPipe, + > extends SpawnOptions { + stdio: [Stdin, Stdout, Stderr]; + } + + // overloads of spawn without 'args' + function spawn(command: string, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, options: SpawnOptions): ChildProcess; + + // overloads of spawn with 'args' + function spawn(command: string, args?: ReadonlyArray, options?: SpawnOptionsWithoutStdio): ChildProcessWithoutNullStreams; + + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + function spawn( + command: string, + args: ReadonlyArray, + options: SpawnOptionsWithStdioTuple, + ): ChildProcessByStdio; + + function spawn(command: string, args: ReadonlyArray, options: SpawnOptions): ChildProcess; + + interface ExecOptions extends CommonOptions { + shell?: string; + maxBuffer?: number; + killSignal?: string; + } + + interface ExecOptionsWithStringEncoding extends ExecOptions { + encoding: BufferEncoding; + } + + interface ExecOptionsWithBufferEncoding extends ExecOptions { + encoding: string | null; // specify `null`. + } + + interface ExecException extends Error { + cmd?: string; + killed?: boolean; + code?: number; + signal?: string; + } + + // no `options` definitely means stdout/stderr are `string`. + function exec(command: string, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function exec(command: string, options: { encoding: "buffer" | null } & ExecOptions, callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: { encoding: BufferEncoding } & ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function exec(command: string, options: { encoding: string } & ExecOptions, callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function exec(command: string, options: ExecOptions, callback?: (error: ExecException | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function exec( + command: string, + options: ({ encoding?: string | null } & ExecOptions) | undefined | null, + callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + interface PromiseWithChild extends Promise { + child: ChildProcess; + } + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exec { + function __promisify__(command: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: { encoding: "buffer" | null } & ExecOptions): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(command: string, options: { encoding: BufferEncoding } & ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options: ExecOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(command: string, options?: ({ encoding?: string | null } & ExecOptions) | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ExecFileOptions extends CommonOptions { + maxBuffer?: number; + killSignal?: string; + windowsVerbatimArguments?: boolean; + shell?: boolean | string; + } + interface ExecFileOptionsWithStringEncoding extends ExecFileOptions { + encoding: BufferEncoding; + } + interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions { + encoding: 'buffer' | null; + } + interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions { + encoding: string; + } + + function execFile(file: string): ChildProcess; + function execFile(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + function execFile(file: string, args?: ReadonlyArray | null): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): ChildProcess; + + // no `options` definitely means stdout/stderr are `string`. + function execFile(file: string, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`. + function execFile(file: string, options: ExecFileOptionsWithBufferEncoding, callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithBufferEncoding, + callback: (error: Error | null, stdout: Buffer, stderr: Buffer) => void, + ): ChildProcess; + + // `options` with well known `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptionsWithStringEncoding, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithStringEncoding, + callback: (error: Error | null, stdout: string, stderr: string) => void, + ): ChildProcess; + + // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`. + // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`. + function execFile( + file: string, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ExecFileOptionsWithOtherEncoding, + callback: (error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void, + ): ChildProcess; + + // `options` without an `encoding` means stdout/stderr are definitely `string`. + function execFile(file: string, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + function execFile(file: string, args: ReadonlyArray | undefined | null, options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void): ChildProcess; + + // fallback if nothing else matches. Worst case is always `string | Buffer`. + function execFile( + file: string, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + function execFile( + file: string, + args: ReadonlyArray | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + callback: ((error: Error | null, stdout: string | Buffer, stderr: string | Buffer) => void) | undefined | null, + ): ChildProcess; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace execFile { + function __promisify__(file: string): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithBufferEncoding): PromiseWithChild<{ stdout: Buffer, stderr: Buffer }>; + function __promisify__(file: string, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithStringEncoding): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptionsWithOtherEncoding): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__(file: string, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, args: string[] | undefined | null, options: ExecFileOptions): PromiseWithChild<{ stdout: string, stderr: string }>; + function __promisify__(file: string, options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + function __promisify__( + file: string, + args: string[] | undefined | null, + options: ({ encoding?: string | null } & ExecFileOptions) | undefined | null, + ): PromiseWithChild<{ stdout: string | Buffer, stderr: string | Buffer }>; + } + + interface ForkOptions extends ProcessEnvOptions { + execPath?: string; + execArgv?: string[]; + silent?: boolean; + stdio?: StdioOptions; + detached?: boolean; + windowsVerbatimArguments?: boolean; + } + function fork(modulePath: string, args?: ReadonlyArray, options?: ForkOptions): ChildProcess; + + interface SpawnSyncOptions extends CommonOptions { + argv0?: string; // Not specified in the docs + input?: string | NodeJS.ArrayBufferView; + stdio?: StdioOptions; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + shell?: boolean | string; + windowsVerbatimArguments?: boolean; + } + interface SpawnSyncOptionsWithStringEncoding extends SpawnSyncOptions { + encoding: BufferEncoding; + } + interface SpawnSyncOptionsWithBufferEncoding extends SpawnSyncOptions { + encoding: string; // specify `null`. + } + interface SpawnSyncReturns { + pid: number; + output: string[]; + stdout: T; + stderr: T; + status: number | null; + signal: string | null; + error?: Error; + } + function spawnSync(command: string): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, options?: SpawnSyncOptions): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptionsWithBufferEncoding): SpawnSyncReturns; + function spawnSync(command: string, args?: ReadonlyArray, options?: SpawnSyncOptions): SpawnSyncReturns; + + interface ExecSyncOptions extends CommonOptions { + input?: string | Uint8Array; + stdio?: StdioOptions; + shell?: string; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + } + interface ExecSyncOptionsWithStringEncoding extends ExecSyncOptions { + encoding: BufferEncoding; + } + interface ExecSyncOptionsWithBufferEncoding extends ExecSyncOptions { + encoding: string; // specify `null`. + } + function execSync(command: string): Buffer; + function execSync(command: string, options?: ExecSyncOptionsWithStringEncoding): string; + function execSync(command: string, options?: ExecSyncOptionsWithBufferEncoding): Buffer; + function execSync(command: string, options?: ExecSyncOptions): Buffer; + + interface ExecFileSyncOptions extends CommonOptions { + input?: string | NodeJS.ArrayBufferView; + stdio?: StdioOptions; + killSignal?: string | number; + maxBuffer?: number; + encoding?: string; + shell?: boolean | string; + } + interface ExecFileSyncOptionsWithStringEncoding extends ExecFileSyncOptions { + encoding: BufferEncoding; + } + interface ExecFileSyncOptionsWithBufferEncoding extends ExecFileSyncOptions { + encoding: string; // specify `null`. + } + function execFileSync(command: string): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, options?: ExecFileSyncOptions): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithStringEncoding): string; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptionsWithBufferEncoding): Buffer; + function execFileSync(command: string, args?: ReadonlyArray, options?: ExecFileSyncOptions): Buffer; +} diff --git a/node_modules/@types/node/cluster.d.ts b/node_modules/@types/node/cluster.d.ts new file mode 100644 index 0000000..43340ff --- /dev/null +++ b/node_modules/@types/node/cluster.d.ts @@ -0,0 +1,260 @@ +declare module "cluster" { + import * as child from "child_process"; + import * as events from "events"; + import * as net from "net"; + + // interfaces + interface ClusterSettings { + execArgv?: string[]; // default: process.execArgv + exec?: string; + args?: string[]; + silent?: boolean; + stdio?: any[]; + uid?: number; + gid?: number; + inspectPort?: number | (() => number); + } + + interface Address { + address: string; + port: number; + addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6" + } + + class Worker extends events.EventEmitter { + id: number; + process: child.ChildProcess; + send(message: any, sendHandle?: any, callback?: (error: Error | null) => void): boolean; + kill(signal?: string): void; + destroy(signal?: string): void; + disconnect(): void; + isConnected(): boolean; + isDead(): boolean; + exitedAfterDisconnect: boolean; + + /** + * events.EventEmitter + * 1. disconnect + * 2. error + * 3. exit + * 4. listening + * 5. message + * 6. online + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "exit", listener: (code: number, signal: string) => void): this; + addListener(event: "listening", listener: (address: Address) => void): this; + addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "exit", code: number, signal: string): boolean; + emit(event: "listening", address: Address): boolean; + emit(event: "message", message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "exit", listener: (code: number, signal: string) => void): this; + on(event: "listening", listener: (address: Address) => void): this; + on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "exit", listener: (code: number, signal: string) => void): this; + once(event: "listening", listener: (address: Address) => void): this; + once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependListener(event: "listening", listener: (address: Address) => void): this; + prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this; + prependOnceListener(event: "listening", listener: (address: Address) => void): this; + prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "online", listener: () => void): this; + } + + interface Cluster extends events.EventEmitter { + Worker: Worker; + disconnect(callback?: () => void): void; + fork(env?: any): Worker; + isMaster: boolean; + isWorker: boolean; + // TODO: cluster.schedulingPolicy + settings: ClusterSettings; + setupMaster(settings?: ClusterSettings): void; + worker?: Worker; + workers?: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "disconnect", listener: (worker: Worker) => void): this; + addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + addListener(event: "fork", listener: (worker: Worker) => void): this; + addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + addListener(event: "online", listener: (worker: Worker) => void): this; + addListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "disconnect", worker: Worker): boolean; + emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + emit(event: "fork", worker: Worker): boolean; + emit(event: "listening", worker: Worker, address: Address): boolean; + emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + emit(event: "online", worker: Worker): boolean; + emit(event: "setup", settings: ClusterSettings): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "disconnect", listener: (worker: Worker) => void): this; + on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + on(event: "fork", listener: (worker: Worker) => void): this; + on(event: "listening", listener: (worker: Worker, address: Address) => void): this; + on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + on(event: "online", listener: (worker: Worker) => void): this; + on(event: "setup", listener: (settings: ClusterSettings) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "disconnect", listener: (worker: Worker) => void): this; + once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + once(event: "fork", listener: (worker: Worker) => void): this; + once(event: "listening", listener: (worker: Worker, address: Address) => void): this; + once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + once(event: "online", listener: (worker: Worker) => void): this; + once(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependListener(event: "fork", listener: (worker: Worker) => void): this; + prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined. + prependListener(event: "online", listener: (worker: Worker) => void): this; + prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this; + prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this; + prependOnceListener(event: "fork", listener: (worker: Worker) => void): this; + prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this; + // the handle is a net.Socket or net.Server object, or undefined. + prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; + prependOnceListener(event: "online", listener: (worker: Worker) => void): this; + prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this; + } + + function disconnect(callback?: () => void): void; + function fork(env?: any): Worker; + const isMaster: boolean; + const isWorker: boolean; + // TODO: cluster.schedulingPolicy + const settings: ClusterSettings; + function setupMaster(settings?: ClusterSettings): void; + const worker: Worker; + const workers: { + [index: string]: Worker | undefined + }; + + /** + * events.EventEmitter + * 1. disconnect + * 2. exit + * 3. fork + * 4. listening + * 5. message + * 6. online + * 7. setup + */ + function addListener(event: string, listener: (...args: any[]) => void): Cluster; + function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function addListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function addListener(event: "online", listener: (worker: Worker) => void): Cluster; + function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function emit(event: string | symbol, ...args: any[]): boolean; + function emit(event: "disconnect", worker: Worker): boolean; + function emit(event: "exit", worker: Worker, code: number, signal: string): boolean; + function emit(event: "fork", worker: Worker): boolean; + function emit(event: "listening", worker: Worker, address: Address): boolean; + function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean; + function emit(event: "online", worker: Worker): boolean; + function emit(event: "setup", settings: ClusterSettings): boolean; + + function on(event: string, listener: (...args: any[]) => void): Cluster; + function on(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function on(event: "fork", listener: (worker: Worker) => void): Cluster; + function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function on(event: "online", listener: (worker: Worker) => void): Cluster; + function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function once(event: string, listener: (...args: any[]) => void): Cluster; + function once(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function once(event: "fork", listener: (worker: Worker) => void): Cluster; + function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined. + function once(event: "online", listener: (worker: Worker) => void): Cluster; + function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function removeListener(event: string, listener: (...args: any[]) => void): Cluster; + function removeAllListeners(event?: string): Cluster; + function setMaxListeners(n: number): Cluster; + function getMaxListeners(): number; + function listeners(event: string): Function[]; + function listenerCount(type: string): number; + + function prependListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster; + function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster; + function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster; + // the handle is a net.Socket or net.Server object, or undefined. + function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; + function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster; + function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster; + + function eventNames(): string[]; +} diff --git a/node_modules/@types/node/console.d.ts b/node_modules/@types/node/console.d.ts new file mode 100644 index 0000000..d30d13f --- /dev/null +++ b/node_modules/@types/node/console.d.ts @@ -0,0 +1,3 @@ +declare module "console" { + export = console; +} diff --git a/node_modules/@types/node/constants.d.ts b/node_modules/@types/node/constants.d.ts new file mode 100644 index 0000000..ebd463b --- /dev/null +++ b/node_modules/@types/node/constants.d.ts @@ -0,0 +1,448 @@ +/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ +declare module "constants" { + /** @deprecated since v6.3.0 - use `os.constants.errno.E2BIG` instead. */ + const E2BIG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EACCES` instead. */ + const EACCES: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EADDRINUSE` instead. */ + const EADDRINUSE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EADDRNOTAVAIL` instead. */ + const EADDRNOTAVAIL: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EAFNOSUPPORT` instead. */ + const EAFNOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EAGAIN` instead. */ + const EAGAIN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EALREADY` instead. */ + const EALREADY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EBADF` instead. */ + const EBADF: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EBADMSG` instead. */ + const EBADMSG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EBUSY` instead. */ + const EBUSY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ECANCELED` instead. */ + const ECANCELED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ECHILD` instead. */ + const ECHILD: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ECONNABORTED` instead. */ + const ECONNABORTED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ECONNREFUSED` instead. */ + const ECONNREFUSED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ECONNRESET` instead. */ + const ECONNRESET: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EDEADLK` instead. */ + const EDEADLK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EDESTADDRREQ` instead. */ + const EDESTADDRREQ: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EDOM` instead. */ + const EDOM: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EEXIST` instead. */ + const EEXIST: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EFAULT` instead. */ + const EFAULT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EFBIG` instead. */ + const EFBIG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EHOSTUNREACH` instead. */ + const EHOSTUNREACH: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EIDRM` instead. */ + const EIDRM: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EILSEQ` instead. */ + const EILSEQ: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EINPROGRESS` instead. */ + const EINPROGRESS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EINTR` instead. */ + const EINTR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EINVAL` instead. */ + const EINVAL: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EIO` instead. */ + const EIO: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EISCONN` instead. */ + const EISCONN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EISDIR` instead. */ + const EISDIR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ELOOP` instead. */ + const ELOOP: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EMFILE` instead. */ + const EMFILE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EMLINK` instead. */ + const EMLINK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EMSGSIZE` instead. */ + const EMSGSIZE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENAMETOOLONG` instead. */ + const ENAMETOOLONG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENETDOWN` instead. */ + const ENETDOWN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENETRESET` instead. */ + const ENETRESET: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENETUNREACH` instead. */ + const ENETUNREACH: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENFILE` instead. */ + const ENFILE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOBUFS` instead. */ + const ENOBUFS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENODATA` instead. */ + const ENODATA: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENODEV` instead. */ + const ENODEV: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOENT` instead. */ + const ENOENT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOEXEC` instead. */ + const ENOEXEC: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOLCK` instead. */ + const ENOLCK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOLINK` instead. */ + const ENOLINK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOMEM` instead. */ + const ENOMEM: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOMSG` instead. */ + const ENOMSG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOPROTOOPT` instead. */ + const ENOPROTOOPT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOSPC` instead. */ + const ENOSPC: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOSR` instead. */ + const ENOSR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOSTR` instead. */ + const ENOSTR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOSYS` instead. */ + const ENOSYS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTCONN` instead. */ + const ENOTCONN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTDIR` instead. */ + const ENOTDIR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTEMPTY` instead. */ + const ENOTEMPTY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTSOCK` instead. */ + const ENOTSOCK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTSUP` instead. */ + const ENOTSUP: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENOTTY` instead. */ + const ENOTTY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ENXIO` instead. */ + const ENXIO: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EOPNOTSUPP` instead. */ + const EOPNOTSUPP: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EOVERFLOW` instead. */ + const EOVERFLOW: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EPERM` instead. */ + const EPERM: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EPIPE` instead. */ + const EPIPE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EPROTO` instead. */ + const EPROTO: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EPROTONOSUPPORT` instead. */ + const EPROTONOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EPROTOTYPE` instead. */ + const EPROTOTYPE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ERANGE` instead. */ + const ERANGE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EROFS` instead. */ + const EROFS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ESPIPE` instead. */ + const ESPIPE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ESRCH` instead. */ + const ESRCH: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ETIME` instead. */ + const ETIME: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ETIMEDOUT` instead. */ + const ETIMEDOUT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.ETXTBSY` instead. */ + const ETXTBSY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EWOULDBLOCK` instead. */ + const EWOULDBLOCK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.EXDEV` instead. */ + const EXDEV: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEINTR` instead. */ + const WSAEINTR: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEBADF` instead. */ + const WSAEBADF: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEACCES` instead. */ + const WSAEACCES: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEFAULT` instead. */ + const WSAEFAULT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEINVAL` instead. */ + const WSAEINVAL: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEMFILE` instead. */ + const WSAEMFILE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEWOULDBLOCK` instead. */ + const WSAEWOULDBLOCK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEINPROGRESS` instead. */ + const WSAEINPROGRESS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEALREADY` instead. */ + const WSAEALREADY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOTSOCK` instead. */ + const WSAENOTSOCK: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEDESTADDRREQ` instead. */ + const WSAEDESTADDRREQ: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEMSGSIZE` instead. */ + const WSAEMSGSIZE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEPROTOTYPE` instead. */ + const WSAEPROTOTYPE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOPROTOOPT` instead. */ + const WSAENOPROTOOPT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEPROTONOSUPPORT` instead. */ + const WSAEPROTONOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAESOCKTNOSUPPORT` instead. */ + const WSAESOCKTNOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEOPNOTSUPP` instead. */ + const WSAEOPNOTSUPP: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEPFNOSUPPORT` instead. */ + const WSAEPFNOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEAFNOSUPPORT` instead. */ + const WSAEAFNOSUPPORT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEADDRINUSE` instead. */ + const WSAEADDRINUSE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEADDRNOTAVAIL` instead. */ + const WSAEADDRNOTAVAIL: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENETDOWN` instead. */ + const WSAENETDOWN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENETUNREACH` instead. */ + const WSAENETUNREACH: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENETRESET` instead. */ + const WSAENETRESET: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAECONNABORTED` instead. */ + const WSAECONNABORTED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAECONNRESET` instead. */ + const WSAECONNRESET: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOBUFS` instead. */ + const WSAENOBUFS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEISCONN` instead. */ + const WSAEISCONN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOTCONN` instead. */ + const WSAENOTCONN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAESHUTDOWN` instead. */ + const WSAESHUTDOWN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAETOOMANYREFS` instead. */ + const WSAETOOMANYREFS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAETIMEDOUT` instead. */ + const WSAETIMEDOUT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAECONNREFUSED` instead. */ + const WSAECONNREFUSED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAELOOP` instead. */ + const WSAELOOP: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENAMETOOLONG` instead. */ + const WSAENAMETOOLONG: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEHOSTDOWN` instead. */ + const WSAEHOSTDOWN: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEHOSTUNREACH` instead. */ + const WSAEHOSTUNREACH: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOTEMPTY` instead. */ + const WSAENOTEMPTY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEPROCLIM` instead. */ + const WSAEPROCLIM: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEUSERS` instead. */ + const WSAEUSERS: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEDQUOT` instead. */ + const WSAEDQUOT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAESTALE` instead. */ + const WSAESTALE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEREMOTE` instead. */ + const WSAEREMOTE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSASYSNOTREADY` instead. */ + const WSASYSNOTREADY: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAVERNOTSUPPORTED` instead. */ + const WSAVERNOTSUPPORTED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSANOTINITIALISED` instead. */ + const WSANOTINITIALISED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEDISCON` instead. */ + const WSAEDISCON: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAENOMORE` instead. */ + const WSAENOMORE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAECANCELLED` instead. */ + const WSAECANCELLED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEINVALIDPROCTABLE` instead. */ + const WSAEINVALIDPROCTABLE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEINVALIDPROVIDER` instead. */ + const WSAEINVALIDPROVIDER: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEPROVIDERFAILEDINIT` instead. */ + const WSAEPROVIDERFAILEDINIT: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSASYSCALLFAILURE` instead. */ + const WSASYSCALLFAILURE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSASERVICE_NOT_FOUND` instead. */ + const WSASERVICE_NOT_FOUND: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSATYPE_NOT_FOUND` instead. */ + const WSATYPE_NOT_FOUND: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSA_E_NO_MORE` instead. */ + const WSA_E_NO_MORE: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSA_E_CANCELLED` instead. */ + const WSA_E_CANCELLED: number; + /** @deprecated since v6.3.0 - use `os.constants.errno.WSAEREFUSED` instead. */ + const WSAEREFUSED: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGHUP` instead. */ + const SIGHUP: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGINT` instead. */ + const SIGINT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGILL` instead. */ + const SIGILL: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGABRT` instead. */ + const SIGABRT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGFPE` instead. */ + const SIGFPE: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGKILL` instead. */ + const SIGKILL: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGSEGV` instead. */ + const SIGSEGV: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGTERM` instead. */ + const SIGTERM: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGBREAK` instead. */ + const SIGBREAK: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGWINCH` instead. */ + const SIGWINCH: number; + const SSL_OP_ALL: number; + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + const SSL_OP_CISCO_ANYCONNECT: number; + const SSL_OP_COOKIE_EXCHANGE: number; + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + const SSL_OP_EPHEMERAL_RSA: number; + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + const SSL_OP_SINGLE_DH_USE: number; + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + const SSL_OP_TLS_ROLLBACK_BUG: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_ECDH: number; + const ENGINE_METHOD_ECDSA: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_STORE: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + const O_RDONLY: number; + const O_WRONLY: number; + const O_RDWR: number; + const S_IFMT: number; + const S_IFREG: number; + const S_IFDIR: number; + const S_IFCHR: number; + const S_IFBLK: number; + const S_IFIFO: number; + const S_IFSOCK: number; + const S_IRWXU: number; + const S_IRUSR: number; + const S_IWUSR: number; + const S_IXUSR: number; + const S_IRWXG: number; + const S_IRGRP: number; + const S_IWGRP: number; + const S_IXGRP: number; + const S_IRWXO: number; + const S_IROTH: number; + const S_IWOTH: number; + const S_IXOTH: number; + const S_IFLNK: number; + const O_CREAT: number; + const O_EXCL: number; + const O_NOCTTY: number; + const O_DIRECTORY: number; + const O_NOATIME: number; + const O_NOFOLLOW: number; + const O_SYNC: number; + const O_DSYNC: number; + const O_SYMLINK: number; + const O_DIRECT: number; + const O_NONBLOCK: number; + const O_TRUNC: number; + const O_APPEND: number; + const F_OK: number; + const R_OK: number; + const W_OK: number; + const X_OK: number; + const COPYFILE_EXCL: number; + const COPYFILE_FICLONE: number; + const COPYFILE_FICLONE_FORCE: number; + const UV_UDP_REUSEADDR: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGQUIT` instead. */ + const SIGQUIT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGTRAP` instead. */ + const SIGTRAP: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGIOT` instead. */ + const SIGIOT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGBUS` instead. */ + const SIGBUS: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGUSR1` instead. */ + const SIGUSR1: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGUSR2` instead. */ + const SIGUSR2: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGPIPE` instead. */ + const SIGPIPE: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGALRM` instead. */ + const SIGALRM: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGCHLD` instead. */ + const SIGCHLD: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGSTKFLT` instead. */ + const SIGSTKFLT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGCONT` instead. */ + const SIGCONT: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGSTOP` instead. */ + const SIGSTOP: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGTSTP` instead. */ + const SIGTSTP: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGTTIN` instead. */ + const SIGTTIN: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGTTOU` instead. */ + const SIGTTOU: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGURG` instead. */ + const SIGURG: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGXCPU` instead. */ + const SIGXCPU: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGXFSZ` instead. */ + const SIGXFSZ: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGVTALRM` instead. */ + const SIGVTALRM: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGPROF` instead. */ + const SIGPROF: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGIO` instead. */ + const SIGIO: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGPOLL` instead. */ + const SIGPOLL: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGPWR` instead. */ + const SIGPWR: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGSYS` instead. */ + const SIGSYS: number; + /** @deprecated since v6.3.0 - use `os.constants.signals.SIGUNUSED` instead. */ + const SIGUNUSED: number; + const defaultCoreCipherList: string; + const defaultCipherList: string; + const ENGINE_METHOD_RSA: number; + const ALPN_ENABLED: number; +} diff --git a/node_modules/@types/node/crypto.d.ts b/node_modules/@types/node/crypto.d.ts new file mode 100644 index 0000000..ee0dd7f --- /dev/null +++ b/node_modules/@types/node/crypto.d.ts @@ -0,0 +1,614 @@ +declare module "crypto" { + import * as stream from "stream"; + + interface Certificate { + exportChallenge(spkac: BinaryLike): Buffer; + exportPublicKey(spkac: BinaryLike): Buffer; + verifySpkac(spkac: NodeJS.ArrayBufferView): boolean; + } + const Certificate: { + new(): Certificate; + (): Certificate; + }; + + namespace constants { // https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_constants + const OPENSSL_VERSION_NUMBER: number; + + /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */ + const SSL_OP_ALL: number; + /** Allows legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: number; + /** Attempts to use the server's preferences instead of the client's when selecting a cipher. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html. */ + const SSL_OP_CIPHER_SERVER_PREFERENCE: number; + /** Instructs OpenSSL to use Cisco's "speshul" version of DTLS_BAD_VER. */ + const SSL_OP_CISCO_ANYCONNECT: number; + /** Instructs OpenSSL to turn on cookie exchange. */ + const SSL_OP_COOKIE_EXCHANGE: number; + /** Instructs OpenSSL to add server-hello extension from an early version of the cryptopro draft. */ + const SSL_OP_CRYPTOPRO_TLSEXT_BUG: number; + /** Instructs OpenSSL to disable a SSL 3.0/TLS 1.0 vulnerability workaround added in OpenSSL 0.9.6d. */ + const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: number; + /** Instructs OpenSSL to always use the tmp_rsa key when performing RSA operations. */ + const SSL_OP_EPHEMERAL_RSA: number; + /** Allows initial connection to servers that do not support RI. */ + const SSL_OP_LEGACY_SERVER_CONNECT: number; + const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: number; + const SSL_OP_MICROSOFT_SESS_ID_BUG: number; + /** Instructs OpenSSL to disable the workaround for a man-in-the-middle protocol-version vulnerability in the SSL 2.0 server implementation. */ + const SSL_OP_MSIE_SSLV2_RSA_PADDING: number; + const SSL_OP_NETSCAPE_CA_DN_BUG: number; + const SSL_OP_NETSCAPE_CHALLENGE_BUG: number; + const SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG: number; + const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: number; + /** Instructs OpenSSL to disable support for SSL/TLS compression. */ + const SSL_OP_NO_COMPRESSION: number; + const SSL_OP_NO_QUERY_MTU: number; + /** Instructs OpenSSL to always start a new session when performing renegotiation. */ + const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: number; + const SSL_OP_NO_SSLv2: number; + const SSL_OP_NO_SSLv3: number; + const SSL_OP_NO_TICKET: number; + const SSL_OP_NO_TLSv1: number; + const SSL_OP_NO_TLSv1_1: number; + const SSL_OP_NO_TLSv1_2: number; + const SSL_OP_PKCS1_CHECK_1: number; + const SSL_OP_PKCS1_CHECK_2: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral DH parameters. */ + const SSL_OP_SINGLE_DH_USE: number; + /** Instructs OpenSSL to always create a new key when using temporary/ephemeral ECDH parameters. */ + const SSL_OP_SINGLE_ECDH_USE: number; + const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: number; + const SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG: number; + const SSL_OP_TLS_BLOCK_PADDING_BUG: number; + const SSL_OP_TLS_D5_BUG: number; + /** Instructs OpenSSL to disable version rollback attack detection. */ + const SSL_OP_TLS_ROLLBACK_BUG: number; + + const ENGINE_METHOD_RSA: number; + const ENGINE_METHOD_DSA: number; + const ENGINE_METHOD_DH: number; + const ENGINE_METHOD_RAND: number; + const ENGINE_METHOD_EC: number; + const ENGINE_METHOD_CIPHERS: number; + const ENGINE_METHOD_DIGESTS: number; + const ENGINE_METHOD_PKEY_METHS: number; + const ENGINE_METHOD_PKEY_ASN1_METHS: number; + const ENGINE_METHOD_ALL: number; + const ENGINE_METHOD_NONE: number; + + const DH_CHECK_P_NOT_SAFE_PRIME: number; + const DH_CHECK_P_NOT_PRIME: number; + const DH_UNABLE_TO_CHECK_GENERATOR: number; + const DH_NOT_SUITABLE_GENERATOR: number; + + const ALPN_ENABLED: number; + + const RSA_PKCS1_PADDING: number; + const RSA_SSLV23_PADDING: number; + const RSA_NO_PADDING: number; + const RSA_PKCS1_OAEP_PADDING: number; + const RSA_X931_PADDING: number; + const RSA_PKCS1_PSS_PADDING: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the digest size when signing or verifying. */ + const RSA_PSS_SALTLEN_DIGEST: number; + /** Sets the salt length for RSA_PKCS1_PSS_PADDING to the maximum permissible value when signing data. */ + const RSA_PSS_SALTLEN_MAX_SIGN: number; + /** Causes the salt length for RSA_PKCS1_PSS_PADDING to be determined automatically when verifying a signature. */ + const RSA_PSS_SALTLEN_AUTO: number; + + const POINT_CONVERSION_COMPRESSED: number; + const POINT_CONVERSION_UNCOMPRESSED: number; + const POINT_CONVERSION_HYBRID: number; + + /** Specifies the built-in default cipher list used by Node.js (colon-separated values). */ + const defaultCoreCipherList: string; + /** Specifies the active default cipher list used by the current Node.js process (colon-separated values). */ + const defaultCipherList: string; + } + + interface HashOptions extends stream.TransformOptions { + /** + * For XOF hash functions such as `shake256`, the + * outputLength option can be used to specify the desired output length in bytes. + */ + outputLength?: number; + } + + /** @deprecated since v10.0.0 */ + const fips: boolean; + + function createHash(algorithm: string, options?: HashOptions): Hash; + function createHmac(algorithm: string, key: BinaryLike, options?: stream.TransformOptions): Hmac; + + type Utf8AsciiLatin1Encoding = "utf8" | "ascii" | "latin1"; + type HexBase64Latin1Encoding = "latin1" | "hex" | "base64"; + type Utf8AsciiBinaryEncoding = "utf8" | "ascii" | "binary"; + type HexBase64BinaryEncoding = "binary" | "base64" | "hex"; + type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid"; + + class Hash extends stream.Transform { + private constructor(); + update(data: BinaryLike): Hash; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hash; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + class Hmac extends stream.Transform { + private constructor(); + update(data: BinaryLike): Hmac; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Hmac; + digest(): Buffer; + digest(encoding: HexBase64Latin1Encoding): string; + } + + type KeyObjectType = 'secret' | 'public' | 'private'; + + interface KeyExportOptions { + type: 'pkcs1' | 'spki' | 'pkcs8' | 'sec1'; + format: T; + cipher?: string; + passphrase?: string | Buffer; + } + + class KeyObject { + private constructor(); + asymmetricKeyType?: KeyType; + /** + * For asymmetric keys, this property represents the size of the embedded key in + * bytes. This property is `undefined` for symmetric keys. + */ + asymmetricKeySize?: number; + export(options: KeyExportOptions<'pem'>): string | Buffer; + export(options?: KeyExportOptions<'der'>): Buffer; + symmetricSize?: number; + type: KeyObjectType; + } + + type CipherCCMTypes = 'aes-128-ccm' | 'aes-192-ccm' | 'aes-256-ccm'; + type CipherGCMTypes = 'aes-128-gcm' | 'aes-192-gcm' | 'aes-256-gcm'; + + type BinaryLike = string | NodeJS.ArrayBufferView; + + type CipherKey = BinaryLike | KeyObject; + + interface CipherCCMOptions extends stream.TransformOptions { + authTagLength: number; + } + interface CipherGCMOptions extends stream.TransformOptions { + authTagLength?: number; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): CipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): CipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createCipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Cipher; + + function createCipheriv( + algorithm: CipherCCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options: CipherCCMOptions + ): CipherCCM; + function createCipheriv( + algorithm: CipherGCMTypes, + key: CipherKey, + iv: BinaryLike | null, + options?: CipherGCMOptions + ): CipherGCM; + function createCipheriv( + algorithm: string, key: CipherKey, iv: BinaryLike | null, options?: stream.TransformOptions + ): Cipher; + + class Cipher extends stream.Transform { + private constructor(); + update(data: BinaryLike): Buffer; + update(data: string, input_encoding: Utf8AsciiBinaryEncoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: undefined, output_encoding: HexBase64BinaryEncoding): string; + update(data: string, input_encoding: Utf8AsciiBinaryEncoding | undefined, output_encoding: HexBase64BinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // getAuthTag(): Buffer; + // setAAD(buffer: Buffer): this; // docs only say buffer + } + interface CipherCCM extends Cipher { + setAAD(buffer: Buffer, options: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + interface CipherGCM extends Cipher { + setAAD(buffer: Buffer, options?: { plaintextLength: number }): this; + getAuthTag(): Buffer; + } + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherCCMTypes, password: BinaryLike, options: CipherCCMOptions): DecipherCCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: CipherGCMTypes, password: BinaryLike, options?: CipherGCMOptions): DecipherGCM; + /** @deprecated since v10.0.0 use createCipheriv() */ + function createDecipher(algorithm: string, password: BinaryLike, options?: stream.TransformOptions): Decipher; + + function createDecipheriv( + algorithm: CipherCCMTypes, + key: BinaryLike, + iv: BinaryLike | null, + options: CipherCCMOptions, + ): DecipherCCM; + function createDecipheriv( + algorithm: CipherGCMTypes, + key: BinaryLike, + iv: BinaryLike | null, + options?: CipherGCMOptions, + ): DecipherGCM; + function createDecipheriv(algorithm: string, key: BinaryLike, iv: BinaryLike | null, options?: stream.TransformOptions): Decipher; + + class Decipher extends stream.Transform { + private constructor(); + update(data: NodeJS.ArrayBufferView): Buffer; + update(data: string, input_encoding: HexBase64BinaryEncoding): Buffer; + update(data: NodeJS.ArrayBufferView, input_encoding: HexBase64BinaryEncoding | undefined, output_encoding: Utf8AsciiBinaryEncoding): string; + update(data: string, input_encoding: HexBase64BinaryEncoding | undefined, output_encoding: Utf8AsciiBinaryEncoding): string; + final(): Buffer; + final(output_encoding: string): string; + setAutoPadding(auto_padding?: boolean): this; + // setAuthTag(tag: NodeJS.ArrayBufferView): this; + // setAAD(buffer: NodeJS.ArrayBufferView): this; + } + interface DecipherCCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options: { plaintextLength: number }): this; + } + interface DecipherGCM extends Decipher { + setAuthTag(buffer: NodeJS.ArrayBufferView): this; + setAAD(buffer: NodeJS.ArrayBufferView, options?: { plaintextLength: number }): this; + } + + interface PrivateKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'pkcs8' | 'sec1'; + passphrase?: string | Buffer; + } + + interface PublicKeyInput { + key: string | Buffer; + format?: KeyFormat; + type?: 'pkcs1' | 'spki'; + } + + function createPrivateKey(key: PrivateKeyInput | string | Buffer): KeyObject; + function createPublicKey(key: PublicKeyInput | string | Buffer | KeyObject): KeyObject; + function createSecretKey(key: Buffer): KeyObject; + + function createSign(algorithm: string, options?: stream.WritableOptions): Signer; + + interface SigningOptions { + /** + * @See crypto.constants.RSA_PKCS1_PADDING + */ + padding?: number; + saltLength?: number; + } + + interface SignPrivateKeyInput extends PrivateKeyInput, SigningOptions { + } + + type KeyLike = string | Buffer | KeyObject; + + class Signer extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Signer; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Signer; + sign(private_key: SignPrivateKeyInput | KeyLike): Buffer; + sign(private_key: SignPrivateKeyInput | KeyLike, output_format: HexBase64Latin1Encoding): string; + } + + function createVerify(algorithm: string, options?: stream.WritableOptions): Verify; + class Verify extends stream.Writable { + private constructor(); + + update(data: BinaryLike): Verify; + update(data: string, input_encoding: Utf8AsciiLatin1Encoding): Verify; + verify(object: Object | KeyLike, signature: NodeJS.ArrayBufferView): boolean; + verify(object: Object | KeyLike, signature: string, signature_format?: HexBase64Latin1Encoding): boolean; + // https://nodejs.org/api/crypto.html#crypto_verifier_verify_object_signature_signature_format + // The signature field accepts a TypedArray type, but it is only available starting ES2017 + } + function createDiffieHellman(prime_length: number, generator?: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: number | NodeJS.ArrayBufferView): DiffieHellman; + function createDiffieHellman(prime: string, prime_encoding: HexBase64Latin1Encoding, generator: string, generator_encoding: HexBase64Latin1Encoding): DiffieHellman; + class DiffieHellman { + private constructor(); + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrime(): Buffer; + getPrime(encoding: HexBase64Latin1Encoding): string; + getGenerator(): Buffer; + getGenerator(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + setPublicKey(public_key: NodeJS.ArrayBufferView): void; + setPublicKey(public_key: string, encoding: string): void; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: string): void; + verifyError: number; + } + function getDiffieHellman(group_name: string): DiffieHellman; + function pbkdf2( + password: BinaryLike, + salt: BinaryLike, + iterations: number, + keylen: number, + digest: string, + callback: (err: Error | null, derivedKey: Buffer) => any, + ): void; + function pbkdf2Sync(password: BinaryLike, salt: BinaryLike, iterations: number, keylen: number, digest: string): Buffer; + + function randomBytes(size: number): Buffer; + function randomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + function pseudoRandomBytes(size: number): Buffer; + function pseudoRandomBytes(size: number, callback: (err: Error | null, buf: Buffer) => void): void; + + function randomFillSync(buffer: T, offset?: number, size?: number): T; + function randomFill(buffer: T, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, callback: (err: Error | null, buf: T) => void): void; + function randomFill(buffer: T, offset: number, size: number, callback: (err: Error | null, buf: T) => void): void; + + interface ScryptOptions { + N?: number; + r?: number; + p?: number; + maxmem?: number; + } + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scrypt( + password: BinaryLike, + salt: BinaryLike, + keylen: number, + options: ScryptOptions, + callback: (err: Error | null, derivedKey: Buffer) => void, + ): void; + function scryptSync(password: BinaryLike, salt: BinaryLike, keylen: number, options?: ScryptOptions): Buffer; + + interface RsaPublicKey { + key: KeyLike; + padding?: number; + } + interface RsaPrivateKey { + key: KeyLike; + passphrase?: string; + /** + * @default 'sha1' + */ + oaepHash?: string; + oaepLabel?: NodeJS.TypedArray; + padding?: number; + } + function publicEncrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function publicDecrypt(key: RsaPublicKey | RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateDecrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function privateEncrypt(private_key: RsaPrivateKey | KeyLike, buffer: NodeJS.ArrayBufferView): Buffer; + function getCiphers(): string[]; + function getCurves(): string[]; + function getHashes(): string[]; + class ECDH { + private constructor(); + static convertKey( + key: BinaryLike, + curve: string, + inputEncoding?: HexBase64Latin1Encoding, + outputEncoding?: "latin1" | "hex" | "base64", + format?: "uncompressed" | "compressed" | "hybrid", + ): Buffer | string; + generateKeys(): Buffer; + generateKeys(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + computeSecret(other_public_key: NodeJS.ArrayBufferView): Buffer; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding): Buffer; + computeSecret(other_public_key: NodeJS.ArrayBufferView, output_encoding: HexBase64Latin1Encoding): string; + computeSecret(other_public_key: string, input_encoding: HexBase64Latin1Encoding, output_encoding: HexBase64Latin1Encoding): string; + getPrivateKey(): Buffer; + getPrivateKey(encoding: HexBase64Latin1Encoding): string; + getPublicKey(): Buffer; + getPublicKey(encoding: HexBase64Latin1Encoding, format?: ECDHKeyFormat): string; + setPrivateKey(private_key: NodeJS.ArrayBufferView): void; + setPrivateKey(private_key: string, encoding: HexBase64Latin1Encoding): void; + } + function createECDH(curve_name: string): ECDH; + function timingSafeEqual(a: NodeJS.ArrayBufferView, b: NodeJS.ArrayBufferView): boolean; + /** @deprecated since v10.0.0 */ + const DEFAULT_ENCODING: string; + + type KeyType = 'rsa' | 'dsa' | 'ec'; + type KeyFormat = 'pem' | 'der'; + + interface BasePrivateKeyEncodingOptions { + format: T; + cipher?: string; + passphrase?: string; + } + + interface KeyPairKeyObjectResult { + publicKey: KeyObject; + privateKey: KeyObject; + } + + interface ECKeyPairKeyObjectOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + } + + interface RSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * @default 0x10001 + */ + publicExponent?: number; + } + + interface DSAKeyPairKeyObjectOptions { + /** + * Key size in bits + */ + modulusLength: number; + + /** + * Size of q in bits + */ + divisorLength: number; + } + + interface RSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * @default 0x10001 + */ + publicExponent?: number; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs1' | 'pkcs8'; + }; + } + + interface DSAKeyPairOptions { + /** + * Key size in bits + */ + modulusLength: number; + /** + * Size of q in bits + */ + divisorLength: number; + + publicKeyEncoding: { + type: 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'pkcs8'; + }; + } + + interface ECKeyPairOptions { + /** + * Name of the curve to use. + */ + namedCurve: string; + + publicKeyEncoding: { + type: 'pkcs1' | 'spki'; + format: PubF; + }; + privateKeyEncoding: BasePrivateKeyEncodingOptions & { + type: 'sec1' | 'pkcs8'; + }; + } + + interface KeyPairSyncResult { + publicKey: T1; + privateKey: T2; + } + + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'rsa', options: RSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'dsa', options: DSAKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairOptions<'der', 'der'>): KeyPairSyncResult; + function generateKeyPairSync(type: 'ec', options: ECKeyPairKeyObjectOptions): KeyPairKeyObjectResult; + + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'rsa', options: RSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'dsa', options: DSAKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'pem'>, callback: (err: Error | null, publicKey: string, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'pem', 'der'>, callback: (err: Error | null, publicKey: string, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'pem'>, callback: (err: Error | null, publicKey: Buffer, privateKey: string) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairOptions<'der', 'der'>, callback: (err: Error | null, publicKey: Buffer, privateKey: Buffer) => void): void; + function generateKeyPair(type: 'ec', options: ECKeyPairKeyObjectOptions, callback: (err: Error | null, publicKey: KeyObject, privateKey: KeyObject) => void): void; + + namespace generateKeyPair { + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "rsa", options: RSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "rsa", options: RSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "dsa", options: DSAKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "dsa", options: DSAKeyPairKeyObjectOptions): Promise; + + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'pem'>): Promise<{ publicKey: string, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'pem', 'der'>): Promise<{ publicKey: string, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'pem'>): Promise<{ publicKey: Buffer, privateKey: string }>; + function __promisify__(type: "ec", options: ECKeyPairOptions<'der', 'der'>): Promise<{ publicKey: Buffer, privateKey: Buffer }>; + function __promisify__(type: "ec", options: ECKeyPairKeyObjectOptions): Promise; + } + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPrivateKey()`][]. + */ + function sign(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | SignPrivateKeyInput): Buffer; + + interface VerifyKeyWithOptions extends KeyObject, SigningOptions { + } + + /** + * Calculates and returns the signature for `data` using the given private key and + * algorithm. If `algorithm` is `null` or `undefined`, then the algorithm is + * dependent upon the key type (especially Ed25519 and Ed448). + * + * If `key` is not a [`KeyObject`][], this function behaves as if `key` had been + * passed to [`crypto.createPublicKey()`][]. + */ + function verify(algorithm: string | null | undefined, data: NodeJS.ArrayBufferView, key: KeyLike | VerifyKeyWithOptions, signature: NodeJS.ArrayBufferView): Buffer; +} diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts new file mode 100644 index 0000000..c42acdf --- /dev/null +++ b/node_modules/@types/node/dgram.d.ts @@ -0,0 +1,102 @@ +declare module "dgram" { + import { AddressInfo } from "net"; + import * as dns from "dns"; + import * as events from "events"; + + interface RemoteInfo { + address: string; + family: 'IPv4' | 'IPv6'; + port: number; + size: number; + } + + interface BindOptions { + port: number; + address?: string; + exclusive?: boolean; + } + + type SocketType = "udp4" | "udp6"; + + interface SocketOptions { + type: SocketType; + reuseAddr?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + recvBufferSize?: number; + sendBufferSize?: number; + lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + } + + function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; + + class Socket extends events.EventEmitter { + send(msg: string | Uint8Array | any[], port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + bind(port?: number, address?: string, callback?: () => void): void; + bind(port?: number, callback?: () => void): void; + bind(callback?: () => void): void; + bind(options: BindOptions, callback?: () => void): void; + close(callback?: () => void): void; + address(): AddressInfo | string; + setBroadcast(flag: boolean): void; + setTTL(ttl: number): void; + setMulticastTTL(ttl: number): void; + setMulticastInterface(multicastInterface: string): void; + setMulticastLoopback(flag: boolean): void; + addMembership(multicastAddress: string, multicastInterface?: string): void; + dropMembership(multicastAddress: string, multicastInterface?: string): void; + ref(): this; + unref(): this; + setRecvBufferSize(size: number): void; + setSendBufferSize(size: number): void; + getRecvBufferSize(): number; + getSendBufferSize(): number; + + /** + * events.EventEmitter + * 1. close + * 2. error + * 3. listening + * 4. message + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; + } +} diff --git a/node_modules/@types/node/dns.d.ts b/node_modules/@types/node/dns.d.ts new file mode 100644 index 0000000..d2b0505 --- /dev/null +++ b/node_modules/@types/node/dns.d.ts @@ -0,0 +1,366 @@ +declare module "dns" { + // Supported getaddrinfo flags. + const ADDRCONFIG: number; + const V4MAPPED: number; + + interface LookupOptions { + family?: number; + hints?: number; + all?: boolean; + verbatim?: boolean; + } + + interface LookupOneOptions extends LookupOptions { + all?: false; + } + + interface LookupAllOptions extends LookupOptions { + all: true; + } + + interface LookupAddress { + address: string; + family: number; + } + + function lookup(hostname: string, family: number, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + function lookup(hostname: string, options: LookupAllOptions, callback: (err: NodeJS.ErrnoException | null, addresses: LookupAddress[]) => void): void; + function lookup(hostname: string, options: LookupOptions, callback: (err: NodeJS.ErrnoException | null, address: string | LookupAddress[], family: number) => void): void; + function lookup(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lookup { + function __promisify__(hostname: string, options: LookupAllOptions): Promise; + function __promisify__(hostname: string, options?: LookupOneOptions | number): Promise; + function __promisify__(hostname: string, options: LookupOptions): Promise; + } + + function lookupService(address: string, port: number, callback: (err: NodeJS.ErrnoException | null, hostname: string, service: string) => void): void; + + namespace lookupService { + function __promisify__(address: string, port: number): Promise<{ hostname: string, service: string }>; + } + + interface ResolveOptions { + ttl: boolean; + } + + interface ResolveWithTtlOptions extends ResolveOptions { + ttl: true; + } + + interface RecordWithTtl { + address: string; + ttl: number; + } + + /** @deprecated Use AnyARecord or AnyAaaaRecord instead. */ + type AnyRecordWithTtl = AnyARecord | AnyAaaaRecord; + + interface AnyARecord extends RecordWithTtl { + type: "A"; + } + + interface AnyAaaaRecord extends RecordWithTtl { + type: "AAAA"; + } + + interface MxRecord { + priority: number; + exchange: string; + } + + interface AnyMxRecord extends MxRecord { + type: "MX"; + } + + interface NaptrRecord { + flags: string; + service: string; + regexp: string; + replacement: string; + order: number; + preference: number; + } + + interface AnyNaptrRecord extends NaptrRecord { + type: "NAPTR"; + } + + interface SoaRecord { + nsname: string; + hostmaster: string; + serial: number; + refresh: number; + retry: number; + expire: number; + minttl: number; + } + + interface AnySoaRecord extends SoaRecord { + type: "SOA"; + } + + interface SrvRecord { + priority: number; + weight: number; + port: number; + name: string; + } + + interface AnySrvRecord extends SrvRecord { + type: "SRV"; + } + + interface AnyTxtRecord { + type: "TXT"; + entries: string[]; + } + + interface AnyNsRecord { + type: "NS"; + value: string; + } + + interface AnyPtrRecord { + type: "PTR"; + value: string; + } + + interface AnyCnameRecord { + type: "CNAME"; + value: string; + } + + type AnyRecord = AnyARecord | + AnyAaaaRecord | + AnyCnameRecord | + AnyMxRecord | + AnyNaptrRecord | + AnyNsRecord | + AnyPtrRecord | + AnySoaRecord | + AnySrvRecord | + AnyTxtRecord; + + function resolve(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "A", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "AAAA", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "ANY", callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + function resolve(hostname: string, rrtype: "CNAME", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "MX", callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NAPTR", callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + function resolve(hostname: string, rrtype: "NS", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "PTR", callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve(hostname: string, rrtype: "SOA", callback: (err: NodeJS.ErrnoException | null, addresses: SoaRecord) => void): void; + function resolve(hostname: string, rrtype: "SRV", callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + function resolve(hostname: string, rrtype: "TXT", callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + function resolve( + hostname: string, + rrtype: string, + callback: (err: NodeJS.ErrnoException | null, addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve { + function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise; + function __promisify__(hostname: string, rrtype: "ANY"): Promise; + function __promisify__(hostname: string, rrtype: "MX"): Promise; + function __promisify__(hostname: string, rrtype: "NAPTR"): Promise; + function __promisify__(hostname: string, rrtype: "SOA"): Promise; + function __promisify__(hostname: string, rrtype: "SRV"): Promise; + function __promisify__(hostname: string, rrtype: "TXT"): Promise; + function __promisify__(hostname: string, rrtype: string): Promise; + } + + function resolve4(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve4(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve4(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve4 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolve6(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + function resolve6(hostname: string, options: ResolveWithTtlOptions, callback: (err: NodeJS.ErrnoException | null, addresses: RecordWithTtl[]) => void): void; + function resolve6(hostname: string, options: ResolveOptions, callback: (err: NodeJS.ErrnoException | null, addresses: string[] | RecordWithTtl[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace resolve6 { + function __promisify__(hostname: string): Promise; + function __promisify__(hostname: string, options: ResolveWithTtlOptions): Promise; + function __promisify__(hostname: string, options?: ResolveOptions): Promise; + } + + function resolveCname(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveCname { + function __promisify__(hostname: string): Promise; + } + + function resolveMx(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: MxRecord[]) => void): void; + namespace resolveMx { + function __promisify__(hostname: string): Promise; + } + + function resolveNaptr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void): void; + namespace resolveNaptr { + function __promisify__(hostname: string): Promise; + } + + function resolveNs(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolveNs { + function __promisify__(hostname: string): Promise; + } + + function resolvePtr(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void): void; + namespace resolvePtr { + function __promisify__(hostname: string): Promise; + } + + function resolveSoa(hostname: string, callback: (err: NodeJS.ErrnoException | null, address: SoaRecord) => void): void; + namespace resolveSoa { + function __promisify__(hostname: string): Promise; + } + + function resolveSrv(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void): void; + namespace resolveSrv { + function __promisify__(hostname: string): Promise; + } + + function resolveTxt(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: string[][]) => void): void; + namespace resolveTxt { + function __promisify__(hostname: string): Promise; + } + + function resolveAny(hostname: string, callback: (err: NodeJS.ErrnoException | null, addresses: AnyRecord[]) => void): void; + namespace resolveAny { + function __promisify__(hostname: string): Promise; + } + + function reverse(ip: string, callback: (err: NodeJS.ErrnoException | null, hostnames: string[]) => void): void; + function setServers(servers: ReadonlyArray): void; + function getServers(): string[]; + + // Error codes + const NODATA: string; + const FORMERR: string; + const SERVFAIL: string; + const NOTFOUND: string; + const NOTIMP: string; + const REFUSED: string; + const BADQUERY: string; + const BADNAME: string; + const BADFAMILY: string; + const BADRESP: string; + const CONNREFUSED: string; + const TIMEOUT: string; + const EOF: string; + const FILE: string; + const NOMEM: string; + const DESTRUCTION: string; + const BADSTR: string; + const BADFLAGS: string; + const NONAME: string; + const BADHINTS: string; + const NOTINITIALIZED: string; + const LOADIPHLPAPI: string; + const ADDRGETNETWORKPARAMS: string; + const CANCELLED: string; + + class Resolver { + getServers: typeof getServers; + setServers: typeof setServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + cancel(): void; + } + + namespace promises { + function getServers(): string[]; + + function lookup(hostname: string, family: number): Promise; + function lookup(hostname: string, options: LookupOneOptions): Promise; + function lookup(hostname: string, options: LookupAllOptions): Promise; + function lookup(hostname: string, options: LookupOptions): Promise; + function lookup(hostname: string): Promise; + + function lookupService(address: string, port: number): Promise<{ hostname: string, service: string }>; + + function resolve(hostname: string): Promise; + function resolve(hostname: string, rrtype: "A"): Promise; + function resolve(hostname: string, rrtype: "AAAA"): Promise; + function resolve(hostname: string, rrtype: "ANY"): Promise; + function resolve(hostname: string, rrtype: "CNAME"): Promise; + function resolve(hostname: string, rrtype: "MX"): Promise; + function resolve(hostname: string, rrtype: "NAPTR"): Promise; + function resolve(hostname: string, rrtype: "NS"): Promise; + function resolve(hostname: string, rrtype: "PTR"): Promise; + function resolve(hostname: string, rrtype: "SOA"): Promise; + function resolve(hostname: string, rrtype: "SRV"): Promise; + function resolve(hostname: string, rrtype: "TXT"): Promise; + function resolve(hostname: string, rrtype: string): Promise; + + function resolve4(hostname: string): Promise; + function resolve4(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve4(hostname: string, options: ResolveOptions): Promise; + + function resolve6(hostname: string): Promise; + function resolve6(hostname: string, options: ResolveWithTtlOptions): Promise; + function resolve6(hostname: string, options: ResolveOptions): Promise; + + function resolveAny(hostname: string): Promise; + + function resolveCname(hostname: string): Promise; + + function resolveMx(hostname: string): Promise; + + function resolveNaptr(hostname: string): Promise; + + function resolveNs(hostname: string): Promise; + + function resolvePtr(hostname: string): Promise; + + function resolveSoa(hostname: string): Promise; + + function resolveSrv(hostname: string): Promise; + + function resolveTxt(hostname: string): Promise; + + function reverse(ip: string): Promise; + + function setServers(servers: ReadonlyArray): void; + + class Resolver { + getServers: typeof getServers; + resolve: typeof resolve; + resolve4: typeof resolve4; + resolve6: typeof resolve6; + resolveAny: typeof resolveAny; + resolveCname: typeof resolveCname; + resolveMx: typeof resolveMx; + resolveNaptr: typeof resolveNaptr; + resolveNs: typeof resolveNs; + resolvePtr: typeof resolvePtr; + resolveSoa: typeof resolveSoa; + resolveSrv: typeof resolveSrv; + resolveTxt: typeof resolveTxt; + reverse: typeof reverse; + setServers: typeof setServers; + } + } +} diff --git a/node_modules/@types/node/domain.d.ts b/node_modules/@types/node/domain.d.ts new file mode 100644 index 0000000..45e388c --- /dev/null +++ b/node_modules/@types/node/domain.d.ts @@ -0,0 +1,16 @@ +declare module "domain" { + import * as events from "events"; + + class Domain extends events.EventEmitter implements NodeJS.Domain { + run(fn: (...args: any[]) => T, ...args: any[]): T; + add(emitter: events.EventEmitter | NodeJS.Timer): void; + remove(emitter: events.EventEmitter | NodeJS.Timer): void; + bind(cb: T): T; + intercept(cb: T): T; + members: Array; + enter(): void; + exit(): void; + } + + function create(): Domain; +} diff --git a/node_modules/@types/node/events.d.ts b/node_modules/@types/node/events.d.ts new file mode 100644 index 0000000..03f5b90 --- /dev/null +++ b/node_modules/@types/node/events.d.ts @@ -0,0 +1,39 @@ +declare module "events" { + class internal extends NodeJS.EventEmitter { } + + interface NodeEventTarget { + once(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DOMEventTarget { + addEventListener(event: string, listener: (...args: any[]) => void, opts?: { once: boolean }): any; + } + + namespace internal { + function once(emitter: NodeEventTarget, event: string | symbol): Promise; + function once(emitter: DOMEventTarget, event: string): Promise; + class EventEmitter extends internal { + /** @deprecated since v4.0.0 */ + static listenerCount(emitter: EventEmitter, event: string | symbol): number; + static defaultMaxListeners: number; + + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + eventNames(): Array; + listenerCount(type: string | symbol): number; + } + } + + export = internal; +} diff --git a/node_modules/@types/node/fs.d.ts b/node_modules/@types/node/fs.d.ts new file mode 100644 index 0000000..8c57f0c --- /dev/null +++ b/node_modules/@types/node/fs.d.ts @@ -0,0 +1,2446 @@ +declare module "fs" { + import * as stream from "stream"; + import * as events from "events"; + import { URL } from "url"; + + /** + * Valid types for path values in "fs". + */ + type PathLike = string | Buffer | URL; + + type NoParamCallback = (err: NodeJS.ErrnoException | null) => void; + + interface StatsBase { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + + dev: number; + ino: number; + mode: number; + nlink: number; + uid: number; + gid: number; + rdev: number; + size: number; + blksize: number; + blocks: number; + atimeMs: number; + mtimeMs: number; + ctimeMs: number; + birthtimeMs: number; + atime: Date; + mtime: Date; + ctime: Date; + birthtime: Date; + } + + interface Stats extends StatsBase { + } + + class Stats { + } + + class Dirent { + isFile(): boolean; + isDirectory(): boolean; + isBlockDevice(): boolean; + isCharacterDevice(): boolean; + isSymbolicLink(): boolean; + isFIFO(): boolean; + isSocket(): boolean; + name: string; + } + + /** + * A class representing a directory stream. + */ + class Dir { + readonly path: string; + + /** + * Asynchronously iterates over the directory via `readdir(3)` until all entries have been read. + */ + [Symbol.asyncIterator](): AsyncIterableIterator; + + /** + * Asynchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + */ + close(): Promise; + close(cb: NoParamCallback): void; + + /** + * Synchronously close the directory's underlying resource handle. + * Subsequent reads will result in errors. + */ + closeSync(): void; + + /** + * Asynchronously read the next directory entry via `readdir(3)` as an `Dirent`. + * After the read is completed, a value is returned that will be resolved with an `Dirent`, or `null` if there are no more directory entries to read. + * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. + */ + read(): Promise; + read(cb: (err: NodeJS.ErrnoException | null, dirEnt: Dirent | null) => void): void; + + /** + * Synchronously read the next directory entry via `readdir(3)` as a `Dirent`. + * If there are no more directory entries to read, null will be returned. + * Directory entries returned by this function are in no particular order as provided by the operating system's underlying directory mechanisms. + */ + readSync(): Dirent; + } + + interface FSWatcher extends events.EventEmitter { + close(): void; + + /** + * events.EventEmitter + * 1. change + * 2. error + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + on(event: "error", listener: (error: Error) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + once(event: "error", listener: (error: Error) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + } + + class ReadStream extends stream.Readable { + close(): void; + bytesRead: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + class WriteStream extends stream.Writable { + close(): void; + bytesWritten: number; + path: string | Buffer; + + /** + * events.EventEmitter + * 1. open + * 2. close + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "open", listener: (fd: number) => void): this; + addListener(event: "close", listener: () => void): this; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "open", listener: (fd: number) => void): this; + on(event: "close", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "open", listener: (fd: number) => void): this; + once(event: "close", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "open", listener: (fd: number) => void): this; + prependListener(event: "close", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "open", listener: (fd: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + } + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rename { + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(oldPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function renameSync(oldPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function truncate(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace truncate { + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(path: PathLike, len?: number | null): Promise; + } + + /** + * Synchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncateSync(path: PathLike, len?: number | null): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(fd: number, len: number | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + */ + function ftruncate(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace ftruncate { + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function __promisify__(fd: number, len?: number | null): Promise; + } + + /** + * Synchronous ftruncate(2) - Truncate a file to a specified length. + * @param fd A file descriptor. + * @param len If not specified, defaults to `0`. + */ + function ftruncateSync(fd: number, len?: number | null): void; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chown { + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchown(fd: number, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchown { + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function __promisify__(fd: number, uid: number, gid: number): Promise; + } + + /** + * Synchronous fchown(2) - Change ownership of a file. + * @param fd A file descriptor. + */ + function fchownSync(fd: number, uid: number, gid: number): void; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchown { + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, uid: number, gid: number): Promise; + } + + /** + * Synchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchownSync(path: PathLike, uid: number, gid: number): void; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace chmod { + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(fd: number, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fchmod { + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(fd: number, mode: string | number): Promise; + } + + /** + * Synchronous fchmod(2) - Change permissions of a file. + * @param fd A file descriptor. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmodSync(fd: number, mode: string | number): void; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lchmod { + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function __promisify__(path: PathLike, mode: string | number): Promise; + } + + /** + * Synchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmodSync(path: PathLike, mode: string | number): void; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace stat { + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function statSync(path: PathLike): Stats; + + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstat(fd: number, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fstat { + /** + * Asynchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fstat(2) - Get file status. + * @param fd A file descriptor. + */ + function fstatSync(fd: number): Stats; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace lstat { + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstatSync(path: PathLike): Stats; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace link { + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(existingPath: PathLike, newPath: PathLike): Promise; + } + + /** + * Synchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function linkSync(existingPath: PathLike, newPath: PathLike): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type: symlink.Type | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + */ + function symlink(target: PathLike, path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace symlink { + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function __promisify__(target: PathLike, path: PathLike, type?: string | null): Promise; + + type Type = "dir" | "file" | "junction"; + } + + /** + * Synchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlinkSync(target: PathLike, path: PathLike, type?: symlink.Type | null): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, linkString: string) => void + ): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, linkString: Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, linkString: string | Buffer) => void): void; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readlink(path: PathLike, callback: (err: NodeJS.ErrnoException | null, linkString: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readlink { + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlinkSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function realpath(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace realpath { + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + function native( + path: PathLike, + options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void + ): void; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer", callback: (err: NodeJS.ErrnoException | null, resolvedPath: Buffer) => void): void; + function native(path: PathLike, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string | Buffer) => void): void; + function native(path: PathLike, callback: (err: NodeJS.ErrnoException | null, resolvedPath: string) => void): void; + } + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpathSync(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + + namespace realpathSync { + function native(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + function native(path: PathLike, options: { encoding: "buffer" } | "buffer"): Buffer; + function native(path: PathLike, options?: { encoding?: string | null } | string | null): string | Buffer; + } + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace unlink { + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlinkSync(path: PathLike): void; + + interface RmDirOptions { + /** + * If `true`, perform a recursive directory removal. In + * recursive mode, errors are not reported if `path` does not exist, and + * operations are retried on failure. + * @experimental + * @default false + */ + recursive?: boolean; + } + + interface RmDirAsyncOptions extends RmDirOptions { + /** + * If an `EMFILE` error is encountered, Node.js will + * retry the operation with a linear backoff of 1ms longer on each try until the + * timeout duration passes this limit. This option is ignored if the `recursive` + * option is not `true`. + * @default 1000 + */ + emfileWait?: number; + /** + * If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error is + * encountered, Node.js will retry the operation with a linear backoff wait of + * 100ms longer on each try. This option represents the number of retries. This + * option is ignored if the `recursive` option is not `true`. + * @default 3 + */ + maxBusyTries?: number; + } + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, callback: NoParamCallback): void; + function rmdir(path: PathLike, options: RmDirAsyncOptions, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace rmdir { + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function __promisify__(path: PathLike, options?: RmDirAsyncOptions): Promise; + } + + /** + * Synchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdirSync(path: PathLike, options?: RmDirOptions): void; + + interface MakeDirectoryOptions { + /** + * Indicates whether parent folders should be created. + * @default false + */ + recursive?: boolean; + /** + * A file mode. If a string is passed, it is parsed as an octal integer. If not specified + * @default 0o777. + */ + mode?: number; + } + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options: number | string | MakeDirectoryOptions | undefined | null, callback: NoParamCallback): void; + + /** + * Asynchronous mkdir(2) - create a directory with a mode of `0o777`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function mkdir(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdir { + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function __promisify__(path: PathLike, options?: number | string | MakeDirectoryOptions | null): Promise; + } + + /** + * Synchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdirSync(path: PathLike, options?: number | string | MakeDirectoryOptions | null): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: BufferEncoding | null } | BufferEncoding | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: "buffer" | { encoding: "buffer" }, callback: (err: NodeJS.ErrnoException | null, folder: Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding?: string | null } | string | undefined | null, callback: (err: NodeJS.ErrnoException | null, folder: string | Buffer) => void): void; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + */ + function mkdtemp(prefix: string, callback: (err: NodeJS.ErrnoException | null, folder: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace mkdtemp { + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + } + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): string; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options: { encoding: "buffer" } | "buffer"): Buffer; + + /** + * Synchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required prefix to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtempSync(prefix: string, options?: { encoding?: string | null } | string | null): string | Buffer; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer", callback: (err: NodeJS.ErrnoException | null, files: Buffer[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir( + path: PathLike, + options: { encoding?: string | null; withFileTypes?: false } | string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, files: string[] | Buffer[]) => void, + ): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function readdir(path: PathLike, callback: (err: NodeJS.ErrnoException | null, files: string[]) => void): void; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: { encoding?: string | null; withFileTypes: true }, callback: (err: NodeJS.ErrnoException | null, files: Dirent[]) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readdir { + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options: "buffer" | { encoding: "buffer"; withFileTypes?: false }): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function __promisify__(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent + */ + function __promisify__(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Promise; + } + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): string[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdirSync(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): string[] | Buffer[]; + + /** + * Synchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdirSync(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Dirent[]; + + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function close(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace close { + /** + * Asynchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous close(2) - close a file descriptor. + * @param fd A file descriptor. + */ + function closeSync(fd: number): void; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode: string | number | undefined | null, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + /** + * Asynchronous open(2) - open and possibly create a file. If the file is created, its mode will be `0o666`. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function open(path: PathLike, flags: string | number, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace open { + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function __promisify__(path: PathLike, flags: string | number, mode?: string | number | null): Promise; + } + + /** + * Synchronous open(2) - open and possibly create a file, returning a file descriptor.. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not supplied, defaults to `0o666`. + */ + function openSync(path: PathLike, flags: string | number, mode?: string | number | null): number; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace utimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimesSync(path: PathLike, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(fd: number, atime: string | number | Date, mtime: string | number | Date, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace futimes { + /** + * Asynchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function __promisify__(fd: number, atime: string | number | Date, mtime: string | number | Date): Promise; + } + + /** + * Synchronously change file timestamps of the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimesSync(fd: number, atime: string | number | Date, mtime: string | number | Date): void; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fsync { + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param fd A file descriptor. + */ + function fsyncSync(fd: number): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + position: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + length: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void, + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + */ + function write( + fd: number, + buffer: TBuffer, + offset: number | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void + ): void; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + */ + function write(fd: number, buffer: TBuffer, callback: (err: NodeJS.ErrnoException | null, written: number, buffer: TBuffer) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write( + fd: number, + string: any, + position: number | undefined | null, + encoding: string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void, + ): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write(fd: number, string: any, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + */ + function write(fd: number, string: any, callback: (err: NodeJS.ErrnoException | null, written: number, str: string) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace write { + /** + * Asynchronously writes `buffer` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function __promisify__( + fd: number, + buffer?: TBuffer, + offset?: number, + length?: number, + position?: number | null, + ): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function __promisify__(fd: number, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + } + + /** + * Synchronously writes `buffer` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function writeSync(fd: number, buffer: NodeJS.ArrayBufferView, offset?: number | null, length?: number | null, position?: number | null): number; + + /** + * Synchronously writes `string` to the file referenced by the supplied file descriptor, returning the number of bytes written. + * @param fd A file descriptor. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function writeSync(fd: number, string: any, position?: number | null, encoding?: string | null): number; + + /** + * Asynchronously reads data from the file referenced by the supplied file descriptor. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function read( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null, + callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void, + ): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace read { + /** + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function __promisify__( + fd: number, + buffer: TBuffer, + offset: number, + length: number, + position: number | null + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + } + + /** + * Synchronously reads data from the file referenced by the supplied file descriptor, returning the number of bytes read. + * @param fd A file descriptor. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + function readSync(fd: number, buffer: NodeJS.ArrayBufferView, offset: number, length: number, position: number | null): number; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding?: null; flag?: string; } | undefined | null, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | number, options: { encoding: string; flag?: string; } | string, callback: (err: NodeJS.ErrnoException | null, data: string) => void): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile( + path: PathLike | number, + options: { encoding?: string | null; flag?: string; } | string | undefined | null, + callback: (err: NodeJS.ErrnoException | null, data: string | Buffer) => void, + ): void; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + */ + function readFile(path: PathLike | number, callback: (err: NodeJS.ErrnoException | null, data: Buffer) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace readFile { + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options: { encoding: string; flag?: string; } | string): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function __promisify__(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): Promise; + } + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: null; flag?: string; } | null): Buffer; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options: { encoding: string; flag?: string; } | string): string; + + /** + * Synchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param options Either the encoding for the result, or an object that contains the encoding and an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFileSync(path: PathLike | number, options?: { encoding?: string | null; flag?: string; } | string | null): string | Buffer; + + type WriteFileOptions = { encoding?: string | null; mode?: number | string; flag?: string; } | string | null; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | number, data: any, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function writeFile(path: PathLike | number, data: any, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace writeFile { + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function __promisify__(path: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously writes data to a file, replacing the file if it already exists. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFileSync(path: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(file: PathLike | number, data: any, options: WriteFileOptions, callback: NoParamCallback): void; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + */ + function appendFile(file: PathLike | number, data: any, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace appendFile { + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function __promisify__(file: PathLike | number, data: any, options?: WriteFileOptions): Promise; + } + + /** + * Synchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a file descriptor is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a Buffer or Uint8Array is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFileSync(file: PathLike | number, data: any, options?: WriteFileOptions): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + */ + function watchFile(filename: PathLike, options: { persistent?: boolean; interval?: number; } | undefined, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`. The callback `listener` will be called each time the file is accessed. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watchFile(filename: PathLike, listener: (curr: Stats, prev: Stats) => void): void; + + /** + * Stop watching for changes on `filename`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function unwatchFile(filename: PathLike, listener?: (curr: Stats, prev: Stats) => void): void; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: BufferEncoding | null, persistent?: boolean, recursive?: boolean } | BufferEncoding | undefined | null, + listener?: (event: string, filename: string) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch(filename: PathLike, options: { encoding: "buffer", persistent?: boolean, recursive?: boolean } | "buffer", listener?: (event: string, filename: Buffer) => void): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `persistent` is not supplied, the default of `true` is used. + * If `recursive` is not supplied, the default of `false` is used. + */ + function watch( + filename: PathLike, + options: { encoding?: string | null, persistent?: boolean, recursive?: boolean } | string | null, + listener?: (event: string, filename: string | Buffer) => void, + ): FSWatcher; + + /** + * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`. + * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function watch(filename: PathLike, listener?: (event: string, filename: string) => any): FSWatcher; + + /** + * Asynchronously tests whether or not the given path exists by checking with the file system. + * @deprecated + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function exists(path: PathLike, callback: (exists: boolean) => void): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace exists { + /** + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike): Promise; + } + + /** + * Synchronously tests whether or not the given path exists by checking with the file system. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function existsSync(path: PathLike): boolean; + + namespace constants { + // File Access Constants + + /** Constant for fs.access(). File is visible to the calling process. */ + const F_OK: number; + + /** Constant for fs.access(). File can be read by the calling process. */ + const R_OK: number; + + /** Constant for fs.access(). File can be written by the calling process. */ + const W_OK: number; + + /** Constant for fs.access(). File can be executed by the calling process. */ + const X_OK: number; + + // File Copy Constants + + /** Constant for fs.copyFile. Flag indicating the destination file should not be overwritten if it already exists. */ + const COPYFILE_EXCL: number; + + /** + * Constant for fs.copyFile. copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then a fallback copy mechanism is used. + */ + const COPYFILE_FICLONE: number; + + /** + * Constant for fs.copyFile. Copy operation will attempt to create a copy-on-write reflink. + * If the underlying platform does not support copy-on-write, then the operation will fail with an error. + */ + const COPYFILE_FICLONE_FORCE: number; + + // File Open Constants + + /** Constant for fs.open(). Flag indicating to open a file for read-only access. */ + const O_RDONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for write-only access. */ + const O_WRONLY: number; + + /** Constant for fs.open(). Flag indicating to open a file for read-write access. */ + const O_RDWR: number; + + /** Constant for fs.open(). Flag indicating to create the file if it does not already exist. */ + const O_CREAT: number; + + /** Constant for fs.open(). Flag indicating that opening a file should fail if the O_CREAT flag is set and the file already exists. */ + const O_EXCL: number; + + /** + * Constant for fs.open(). Flag indicating that if path identifies a terminal device, + * opening the path shall not cause that terminal to become the controlling terminal for the process + * (if the process does not already have one). + */ + const O_NOCTTY: number; + + /** Constant for fs.open(). Flag indicating that if the file exists and is a regular file, and the file is opened successfully for write access, its length shall be truncated to zero. */ + const O_TRUNC: number; + + /** Constant for fs.open(). Flag indicating that data will be appended to the end of the file. */ + const O_APPEND: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is not a directory. */ + const O_DIRECTORY: number; + + /** + * constant for fs.open(). + * Flag indicating reading accesses to the file system will no longer result in + * an update to the atime information associated with the file. + * This flag is available on Linux operating systems only. + */ + const O_NOATIME: number; + + /** Constant for fs.open(). Flag indicating that the open should fail if the path is a symbolic link. */ + const O_NOFOLLOW: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O. */ + const O_SYNC: number; + + /** Constant for fs.open(). Flag indicating that the file is opened for synchronous I/O with write operations waiting for data integrity. */ + const O_DSYNC: number; + + /** Constant for fs.open(). Flag indicating to open the symbolic link itself rather than the resource it is pointing to. */ + const O_SYMLINK: number; + + /** Constant for fs.open(). When set, an attempt will be made to minimize caching effects of file I/O. */ + const O_DIRECT: number; + + /** Constant for fs.open(). Flag indicating to open the file in nonblocking mode when possible. */ + const O_NONBLOCK: number; + + // File Type Constants + + /** Constant for fs.Stats mode property for determining a file's type. Bit mask used to extract the file type code. */ + const S_IFMT: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a regular file. */ + const S_IFREG: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a directory. */ + const S_IFDIR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a character-oriented device file. */ + const S_IFCHR: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a block-oriented device file. */ + const S_IFBLK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a FIFO/pipe. */ + const S_IFIFO: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a symbolic link. */ + const S_IFLNK: number; + + /** Constant for fs.Stats mode property for determining a file's type. File type constant for a socket. */ + const S_IFSOCK: number; + + // File Mode Constants + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by owner. */ + const S_IRWXU: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by owner. */ + const S_IRUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by owner. */ + const S_IWUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by owner. */ + const S_IXUSR: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by group. */ + const S_IRWXG: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by group. */ + const S_IRGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by group. */ + const S_IWGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by group. */ + const S_IXGRP: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable, writable and executable by others. */ + const S_IRWXO: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating readable by others. */ + const S_IROTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating writable by others. */ + const S_IWOTH: number; + + /** Constant for fs.Stats mode property for determining access permissions for a file. File mode indicating executable by others. */ + const S_IXOTH: number; + + /** + * When set, a memory file mapping is used to access the file. This flag + * is available on Windows operating systems only. On other operating systems, + * this flag is ignored. + */ + const UV_FS_O_FILEMAP: number; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode: number | undefined, callback: NoParamCallback): void; + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace access { + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function __promisify__(path: PathLike, mode?: number): Promise; + } + + /** + * Synchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function accessSync(path: PathLike, mode?: number): void; + + /** + * Returns a new `ReadStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createReadStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + /** + * @default false + */ + emitClose?: boolean; + start?: number; + end?: number; + highWaterMark?: number; + }): ReadStream; + + /** + * Returns a new `WriteStream` object. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function createWriteStream(path: PathLike, options?: string | { + flags?: string; + encoding?: string; + fd?: number; + mode?: number; + autoClose?: boolean; + start?: number; + highWaterMark?: number; + }): WriteStream; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasync(fd: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace fdatasync { + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function __promisify__(fd: number): Promise; + } + + /** + * Synchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param fd A file descriptor. + */ + function fdatasyncSync(fd: number): void; + + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + */ + function copyFile(src: PathLike, dest: PathLike, callback: NoParamCallback): void; + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An integer that specifies the behavior of the copy operation. The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags: number, callback: NoParamCallback): void; + + // NOTE: This namespace provides design-time support for util.promisify. Exported members do not exist at runtime. + namespace copyFile { + /** + * Asynchronously copies src to dest. By default, dest is overwritten if it already exists. + * No arguments other than a possible exception are given to the callback function. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, + * which causes the copy operation to fail if dest already exists. + */ + function __promisify__(src: PathLike, dst: PathLike, flags?: number): Promise; + } + + /** + * Synchronously copies src to dest. By default, dest is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. + * The only supported flag is fs.constants.COPYFILE_EXCL, which causes the copy operation to fail if dest already exists. + */ + function copyFileSync(src: PathLike, dest: PathLike, flags?: number): void; + + /** + * Write an array of ArrayBufferViews to the file specified by fd using writev(). + * position is the offset from the beginning of the file where this data should be written. + * It is unsafe to use fs.writev() multiple times on the same file without waiting for the callback. For this scenario, use fs.createWriteStream(). + * On Linux, positional writes don't work when the file is opened in append mode. + * The kernel ignores the position argument and always appends the data to the end of the file. + */ + function writev( + fd: number, + buffers: NodeJS.ArrayBufferView[], + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + function writev( + fd: number, + buffers: NodeJS.ArrayBufferView[], + position: number, + cb: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffers: NodeJS.ArrayBufferView[]) => void + ): void; + + interface WriteVResult { + bytesWritten: number; + buffers: NodeJS.ArrayBufferView[]; + } + + namespace writev { + function __promisify__(fd: number, buffers: NodeJS.ArrayBufferView[], position?: number): Promise; + } + + /** + * See `writev`. + */ + function writevSync(fd: number, buffers: NodeJS.ArrayBufferView[], position?: number): number; + + interface OpenDirOptions { + encoding?: BufferEncoding; + } + + function opendirSync(path: string, options?: OpenDirOptions): Dir; + + function opendir(path: string, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + function opendir(path: string, options: OpenDirOptions, cb: (err: NodeJS.ErrnoException | null, dir: Dir) => void): void; + + namespace opendir { + function __promisify__(path: string, options?: OpenDirOptions): Promise; + } + + namespace promises { + interface FileHandle { + /** + * Gets the file descriptor for this file handle. + */ + readonly fd: number; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for appending. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + appendFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + */ + chown(uid: number, gid: number): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + chmod(mode: string | number): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + */ + datasync(): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + */ + sync(): Promise; + + /** + * Asynchronously reads data from the file. + * The `FileHandle` must have been opened for reading. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If `null`, data will be read from the current position. + */ + read(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for reading. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + readFile(options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + */ + stat(): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param len If not specified, defaults to `0`. + */ + truncate(len?: number): Promise; + + /** + * Asynchronously change file timestamps of the file. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + utimes(atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously writes `buffer` to the file. + * The `FileHandle` must have been opened for writing. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + write(buffer: TBuffer, offset?: number | null, length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + write(data: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. The underlying file will _not_ be closed automatically. + * The `FileHandle` must have been opened for writing. + * It is unsafe to call `writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + writeFile(data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * See `fs.writev` promisified version. + */ + writev(buffers: NodeJS.ArrayBufferView[], position?: number): Promise; + + /** + * Asynchronous close(2) - close a `FileHandle`. + */ + close(): Promise; + } + + /** + * Asynchronously tests a user's permissions for the file specified by path. + * @param path A path to a file or directory. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function access(path: PathLike, mode?: number): Promise; + + /** + * Asynchronously copies `src` to `dest`. By default, `dest` is overwritten if it already exists. + * Node.js makes no guarantees about the atomicity of the copy operation. + * If an error occurs after the destination file has been opened for writing, Node.js will attempt + * to remove the destination. + * @param src A path to the source file. + * @param dest A path to the destination file. + * @param flags An optional integer that specifies the behavior of the copy operation. The only + * supported flag is `fs.constants.COPYFILE_EXCL`, which causes the copy operation to fail if + * `dest` already exists. + */ + function copyFile(src: PathLike, dest: PathLike, flags?: number): Promise; + + /** + * Asynchronous open(2) - open and possibly create a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. If not + * supplied, defaults to `0o666`. + */ + function open(path: PathLike, flags: string | number, mode?: string | number): Promise; + + /** + * Asynchronously reads data from the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The offset in the buffer at which to start writing. + * @param length The number of bytes to read. + * @param position The offset from the beginning of the file from which data should be read. If + * `null`, data will be read from the current position. + */ + function read( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, + position?: number | null, + ): Promise<{ bytesRead: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `buffer` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param buffer The buffer that the data will be written to. + * @param offset The part of the buffer to be written. If not supplied, defaults to `0`. + * @param length The number of bytes to write. If not supplied, defaults to `buffer.length - offset`. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + */ + function write( + handle: FileHandle, + buffer: TBuffer, + offset?: number | null, + length?: number | null, position?: number | null): Promise<{ bytesWritten: number, buffer: TBuffer }>; + + /** + * Asynchronously writes `string` to the file referenced by the supplied `FileHandle`. + * It is unsafe to call `fsPromises.write()` multiple times on the same file without waiting for the `Promise` + * to be resolved (or rejected). For this scenario, `fs.createWriteStream` is strongly recommended. + * @param handle A `FileHandle`. + * @param string A string to write. If something other than a string is supplied it will be coerced to a string. + * @param position The offset from the beginning of the file where this data should be written. If not supplied, defaults to the current position. + * @param encoding The expected string encoding. + */ + function write(handle: FileHandle, string: any, position?: number | null, encoding?: string | null): Promise<{ bytesWritten: number, buffer: string }>; + + /** + * Asynchronous rename(2) - Change the name or location of a file or directory. + * @param oldPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + */ + function rename(oldPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous truncate(2) - Truncate a file to a specified length. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param len If not specified, defaults to `0`. + */ + function truncate(path: PathLike, len?: number): Promise; + + /** + * Asynchronous ftruncate(2) - Truncate a file to a specified length. + * @param handle A `FileHandle`. + * @param len If not specified, defaults to `0`. + */ + function ftruncate(handle: FileHandle, len?: number): Promise; + + /** + * Asynchronous rmdir(2) - delete a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function rmdir(path: PathLike, options?: RmDirAsyncOptions): Promise; + + /** + * Asynchronous fdatasync(2) - synchronize a file's in-core state with storage device. + * @param handle A `FileHandle`. + */ + function fdatasync(handle: FileHandle): Promise; + + /** + * Asynchronous fsync(2) - synchronize a file's in-core state with the underlying storage device. + * @param handle A `FileHandle`. + */ + function fsync(handle: FileHandle): Promise; + + /** + * Asynchronous mkdir(2) - create a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options Either the file mode, or an object optionally specifying the file mode and whether parent folders + * should be created. If a string is passed, it is parsed as an octal integer. If not specified, defaults to `0o777`. + */ + function mkdir(path: PathLike, options?: number | string | MakeDirectoryOptions | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: BufferEncoding | null; withFileTypes?: false } | BufferEncoding | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options: { encoding: "buffer"; withFileTypes?: false } | "buffer"): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readdir(path: PathLike, options?: { encoding?: string | null; withFileTypes?: false } | string | null): Promise; + + /** + * Asynchronous readdir(3) - read a directory. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options If called with `withFileTypes: true` the result data will be an array of Dirent. + */ + function readdir(path: PathLike, options: { encoding?: string | null; withFileTypes: true }): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous readlink(2) - read value of a symbolic link. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function readlink(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronous symlink(2) - Create a new symbolic link to an existing file. + * @param target A path to an existing file. If a URL is provided, it must use the `file:` protocol. + * @param path A path to the new symlink. If a URL is provided, it must use the `file:` protocol. + * @param type May be set to `'dir'`, `'file'`, or `'junction'` (default is `'file'`) and is only available on Windows (ignored on other platforms). + * When using `'junction'`, the `target` argument will automatically be normalized to an absolute path. + */ + function symlink(target: PathLike, path: PathLike, type?: string | null): Promise; + + /** + * Asynchronous fstat(2) - Get file status. + * @param handle A `FileHandle`. + */ + function fstat(handle: FileHandle): Promise; + + /** + * Asynchronous lstat(2) - Get file status. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lstat(path: PathLike): Promise; + + /** + * Asynchronous stat(2) - Get file status. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function stat(path: PathLike): Promise; + + /** + * Asynchronous link(2) - Create a new link (also known as a hard link) to an existing file. + * @param existingPath A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param newPath A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function link(existingPath: PathLike, newPath: PathLike): Promise; + + /** + * Asynchronous unlink(2) - delete a name and possibly the file it refers to. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function unlink(path: PathLike): Promise; + + /** + * Asynchronous fchmod(2) - Change permissions of a file. + * @param handle A `FileHandle`. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function fchmod(handle: FileHandle, mode: string | number): Promise; + + /** + * Asynchronous chmod(2) - Change permissions of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function chmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchmod(2) - Change permissions of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param mode A file mode. If a string is passed, it is parsed as an octal integer. + */ + function lchmod(path: PathLike, mode: string | number): Promise; + + /** + * Asynchronous lchown(2) - Change ownership of a file. Does not dereference symbolic links. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function lchown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronous fchown(2) - Change ownership of a file. + * @param handle A `FileHandle`. + */ + function fchown(handle: FileHandle, uid: number, gid: number): Promise; + + /** + * Asynchronous chown(2) - Change ownership of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + */ + function chown(path: PathLike, uid: number, gid: number): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied path. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function utimes(path: PathLike, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronously change file timestamps of the file referenced by the supplied `FileHandle`. + * @param handle A `FileHandle`. + * @param atime The last access time. If a string is provided, it will be coerced to number. + * @param mtime The last modified time. If a string is provided, it will be coerced to number. + */ + function futimes(handle: FileHandle, atime: string | number | Date, mtime: string | number | Date): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronous realpath(3) - return the canonicalized absolute pathname. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function realpath(path: PathLike, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: BufferEncoding | null } | BufferEncoding | null): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options: { encoding: "buffer" } | "buffer"): Promise; + + /** + * Asynchronously creates a unique temporary directory. + * Generates six random characters to be appended behind a required `prefix` to create a unique temporary directory. + * @param options The encoding (or an object specifying the encoding), used as the encoding of the result. If not provided, `'utf8'` is used. + */ + function mkdtemp(prefix: string, options?: { encoding?: string | null } | string | null): Promise; + + /** + * Asynchronously writes data to a file, replacing the file if it already exists. + * It is unsafe to call `fsPromises.writeFile()` multiple times on the same file without waiting for the `Promise` to be resolved (or rejected). + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'w'` is used. + */ + function writeFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously append data to a file, creating the file if it does not exist. + * @param file A path to a file. If a URL is provided, it must use the `file:` protocol. + * URL support is _experimental_. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param data The data to write. If something other than a `Buffer` or `Uint8Array` is provided, the value is coerced to a string. + * @param options Either the encoding for the file, or an object optionally specifying the encoding, file mode, and flag. + * If `encoding` is not supplied, the default of `'utf8'` is used. + * If `mode` is not supplied, the default of `0o666` is used. + * If `mode` is a string, it is parsed as an octal integer. + * If `flag` is not supplied, the default of `'a'` is used. + */ + function appendFile(path: PathLike | FileHandle, data: any, options?: { encoding?: string | null, mode?: string | number, flag?: string | number } | string | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: null, flag?: string | number } | null): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options: { encoding: BufferEncoding, flag?: string | number } | BufferEncoding): Promise; + + /** + * Asynchronously reads the entire contents of a file. + * @param path A path to a file. If a URL is provided, it must use the `file:` protocol. + * If a `FileHandle` is provided, the underlying file will _not_ be closed automatically. + * @param options An object that may contain an optional flag. + * If a flag is not provided, it defaults to `'r'`. + */ + function readFile(path: PathLike | FileHandle, options?: { encoding?: string | null, flag?: string | number } | string | null): Promise; + + function opendir(path: string, options?: OpenDirOptions): Promise; + } +} diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts new file mode 100644 index 0000000..8734eeb --- /dev/null +++ b/node_modules/@types/node/globals.d.ts @@ -0,0 +1,1161 @@ +// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build +interface Console { + Console: NodeJS.ConsoleConstructor; + /** + * A simple assertion test that verifies whether `value` is truthy. + * If it is not, an `AssertionError` is thrown. + * If provided, the error `message` is formatted using `util.format()` and used as the error message. + */ + assert(value: any, message?: string, ...optionalParams: any[]): void; + /** + * When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. + * When `stdout` is not a TTY, this method does nothing. + */ + clear(): void; + /** + * Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`. + */ + count(label?: string): void; + /** + * Resets the internal counter specific to `label`. + */ + countReset(label?: string): void; + /** + * The `console.debug()` function is an alias for {@link console.log()}. + */ + debug(message?: any, ...optionalParams: any[]): void; + /** + * Uses {@link util.inspect()} on `obj` and prints the resulting string to `stdout`. + * This function bypasses any custom `inspect()` function defined on `obj`. + */ + dir(obj: any, options?: NodeJS.InspectOptions): void; + /** + * This method calls {@link console.log()} passing it the arguments received. Please note that this method does not produce any XML formatting + */ + dirxml(...data: any[]): void; + /** + * Prints to `stderr` with newline. + */ + error(message?: any, ...optionalParams: any[]): void; + /** + * Increases indentation of subsequent lines by two spaces. + * If one or more `label`s are provided, those are printed first without the additional indentation. + */ + group(...label: any[]): void; + /** + * The `console.groupCollapsed()` function is an alias for {@link console.group()}. + */ + groupCollapsed(...label: any[]): void; + /** + * Decreases indentation of subsequent lines by two spaces. + */ + groupEnd(): void; + /** + * The {@link console.info()} function is an alias for {@link console.log()}. + */ + info(message?: any, ...optionalParams: any[]): void; + /** + * Prints to `stdout` with newline. + */ + log(message?: any, ...optionalParams: any[]): void; + /** + * This method does not display anything unless used in the inspector. + * Prints to `stdout` the array `array` formatted as a table. + */ + table(tabularData: any, properties?: string[]): void; + /** + * Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`. + */ + time(label?: string): void; + /** + * Stops a timer that was previously started by calling {@link console.time()} and prints the result to `stdout`. + */ + timeEnd(label?: string): void; + /** + * For a timer that was previously started by calling {@link console.time()}, prints the elapsed time and other `data` arguments to `stdout`. + */ + timeLog(label?: string, ...data: any[]): void; + /** + * Prints to `stderr` the string 'Trace :', followed by the {@link util.format()} formatted message and stack trace to the current position in the code. + */ + trace(message?: any, ...optionalParams: any[]): void; + /** + * The {@link console.warn()} function is an alias for {@link console.error()}. + */ + warn(message?: any, ...optionalParams: any[]): void; + + // --- Inspector mode only --- + /** + * This method does not display anything unless used in the inspector. + * The console.markTimeline() method is the deprecated form of console.timeStamp(). + * + * @deprecated Use console.timeStamp() instead. + */ + markTimeline(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Starts a JavaScript CPU profile with an optional label. + */ + profile(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector. + */ + profileEnd(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * Adds an event with the label `label` to the Timeline panel of the inspector. + */ + timeStamp(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * The console.timeline() method is the deprecated form of console.time(). + * + * @deprecated Use console.time() instead. + */ + timeline(label?: string): void; + /** + * This method does not display anything unless used in the inspector. + * The console.timelineEnd() method is the deprecated form of console.timeEnd(). + * + * @deprecated Use console.timeEnd() instead. + */ + timelineEnd(label?: string): void; +} + +interface Error { + stack?: string; +} + +// Declare "static" methods in Error +interface ErrorConstructor { + /** Create .stack property on a target object */ + captureStackTrace(targetObject: Object, constructorOpt?: Function): void; + + /** + * Optional override for formatting stack traces + * + * @see https://github.com/v8/v8/wiki/Stack%20Trace%20API#customizing-stack-traces + */ + prepareStackTrace?: (err: Error, stackTraces: NodeJS.CallSite[]) => any; + + stackTraceLimit: number; +} + +interface SymbolConstructor { + readonly observable: symbol; +} + +// Node.js ESNEXT support +interface String { + /** Removes whitespace from the left end of a string. */ + trimLeft(): string; + /** Removes whitespace from the right end of a string. */ + trimRight(): string; +} + +interface ImportMeta { + url: string; +} + +/*-----------------------------------------------* + * * + * GLOBAL * + * * + ------------------------------------------------*/ +declare var process: NodeJS.Process; +declare var global: NodeJS.Global; +declare var console: Console; + +declare var __filename: string; +declare var __dirname: string; + +declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; +} +declare function clearTimeout(timeoutId: NodeJS.Timeout): void; +declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; +declare function clearInterval(intervalId: NodeJS.Timeout): void; +declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; +declare namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; +} +declare function clearImmediate(immediateId: NodeJS.Immediate): void; + +declare function queueMicrotask(callback: () => void): void; + +// TODO: change to `type NodeRequireFunction = (id: string) => any;` in next mayor version. +interface NodeRequireFunction { + /* tslint:disable-next-line:callable-types */ + (id: string): any; +} + +interface NodeRequire extends NodeRequireFunction { + resolve: RequireResolve; + cache: any; + /** + * @deprecated + */ + extensions: NodeExtensions; + main: NodeModule | undefined; +} + +interface RequireResolve { + (id: string, options?: { paths?: string[]; }): string; + paths(request: string): string[] | null; +} + +interface NodeExtensions { + '.js': (m: NodeModule, filename: string) => any; + '.json': (m: NodeModule, filename: string) => any; + '.node': (m: NodeModule, filename: string) => any; + [ext: string]: (m: NodeModule, filename: string) => any; +} + +declare var require: NodeRequire; + +interface NodeModule { + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: NodeModule | null; + children: NodeModule[]; + paths: string[]; +} + +declare var module: NodeModule; + +// Same as module.exports +declare var exports: any; + +// Buffer class +type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"; + +interface Buffer { + constructor: typeof Buffer; +} + +/** + * Raw data is stored in instances of the Buffer class. + * A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized. + * Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + */ +declare class Buffer extends Uint8Array { + /** + * Allocates a new buffer containing the given {str}. + * + * @param str String to store in buffer. + * @param encoding encoding to use, optional. Default is 'utf8' + * @deprecated since v10.0.0 - Use `Buffer.from(string[, encoding])` instead. + */ + constructor(str: string, encoding?: BufferEncoding); + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @deprecated since v10.0.0 - Use `Buffer.alloc()` instead (also see `Buffer.allocUnsafe()`). + */ + constructor(size: number); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: Uint8Array); + /** + * Produces a Buffer backed by the same allocated memory as + * the given {ArrayBuffer}/{SharedArrayBuffer}. + * + * + * @param arrayBuffer The ArrayBuffer with which to share memory. + * @deprecated since v10.0.0 - Use `Buffer.from(arrayBuffer[, byteOffset[, length]])` instead. + */ + constructor(arrayBuffer: ArrayBuffer | SharedArrayBuffer); + /** + * Allocates a new buffer containing the given {array} of octets. + * + * @param array The octets to store. + * @deprecated since v10.0.0 - Use `Buffer.from(array)` instead. + */ + constructor(array: any[]); + /** + * Copies the passed {buffer} data onto a new {Buffer} instance. + * + * @param buffer The buffer to copy. + * @deprecated since v10.0.0 - Use `Buffer.from(buffer)` instead. + */ + constructor(buffer: Buffer); + /** + * When passed a reference to the .buffer property of a TypedArray instance, + * the newly created Buffer will share the same allocated memory as the TypedArray. + * The optional {byteOffset} and {length} arguments specify a memory range + * within the {arrayBuffer} that will be shared by the Buffer. + * + * @param arrayBuffer The .buffer property of any TypedArray or a new ArrayBuffer() + */ + static from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param data data to create a new Buffer + */ + static from(data: number[]): Buffer; + static from(data: Uint8Array): Buffer; + /** + * Creates a new Buffer containing the given JavaScript string {str}. + * If provided, the {encoding} parameter identifies the character encoding. + * If not provided, {encoding} defaults to 'utf8'. + */ + static from(str: string, encoding?: BufferEncoding): Buffer; + /** + * Creates a new Buffer using the passed {data} + * @param values to create a new Buffer + */ + static of(...items: number[]): Buffer; + /** + * Returns true if {obj} is a Buffer + * + * @param obj object to test. + */ + static isBuffer(obj: any): obj is Buffer; + /** + * Returns true if {encoding} is a valid encoding argument. + * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' + * + * @param encoding string to test. + */ + static isEncoding(encoding: string): encoding is BufferEncoding; + /** + * Gives the actual byte length of a string. encoding defaults to 'utf8'. + * This is not the same as String.prototype.length since that returns the number of characters in a string. + * + * @param string string to test. + * @param encoding encoding used to evaluate (defaults to 'utf8') + */ + static byteLength( + string: string | NodeJS.ArrayBufferView | ArrayBuffer | SharedArrayBuffer, + encoding?: BufferEncoding + ): number; + /** + * Returns a buffer which is the result of concatenating all the buffers in the list together. + * + * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer. + * If the list has exactly one item, then the first item of the list is returned. + * If the list has more than one item, then a new Buffer is created. + * + * @param list An array of Buffer objects to concatenate + * @param totalLength Total length of the buffers when concatenated. + * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly. + */ + static concat(list: Uint8Array[], totalLength?: number): Buffer; + /** + * The same as buf1.compare(buf2). + */ + static compare(buf1: Uint8Array, buf2: Uint8Array): number; + /** + * Allocates a new buffer of {size} octets. + * + * @param size count of octets to allocate. + * @param fill if specified, buffer will be initialized by calling buf.fill(fill). + * If parameter is omitted, buffer will be filled with zeros. + * @param encoding encoding used for call to buf.fill while initalizing + */ + static alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer; + /** + * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafe(size: number): Buffer; + /** + * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents + * of the newly created Buffer are unknown and may contain sensitive data. + * + * @param size count of octets to allocate + */ + static allocUnsafeSlow(size: number): Buffer; + /** + * This is the number of bytes used to determine the size of pre-allocated, internal Buffer instances used for pooling. This value may be modified. + */ + static poolSize: number; + + write(string: string, encoding?: BufferEncoding): number; + write(string: string, offset: number, encoding?: BufferEncoding): number; + write(string: string, offset: number, length: number, encoding?: BufferEncoding): number; + toString(encoding?: string, start?: number, end?: number): string; + toJSON(): { type: 'Buffer'; data: number[] }; + equals(otherBuffer: Uint8Array): boolean; + compare( + otherBuffer: Uint8Array, + targetStart?: number, + targetEnd?: number, + sourceStart?: number, + sourceEnd?: number + ): number; + copy(targetBuffer: Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is incompatible with `Uint8Array#slice()`, which returns a copy of the original memory. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + slice(begin?: number, end?: number): Buffer; + /** + * Returns a new `Buffer` that references **the same memory as the original**, but offset and cropped by the start and end indices. + * + * This method is compatible with `Uint8Array#subarray()`. + * + * @param begin Where the new `Buffer` will start. Default: `0`. + * @param end Where the new `Buffer` will end (not inclusive). Default: `buf.length`. + */ + subarray(begin?: number, end?: number): Buffer; + writeUIntLE(value: number, offset: number, byteLength: number): number; + writeUIntBE(value: number, offset: number, byteLength: number): number; + writeIntLE(value: number, offset: number, byteLength: number): number; + writeIntBE(value: number, offset: number, byteLength: number): number; + readUIntLE(offset: number, byteLength: number): number; + readUIntBE(offset: number, byteLength: number): number; + readIntLE(offset: number, byteLength: number): number; + readIntBE(offset: number, byteLength: number): number; + readUInt8(offset: number): number; + readUInt16LE(offset: number): number; + readUInt16BE(offset: number): number; + readUInt32LE(offset: number): number; + readUInt32BE(offset: number): number; + readInt8(offset: number): number; + readInt16LE(offset: number): number; + readInt16BE(offset: number): number; + readInt32LE(offset: number): number; + readInt32BE(offset: number): number; + readFloatLE(offset: number): number; + readFloatBE(offset: number): number; + readDoubleLE(offset: number): number; + readDoubleBE(offset: number): number; + reverse(): this; + swap16(): Buffer; + swap32(): Buffer; + swap64(): Buffer; + writeUInt8(value: number, offset: number): number; + writeUInt16LE(value: number, offset: number): number; + writeUInt16BE(value: number, offset: number): number; + writeUInt32LE(value: number, offset: number): number; + writeUInt32BE(value: number, offset: number): number; + writeInt8(value: number, offset: number): number; + writeInt16LE(value: number, offset: number): number; + writeInt16BE(value: number, offset: number): number; + writeInt32LE(value: number, offset: number): number; + writeInt32BE(value: number, offset: number): number; + writeFloatLE(value: number, offset: number): number; + writeFloatBE(value: number, offset: number): number; + writeDoubleLE(value: number, offset: number): number; + writeDoubleBE(value: number, offset: number): number; + + fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this; + + indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number; + entries(): IterableIterator<[number, number]>; + includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean; + keys(): IterableIterator; + values(): IterableIterator; +} + +/*----------------------------------------------* +* * +* GLOBAL INTERFACES * +* * +*-----------------------------------------------*/ +declare namespace NodeJS { + interface InspectOptions { + /** + * If set to `true`, getters are going to be + * inspected as well. If set to `'get'` only getters without setter are going + * to be inspected. If set to `'set'` only getters having a corresponding + * setter are going to be inspected. This might cause side effects depending on + * the getter function. + * @default `false` + */ + getters?: 'get' | 'set' | boolean; + showHidden?: boolean; + /** + * @default 2 + */ + depth?: number | null; + colors?: boolean; + customInspect?: boolean; + showProxy?: boolean; + maxArrayLength?: number | null; + breakLength?: number; + /** + * Setting this to `false` causes each object key + * to be displayed on a new line. It will also add new lines to text that is + * longer than `breakLength`. If set to a number, the most `n` inner elements + * are united on a single line as long as all properties fit into + * `breakLength`. Short array elements are also grouped together. Note that no + * text will be reduced below 16 characters, no matter the `breakLength` size. + * For more information, see the example below. + * @default `true` + */ + compact?: boolean | number; + sorted?: boolean | ((a: string, b: string) => number); + } + + interface ConsoleConstructorOptions { + stdout: WritableStream; + stderr?: WritableStream; + ignoreErrors?: boolean; + colorMode?: boolean | 'auto'; + inspectOptions?: InspectOptions; + } + + interface ConsoleConstructor { + prototype: Console; + new(stdout: WritableStream, stderr?: WritableStream, ignoreErrors?: boolean): Console; + new(options: ConsoleConstructorOptions): Console; + } + + interface CallSite { + /** + * Value of "this" + */ + getThis(): any; + + /** + * Type of "this" as a string. + * This is the name of the function stored in the constructor field of + * "this", if available. Otherwise the object's [[Class]] internal + * property. + */ + getTypeName(): string | null; + + /** + * Current function + */ + getFunction(): Function | undefined; + + /** + * Name of the current function, typically its name property. + * If a name property is not available an attempt will be made to try + * to infer a name from the function's context. + */ + getFunctionName(): string | null; + + /** + * Name of the property [of "this" or one of its prototypes] that holds + * the current function + */ + getMethodName(): string | null; + + /** + * Name of the script [if this function was defined in a script] + */ + getFileName(): string | null; + + /** + * Current line number [if this function was defined in a script] + */ + getLineNumber(): number | null; + + /** + * Current column number [if this function was defined in a script] + */ + getColumnNumber(): number | null; + + /** + * A call site object representing the location where eval was called + * [if this function was created using a call to eval] + */ + getEvalOrigin(): string | undefined; + + /** + * Is this a toplevel invocation, that is, is "this" the global object? + */ + isToplevel(): boolean; + + /** + * Does this call take place in code defined by a call to eval? + */ + isEval(): boolean; + + /** + * Is this call in native V8 code? + */ + isNative(): boolean; + + /** + * Is this a constructor call? + */ + isConstructor(): boolean; + } + + interface ErrnoException extends Error { + errno?: number; + code?: string; + path?: string; + syscall?: string; + stack?: string; + } + + class EventEmitter { + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string | symbol): this; + setMaxListeners(n: number): this; + getMaxListeners(): number; + listeners(event: string | symbol): Function[]; + rawListeners(event: string | symbol): Function[]; + emit(event: string | symbol, ...args: any[]): boolean; + listenerCount(type: string | symbol): number; + // Added in Node 6... + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + eventNames(): Array; + } + + interface ReadableStream extends EventEmitter { + readable: boolean; + read(size?: number): string | Buffer; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + pipe(destination: T, options?: { end?: boolean; }): T; + unpipe(destination?: WritableStream): this; + unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void; + wrap(oldStream: ReadableStream): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableStream extends EventEmitter { + writable: boolean; + write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean; + write(str: string, encoding?: string, cb?: (err?: Error | null) => void): boolean; + end(cb?: () => void): void; + end(data: string | Uint8Array, cb?: () => void): void; + end(str: string, encoding?: string, cb?: () => void): void; + } + + interface ReadWriteStream extends ReadableStream, WritableStream { } + + interface Domain extends EventEmitter { + run(fn: (...args: any[]) => T, ...args: any[]): T; + add(emitter: EventEmitter | Timer): void; + remove(emitter: EventEmitter | Timer): void; + bind(cb: T): T; + intercept(cb: T): T; + + addListener(event: string, listener: (...args: any[]) => void): this; + on(event: string, listener: (...args: any[]) => void): this; + once(event: string, listener: (...args: any[]) => void): this; + removeListener(event: string, listener: (...args: any[]) => void): this; + removeAllListeners(event?: string): this; + } + + interface MemoryUsage { + rss: number; + heapTotal: number; + heapUsed: number; + external: number; + } + + interface CpuUsage { + user: number; + system: number; + } + + interface ProcessRelease { + name: string; + sourceUrl?: string; + headersUrl?: string; + libUrl?: string; + lts?: string; + } + + interface ProcessVersions { + http_parser: string; + node: string; + v8: string; + ares: string; + uv: string; + zlib: string; + modules: string; + openssl: string; + } + + type Platform = 'aix' + | 'android' + | 'darwin' + | 'freebsd' + | 'linux' + | 'openbsd' + | 'sunos' + | 'win32' + | 'cygwin' + | 'netbsd'; + + type Signals = + "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" | + "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" | + "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" | + "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO"; + + type MultipleResolveType = 'resolve' | 'reject'; + + type BeforeExitListener = (code: number) => void; + type DisconnectListener = () => void; + type ExitListener = (code: number) => void; + type RejectionHandledListener = (promise: Promise) => void; + type UncaughtExceptionListener = (error: Error) => void; + type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise) => void; + type WarningListener = (warning: Error) => void; + type MessageListener = (message: any, sendHandle: any) => void; + type SignalsListener = (signal: Signals) => void; + type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void; + type MultipleResolveListener = (type: MultipleResolveType, promise: Promise, value: any) => void; + + interface Socket extends ReadWriteStream { + isTTY?: true; + } + + interface ProcessEnv { + [key: string]: string | undefined; + } + + interface HRTime { + (time?: [number, number]): [number, number]; + } + + interface ProcessReport { + /** + * Directory where the report is written. + * working directory of the Node.js process. + * @default '' indicating that reports are written to the current + */ + directory: string; + + /** + * Filename where the report is written. + * The default value is the empty string. + * @default '' the output filename will be comprised of a timestamp, + * PID, and sequence number. + */ + filename: string; + + /** + * Returns a JSON-formatted diagnostic report for the running process. + * The report's JavaScript stack trace is taken from err, if present. + */ + getReport(err?: Error): string; + + /** + * If true, a diagnostic report is generated on fatal errors, + * such as out of memory errors or failed C++ assertions. + * @default false + */ + reportOnFatalError: boolean; + + /** + * If true, a diagnostic report is generated when the process + * receives the signal specified by process.report.signal. + * @defaul false + */ + reportOnSignal: boolean; + + /** + * If true, a diagnostic report is generated on uncaught exception. + * @default false + */ + reportOnUncaughtException: boolean; + + /** + * The signal used to trigger the creation of a diagnostic report. + * @default 'SIGUSR2' + */ + signal: Signals; + + /** + * Writes a diagnostic report to a file. If filename is not provided, the default filename + * includes the date, time, PID, and a sequence number. + * The report's JavaScript stack trace is taken from err, if present. + * + * @param fileName Name of the file where the report is written. + * This should be a relative path, that will be appended to the directory specified in + * `process.report.directory`, or the current working directory of the Node.js process, + * if unspecified. + * @param error A custom error used for reporting the JavaScript stack. + * @return Filename of the generated report. + */ + writeReport(fileName?: string): string; + writeReport(error?: Error): string; + writeReport(fileName?: string, err?: Error): string; + } + + interface ResourceUsage { + fsRead: number; + fsWrite: number; + involuntaryContextSwitches: number; + ipcReceived: number; + ipcSent: number; + majorPageFault: number; + maxRSS: number; + minorPageFault: number; + sharedMemorySize: number; + signalsCount: number; + swappedOut: number; + systemCPUTime: number; + unsharedDataSize: number; + unsharedStackSize: number; + userCPUTime: number; + voluntaryContextSwitches: number; + } + + interface Process extends EventEmitter { + /** + * Can also be a tty.WriteStream, not typed due to limitation.s + */ + stdout: WriteStream; + /** + * Can also be a tty.WriteStream, not typed due to limitation.s + */ + stderr: WriteStream; + stdin: ReadStream; + openStdin(): Socket; + argv: string[]; + argv0: string; + execArgv: string[]; + execPath: string; + abort(): void; + chdir(directory: string): void; + cwd(): string; + debugPort: number; + emitWarning(warning: string | Error, name?: string, ctor?: Function): void; + env: ProcessEnv; + exit(code?: number): never; + exitCode?: number; + getgid(): number; + setgid(id: number | string): void; + getuid(): number; + setuid(id: number | string): void; + geteuid(): number; + seteuid(id: number | string): void; + getegid(): number; + setegid(id: number | string): void; + getgroups(): number[]; + setgroups(groups: Array): void; + setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void; + hasUncaughtExceptionCaptureCallback(): boolean; + version: string; + versions: ProcessVersions; + config: { + target_defaults: { + cflags: any[]; + default_configuration: string; + defines: string[]; + include_dirs: string[]; + libraries: string[]; + }; + variables: { + clang: number; + host_arch: string; + node_install_npm: boolean; + node_install_waf: boolean; + node_prefix: string; + node_shared_openssl: boolean; + node_shared_v8: boolean; + node_shared_zlib: boolean; + node_use_dtrace: boolean; + node_use_etw: boolean; + node_use_openssl: boolean; + target_arch: string; + v8_no_strict_aliasing: number; + v8_use_snapshot: boolean; + visibility: string; + }; + }; + kill(pid: number, signal?: string | number): void; + pid: number; + ppid: number; + title: string; + arch: string; + platform: Platform; + mainModule?: NodeModule; + memoryUsage(): MemoryUsage; + cpuUsage(previousValue?: CpuUsage): CpuUsage; + nextTick(callback: Function, ...args: any[]): void; + release: ProcessRelease; + features: { + inspector: boolean; + debug: boolean; + uv: boolean; + ipv6: boolean; + tls_alpn: boolean; + tls_sni: boolean; + tls_ocsp: boolean; + tls: boolean; + }; + /** + * Can only be set if not in worker thread. + */ + umask(mask?: number): number; + uptime(): number; + hrtime: HRTime; + domain: Domain; + + // Worker + send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean; + disconnect(): void; + connected: boolean; + + /** + * The `process.allowedNodeEnvironmentFlags` property is a special, + * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][] + * environment variable. + */ + allowedNodeEnvironmentFlags: ReadonlySet; + + /** + * Only available with `--experimental-report` + */ + report?: ProcessReport; + + resourceUsage(): ResourceUsage; + + /** + * EventEmitter + * 1. beforeExit + * 2. disconnect + * 3. exit + * 4. message + * 5. rejectionHandled + * 6. uncaughtException + * 7. unhandledRejection + * 8. warning + * 9. message + * 10. + * 11. newListener/removeListener inherited from EventEmitter + */ + addListener(event: "beforeExit", listener: BeforeExitListener): this; + addListener(event: "disconnect", listener: DisconnectListener): this; + addListener(event: "exit", listener: ExitListener): this; + addListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + addListener(event: "warning", listener: WarningListener): this; + addListener(event: "message", listener: MessageListener): this; + addListener(event: Signals, listener: SignalsListener): this; + addListener(event: "newListener", listener: NewListenerListener): this; + addListener(event: "removeListener", listener: RemoveListenerListener): this; + addListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + emit(event: "beforeExit", code: number): boolean; + emit(event: "disconnect"): boolean; + emit(event: "exit", code: number): boolean; + emit(event: "rejectionHandled", promise: Promise): boolean; + emit(event: "uncaughtException", error: Error): boolean; + emit(event: "unhandledRejection", reason: any, promise: Promise): boolean; + emit(event: "warning", warning: Error): boolean; + emit(event: "message", message: any, sendHandle: any): this; + emit(event: Signals, signal: Signals): boolean; + emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this; + emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this; + emit(event: "multipleResolves", listener: MultipleResolveListener): this; + + on(event: "beforeExit", listener: BeforeExitListener): this; + on(event: "disconnect", listener: DisconnectListener): this; + on(event: "exit", listener: ExitListener): this; + on(event: "rejectionHandled", listener: RejectionHandledListener): this; + on(event: "uncaughtException", listener: UncaughtExceptionListener): this; + on(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + on(event: "warning", listener: WarningListener): this; + on(event: "message", listener: MessageListener): this; + on(event: Signals, listener: SignalsListener): this; + on(event: "newListener", listener: NewListenerListener): this; + on(event: "removeListener", listener: RemoveListenerListener): this; + on(event: "multipleResolves", listener: MultipleResolveListener): this; + + once(event: "beforeExit", listener: BeforeExitListener): this; + once(event: "disconnect", listener: DisconnectListener): this; + once(event: "exit", listener: ExitListener): this; + once(event: "rejectionHandled", listener: RejectionHandledListener): this; + once(event: "uncaughtException", listener: UncaughtExceptionListener): this; + once(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + once(event: "warning", listener: WarningListener): this; + once(event: "message", listener: MessageListener): this; + once(event: Signals, listener: SignalsListener): this; + once(event: "newListener", listener: NewListenerListener): this; + once(event: "removeListener", listener: RemoveListenerListener): this; + once(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependListener(event: "beforeExit", listener: BeforeExitListener): this; + prependListener(event: "disconnect", listener: DisconnectListener): this; + prependListener(event: "exit", listener: ExitListener): this; + prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependListener(event: "warning", listener: WarningListener): this; + prependListener(event: "message", listener: MessageListener): this; + prependListener(event: Signals, listener: SignalsListener): this; + prependListener(event: "newListener", listener: NewListenerListener): this; + prependListener(event: "removeListener", listener: RemoveListenerListener): this; + prependListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this; + prependOnceListener(event: "disconnect", listener: DisconnectListener): this; + prependOnceListener(event: "exit", listener: ExitListener): this; + prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this; + prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this; + prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this; + prependOnceListener(event: "warning", listener: WarningListener): this; + prependOnceListener(event: "message", listener: MessageListener): this; + prependOnceListener(event: Signals, listener: SignalsListener): this; + prependOnceListener(event: "newListener", listener: NewListenerListener): this; + prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this; + prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this; + + listeners(event: "beforeExit"): BeforeExitListener[]; + listeners(event: "disconnect"): DisconnectListener[]; + listeners(event: "exit"): ExitListener[]; + listeners(event: "rejectionHandled"): RejectionHandledListener[]; + listeners(event: "uncaughtException"): UncaughtExceptionListener[]; + listeners(event: "unhandledRejection"): UnhandledRejectionListener[]; + listeners(event: "warning"): WarningListener[]; + listeners(event: "message"): MessageListener[]; + listeners(event: Signals): SignalsListener[]; + listeners(event: "newListener"): NewListenerListener[]; + listeners(event: "removeListener"): RemoveListenerListener[]; + listeners(event: "multipleResolves"): MultipleResolveListener[]; + } + + interface Global { + Array: typeof Array; + ArrayBuffer: typeof ArrayBuffer; + Boolean: typeof Boolean; + Buffer: typeof Buffer; + DataView: typeof DataView; + Date: typeof Date; + Error: typeof Error; + EvalError: typeof EvalError; + Float32Array: typeof Float32Array; + Float64Array: typeof Float64Array; + Function: typeof Function; + GLOBAL: Global; + Infinity: typeof Infinity; + Int16Array: typeof Int16Array; + Int32Array: typeof Int32Array; + Int8Array: typeof Int8Array; + Intl: typeof Intl; + JSON: typeof JSON; + Map: MapConstructor; + Math: typeof Math; + NaN: typeof NaN; + Number: typeof Number; + Object: typeof Object; + Promise: Function; + RangeError: typeof RangeError; + ReferenceError: typeof ReferenceError; + RegExp: typeof RegExp; + Set: SetConstructor; + String: typeof String; + Symbol: Function; + SyntaxError: typeof SyntaxError; + TypeError: typeof TypeError; + URIError: typeof URIError; + Uint16Array: typeof Uint16Array; + Uint32Array: typeof Uint32Array; + Uint8Array: typeof Uint8Array; + Uint8ClampedArray: Function; + WeakMap: WeakMapConstructor; + WeakSet: WeakSetConstructor; + clearImmediate: (immediateId: Immediate) => void; + clearInterval: (intervalId: Timeout) => void; + clearTimeout: (timeoutId: Timeout) => void; + console: typeof console; + decodeURI: typeof decodeURI; + decodeURIComponent: typeof decodeURIComponent; + encodeURI: typeof encodeURI; + encodeURIComponent: typeof encodeURIComponent; + escape: (str: string) => string; + eval: typeof eval; + global: Global; + isFinite: typeof isFinite; + isNaN: typeof isNaN; + parseFloat: typeof parseFloat; + parseInt: typeof parseInt; + process: Process; + root: Global; + setImmediate: (callback: (...args: any[]) => void, ...args: any[]) => Immediate; + setInterval: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + setTimeout: (callback: (...args: any[]) => void, ms: number, ...args: any[]) => Timeout; + queueMicrotask: typeof queueMicrotask; + undefined: typeof undefined; + unescape: (str: string) => string; + gc: () => void; + v8debug?: any; + } + + // compatibility with older typings + interface Timer { + hasRef(): boolean; + ref(): this; + refresh(): this; + unref(): this; + } + + class Immediate { + hasRef(): boolean; + ref(): this; + unref(): this; + _onImmediate: Function; // to distinguish it from the Timeout class + } + + class Timeout implements Timer { + hasRef(): boolean; + ref(): this; + refresh(): this; + unref(): this; + } + + class Module { + static runMain(): void; + static wrap(code: string): string; + + /** + * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. + */ + static createRequireFromPath(path: string): NodeRequireFunction; + static createRequire(path: string): NodeRequireFunction; + static builtinModules: string[]; + + static Module: typeof Module; + + exports: any; + require: NodeRequireFunction; + id: string; + filename: string; + loaded: boolean; + parent: Module | null; + children: Module[]; + paths: string[]; + + constructor(id: string, parent?: Module); + } + + type TypedArray = Uint8Array | Uint8ClampedArray | Uint16Array | Uint32Array | Int8Array | Int16Array | Int32Array | Float32Array | Float64Array; + type ArrayBufferView = TypedArray | DataView; + + // The value type here is a "poor man's `unknown`". When these types support TypeScript + // 3.0+, we can replace this with `unknown`. + type PoorMansUnknown = {} | null | undefined; +} diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts new file mode 100644 index 0000000..ef5f1ef --- /dev/null +++ b/node_modules/@types/node/http.d.ts @@ -0,0 +1,370 @@ +declare module "http" { + import * as events from "events"; + import * as stream from "stream"; + import { URL } from "url"; + import { Socket, Server as NetServer } from "net"; + + // incoming headers will never contain number + interface IncomingHttpHeaders { + 'accept'?: string; + 'accept-language'?: string; + 'accept-patch'?: string; + 'accept-ranges'?: string; + 'access-control-allow-credentials'?: string; + 'access-control-allow-headers'?: string; + 'access-control-allow-methods'?: string; + 'access-control-allow-origin'?: string; + 'access-control-expose-headers'?: string; + 'access-control-max-age'?: string; + 'age'?: string; + 'allow'?: string; + 'alt-svc'?: string; + 'authorization'?: string; + 'cache-control'?: string; + 'connection'?: string; + 'content-disposition'?: string; + 'content-encoding'?: string; + 'content-language'?: string; + 'content-length'?: string; + 'content-location'?: string; + 'content-range'?: string; + 'content-type'?: string; + 'cookie'?: string; + 'date'?: string; + 'expect'?: string; + 'expires'?: string; + 'forwarded'?: string; + 'from'?: string; + 'host'?: string; + 'if-match'?: string; + 'if-modified-since'?: string; + 'if-none-match'?: string; + 'if-unmodified-since'?: string; + 'last-modified'?: string; + 'location'?: string; + 'pragma'?: string; + 'proxy-authenticate'?: string; + 'proxy-authorization'?: string; + 'public-key-pins'?: string; + 'range'?: string; + 'referer'?: string; + 'retry-after'?: string; + 'set-cookie'?: string[]; + 'strict-transport-security'?: string; + 'tk'?: string; + 'trailer'?: string; + 'transfer-encoding'?: string; + 'upgrade'?: string; + 'user-agent'?: string; + 'vary'?: string; + 'via'?: string; + 'warning'?: string; + 'www-authenticate'?: string; + [header: string]: string | string[] | undefined; + } + + // outgoing headers allows numbers (as they are converted internally to strings) + interface OutgoingHttpHeaders { + [header: string]: number | string | string[] | undefined; + } + + interface ClientRequestArgs { + protocol?: string; + host?: string; + hostname?: string; + family?: number; + port?: number | string; + defaultPort?: number | string; + localAddress?: string; + socketPath?: string; + method?: string; + path?: string; + headers?: OutgoingHttpHeaders; + auth?: string; + agent?: Agent | boolean; + _defaultAgent?: Agent; + timeout?: number; + setHost?: boolean; + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L278 + createConnection?: (options: ClientRequestArgs, oncreate: (err: Error, socket: Socket) => void) => Socket; + } + + interface ServerOptions { + IncomingMessage?: typeof IncomingMessage; + ServerResponse?: typeof ServerResponse; + } + + type RequestListener = (req: IncomingMessage, res: ServerResponse) => void; + + class Server extends NetServer { + constructor(requestListener?: RequestListener); + constructor(options: ServerOptions, requestListener?: RequestListener); + + setTimeout(msecs?: number, callback?: () => void): this; + setTimeout(callback: () => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @default 2000 + * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} + */ + maxHeadersCount: number | null; + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP headers. + * @default 40000 + * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} + */ + headersTimeout: number; + keepAliveTimeout: number; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js + class OutgoingMessage extends stream.Writable { + upgrading: boolean; + chunkedEncoding: boolean; + shouldKeepAlive: boolean; + useChunkedEncodingByDefault: boolean; + sendDate: boolean; + finished: boolean; + headersSent: boolean; + connection: Socket; + + constructor(); + + setTimeout(msecs: number, callback?: () => void): this; + setHeader(name: string, value: number | string | string[]): void; + getHeader(name: string): number | string | string[] | undefined; + getHeaders(): OutgoingHttpHeaders; + getHeaderNames(): string[]; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + addTrailers(headers: OutgoingHttpHeaders | Array<[string, string]>): void; + flushHeaders(): void; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_server.js#L108-L256 + class ServerResponse extends OutgoingMessage { + statusCode: number; + statusMessage: string; + writableFinished: boolean; + + constructor(req: IncomingMessage); + + assignSocket(socket: Socket): void; + detachSocket(socket: Socket): void; + // https://github.com/nodejs/node/blob/master/test/parallel/test-http-write-callbacks.js#L53 + // no args in writeContinue callback + writeContinue(callback?: () => void): void; + writeHead(statusCode: number, reasonPhrase?: string, headers?: OutgoingHttpHeaders): this; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; + } + + interface InformationEvent { + statusCode: number; + statusMessage: string; + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + } + + // https://github.com/nodejs/node/blob/master/lib/_http_client.js#L77 + class ClientRequest extends OutgoingMessage { + connection: Socket; + socket: Socket; + aborted: number; + + constructor(url: string | URL | ClientRequestArgs, cb?: (res: IncomingMessage) => void); + + readonly path: string; + abort(): void; + onSocket(socket: Socket): void; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): void; + setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; + + addListener(event: 'abort', listener: () => void): this; + addListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'continue', listener: () => void): this; + addListener(event: 'information', listener: (info: InformationEvent) => void): this; + addListener(event: 'response', listener: (response: IncomingMessage) => void): this; + addListener(event: 'socket', listener: (socket: Socket) => void): this; + addListener(event: 'timeout', listener: () => void): this; + addListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + addListener(event: 'close', listener: () => void): this; + addListener(event: 'drain', listener: () => void): this; + addListener(event: 'error', listener: (err: Error) => void): this; + addListener(event: 'finish', listener: () => void): this; + addListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + addListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + on(event: 'abort', listener: () => void): this; + on(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'continue', listener: () => void): this; + on(event: 'information', listener: (info: InformationEvent) => void): this; + on(event: 'response', listener: (response: IncomingMessage) => void): this; + on(event: 'socket', listener: (socket: Socket) => void): this; + on(event: 'timeout', listener: () => void): this; + on(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + on(event: 'close', listener: () => void): this; + on(event: 'drain', listener: () => void): this; + on(event: 'error', listener: (err: Error) => void): this; + on(event: 'finish', listener: () => void): this; + on(event: 'pipe', listener: (src: stream.Readable) => void): this; + on(event: 'unpipe', listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: 'abort', listener: () => void): this; + once(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'continue', listener: () => void): this; + once(event: 'information', listener: (info: InformationEvent) => void): this; + once(event: 'response', listener: (response: IncomingMessage) => void): this; + once(event: 'socket', listener: (socket: Socket) => void): this; + once(event: 'timeout', listener: () => void): this; + once(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + once(event: 'close', listener: () => void): this; + once(event: 'drain', listener: () => void): this; + once(event: 'error', listener: (err: Error) => void): this; + once(event: 'finish', listener: () => void): this; + once(event: 'pipe', listener: (src: stream.Readable) => void): this; + once(event: 'unpipe', listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: 'abort', listener: () => void): this; + prependListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'continue', listener: () => void): this; + prependListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependListener(event: 'socket', listener: (socket: Socket) => void): this; + prependListener(event: 'timeout', listener: () => void): this; + prependListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependListener(event: 'close', listener: () => void): this; + prependListener(event: 'drain', listener: () => void): this; + prependListener(event: 'error', listener: (err: Error) => void): this; + prependListener(event: 'finish', listener: () => void): this; + prependListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: 'abort', listener: () => void): this; + prependOnceListener(event: 'connect', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'continue', listener: () => void): this; + prependOnceListener(event: 'information', listener: (info: InformationEvent) => void): this; + prependOnceListener(event: 'response', listener: (response: IncomingMessage) => void): this; + prependOnceListener(event: 'socket', listener: (socket: Socket) => void): this; + prependOnceListener(event: 'timeout', listener: () => void): this; + prependOnceListener(event: 'upgrade', listener: (response: IncomingMessage, socket: Socket, head: Buffer) => void): this; + prependOnceListener(event: 'close', listener: () => void): this; + prependOnceListener(event: 'drain', listener: () => void): this; + prependOnceListener(event: 'error', listener: (err: Error) => void): this; + prependOnceListener(event: 'finish', listener: () => void): this; + prependOnceListener(event: 'pipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: 'unpipe', listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + class IncomingMessage extends stream.Readable { + constructor(socket: Socket); + + httpVersion: string; + httpVersionMajor: number; + httpVersionMinor: number; + complete: boolean; + connection: Socket; + headers: IncomingHttpHeaders; + rawHeaders: string[]; + trailers: { [key: string]: string | undefined }; + rawTrailers: string[]; + setTimeout(msecs: number, callback?: () => void): this; + /** + * Only valid for request obtained from http.Server. + */ + method?: string; + /** + * Only valid for request obtained from http.Server. + */ + url?: string; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusCode?: number; + /** + * Only valid for response obtained from http.ClientRequest. + */ + statusMessage?: string; + socket: Socket; + destroy(error?: Error): void; + } + + interface AgentOptions { + /** + * Keep sockets around in a pool to be used by other requests in the future. Default = false + */ + keepAlive?: boolean; + /** + * When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000. + * Only relevant if keepAlive is set to true. + */ + keepAliveMsecs?: number; + /** + * Maximum number of sockets to allow per host. Default for Node 0.10 is 5, default for Node 0.12 is Infinity + */ + maxSockets?: number; + /** + * Maximum number of sockets to leave open in a free state. Only relevant if keepAlive is set to true. Default = 256. + */ + maxFreeSockets?: number; + /** + * Socket timeout in milliseconds. This will set the timeout after the socket is connected. + */ + timeout?: number; + } + + class Agent { + maxFreeSockets: number; + maxSockets: number; + readonly sockets: { + readonly [key: string]: Socket[]; + }; + readonly requests: { + readonly [key: string]: IncomingMessage[]; + }; + + constructor(opts?: AgentOptions); + + /** + * Destroy any sockets that are currently in use by the agent. + * It is usually not necessary to do this. However, if you are using an agent with KeepAlive enabled, + * then it is best to explicitly shut down the agent when you know that it will no longer be used. Otherwise, + * sockets may hang open for quite a long time before the server terminates them. + */ + destroy(): void; + } + + const METHODS: string[]; + + const STATUS_CODES: { + [errorCode: number]: string | undefined; + [errorCode: string]: string | undefined; + }; + + function createServer(requestListener?: RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: RequestListener): Server; + + // although RequestOptions are passed as ClientRequestArgs to ClientRequest directly, + // create interface RequestOptions would make the naming more clear to developers + interface RequestOptions extends ClientRequestArgs { } + function request(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: IncomingMessage) => void): ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest; + let globalAgent: Agent; + + /** + * Read-only property specifying the maximum allowed size of HTTP headers in bytes. + * Defaults to 8KB. Configurable using the [`--max-http-header-size`][] CLI option. + */ + const maxHeaderSize: number; +} diff --git a/node_modules/@types/node/http2.d.ts b/node_modules/@types/node/http2.d.ts new file mode 100644 index 0000000..8c16e10 --- /dev/null +++ b/node_modules/@types/node/http2.d.ts @@ -0,0 +1,947 @@ +declare module "http2" { + import * as events from "events"; + import * as fs from "fs"; + import * as net from "net"; + import * as stream from "stream"; + import * as tls from "tls"; + import * as url from "url"; + + import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; + export { OutgoingHttpHeaders } from "http"; + + export interface IncomingHttpStatusHeader { + ":status"?: number; + } + + export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { + ":path"?: string; + ":method"?: string; + ":authority"?: string; + ":scheme"?: string; + } + + // Http2Stream + + export interface StreamPriorityOptions { + exclusive?: boolean; + parent?: number; + weight?: number; + silent?: boolean; + } + + export interface StreamState { + localWindowSize?: number; + state?: number; + localClose?: number; + remoteClose?: number; + sumDependencyWeight?: number; + weight?: number; + } + + export interface ServerStreamResponseOptions { + endStream?: boolean; + waitForTrailers?: boolean; + } + + export interface StatOptions { + offset: number; + length: number; + } + + export interface ServerStreamFileResponseOptions { + statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean; + waitForTrailers?: boolean; + offset?: number; + length?: number; + } + + export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { + onError?(err: NodeJS.ErrnoException): void; + } + + export interface Http2Stream extends stream.Duplex { + readonly aborted: boolean; + readonly bufferSize: number; + readonly closed: boolean; + readonly destroyed: boolean; + /** + * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, + * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. + */ + readonly endAfterHeaders: boolean; + readonly id?: number; + readonly pending: boolean; + readonly rstCode: number; + readonly sentHeaders: OutgoingHttpHeaders; + readonly sentInfoHeaders?: OutgoingHttpHeaders[]; + readonly sentTrailers?: OutgoingHttpHeaders; + readonly session: Http2Session; + readonly state: StreamState; + + close(code?: number, callback?: () => void): void; + priority(options: StreamPriorityOptions): void; + setTimeout(msecs: number, callback?: () => void): void; + sendTrailers(headers: OutgoingHttpHeaders): void; + + addListener(event: "aborted", listener: () => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: "streamClosed", listener: (code: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "wantTrailers", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted"): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "frameError", frameType: number, errorCode: number): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: "streamClosed", code: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "wantTrailers"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: () => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: "streamClosed", listener: (code: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "wantTrailers", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: () => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: "streamClosed", listener: (code: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "wantTrailers", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: () => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "streamClosed", listener: (code: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "wantTrailers", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: () => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "wantTrailers", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ClientHttp2Stream extends Http2Stream { + addListener(event: "continue", listener: () => {}): this; + addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "continue"): boolean; + emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "continue", listener: () => {}): this; + on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "continue", listener: () => {}): this; + once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "continue", listener: () => {}): this; + prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "continue", listener: () => {}): this; + prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ServerHttp2Stream extends Http2Stream { + readonly headersSent: boolean; + readonly pushAllowed: boolean; + additionalHeaders(headers: OutgoingHttpHeaders): void; + pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; + respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; + respondWithFD(fd: number | fs.promises.FileHandle, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; + respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; + } + + // Http2Session + + export interface Settings { + headerTableSize?: number; + enablePush?: boolean; + initialWindowSize?: number; + maxFrameSize?: number; + maxConcurrentStreams?: number; + maxHeaderListSize?: number; + enableConnectProtocol?: boolean; + } + + export interface ClientSessionRequestOptions { + endStream?: boolean; + exclusive?: boolean; + parent?: number; + weight?: number; + waitForTrailers?: boolean; + } + + export interface SessionState { + effectiveLocalWindowSize?: number; + effectiveRecvDataLength?: number; + nextStreamID?: number; + localWindowSize?: number; + lastProcStreamID?: number; + remoteWindowSize?: number; + outboundQueueSize?: number; + deflateDynamicTableSize?: number; + inflateDynamicTableSize?: number; + } + + export interface Http2Session extends events.EventEmitter { + readonly alpnProtocol?: string; + readonly closed: boolean; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly encrypted?: boolean; + readonly localSettings: Settings; + readonly originSet?: string[]; + readonly pendingSettingsAck: boolean; + readonly remoteSettings: Settings; + readonly socket: net.Socket | tls.TLSSocket; + readonly state: SessionState; + readonly type: number; + + close(callback?: () => void): void; + destroy(error?: Error, code?: number): void; + goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; + ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; + ref(): void; + setTimeout(msecs: number, callback?: () => void): void; + settings(settings: Settings): void; + unref(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + addListener(event: "localSettings", listener: (settings: Settings) => void): this; + addListener(event: "ping", listener: () => void): this; + addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; + emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; + emit(event: "localSettings", settings: Settings): boolean; + emit(event: "ping"): boolean; + emit(event: "remoteSettings", settings: Settings): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + on(event: "localSettings", listener: (settings: Settings) => void): this; + on(event: "ping", listener: () => void): this; + on(event: "remoteSettings", listener: (settings: Settings) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + once(event: "localSettings", listener: (settings: Settings) => void): this; + once(event: "ping", listener: () => void): this; + once(event: "remoteSettings", listener: (settings: Settings) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependListener(event: "ping", listener: () => void): this; + prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; + prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; + prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "ping", listener: () => void): this; + prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface ClientHttp2Session extends Http2Session { + request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; + + addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + addListener(event: "origin", listener: (origins: string[]) => void): this; + addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; + emit(event: "origin", origins: string[]): boolean; + emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + on(event: "origin", listener: (origins: string[]) => void): this; + on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + once(event: "origin", listener: (origins: string[]) => void): this; + once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependListener(event: "origin", listener: (origins: string[]) => void): this; + prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; + prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; + prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export interface AlternativeServiceOptions { + origin: number | string | url.URL; + } + + export interface ServerHttp2Session extends Http2Session { + readonly server: Http2Server | Http2SecureServer; + + altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; + origin(...args: Array): void; + + addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Http2Server + + export interface SessionOptions { + maxDeflateDynamicTableSize?: number; + maxSessionMemory?: number; + maxHeaderListPairs?: number; + maxOutstandingPings?: number; + maxSendHeaderBlockLength?: number; + paddingStrategy?: number; + peerMaxConcurrentStreams?: number; + settings?: Settings; + + selectPadding?(frameLen: number, maxFrameLen: number): number; + createConnection?(authority: url.URL, option: SessionOptions): stream.Duplex; + } + + export interface ClientSessionOptions extends SessionOptions { + maxReservedRemoteStreams?: number; + createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; + } + + export interface ServerSessionOptions extends SessionOptions { + Http1IncomingMessage?: typeof IncomingMessage; + Http1ServerResponse?: typeof ServerResponse; + Http2ServerRequest?: typeof Http2ServerRequest; + Http2ServerResponse?: typeof Http2ServerResponse; + } + + export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } + export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } + + export interface ServerOptions extends ServerSessionOptions { } + + export interface SecureServerOptions extends SecureServerSessionOptions { + allowHTTP1?: boolean; + origins?: string[]; + } + + export interface Http2Server extends net.Server { + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export interface Http2SecureServer extends tls.Server { + addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + addListener(event: "sessionError", listener: (err: Error) => void): this; + addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + addListener(event: "timeout", listener: () => void): this; + addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; + emit(event: "session", session: ServerHttp2Session): boolean; + emit(event: "sessionError", err: Error): boolean; + emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; + emit(event: "timeout"): boolean; + emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + on(event: "session", listener: (session: ServerHttp2Session) => void): this; + on(event: "sessionError", listener: (err: Error) => void): this; + on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + on(event: "timeout", listener: () => void): this; + on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + once(event: "session", listener: (session: ServerHttp2Session) => void): this; + once(event: "sessionError", listener: (err: Error) => void): this; + once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + once(event: "timeout", listener: () => void): this; + once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependListener(event: "sessionError", listener: (err: Error) => void): this; + prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependListener(event: "timeout", listener: () => void): this; + prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; + prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; + prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; + prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + setTimeout(msec?: number, callback?: () => void): this; + } + + export class Http2ServerRequest extends stream.Readable { + constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: string[]); + + readonly aborted: boolean; + readonly authority: string; + readonly headers: IncomingHttpHeaders; + readonly httpVersion: string; + readonly method: string; + readonly rawHeaders: string[]; + readonly rawTrailers: string[]; + readonly scheme: string; + readonly socket: net.Socket | tls.TLSSocket; + readonly stream: ServerHttp2Stream; + readonly trailers: IncomingHttpHeaders; + readonly url: string; + + setTimeout(msecs: number, callback?: () => void): void; + read(size?: number): Buffer | string | null; + + addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: Buffer | string) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "aborted", hadError: boolean, code: number): boolean; + emit(event: "close"): boolean; + emit(event: "data", chunk: Buffer | string): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: Buffer | string) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: Buffer | string) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + export class Http2ServerResponse extends stream.Stream { + constructor(stream: ServerHttp2Stream); + + readonly connection: net.Socket | tls.TLSSocket; + readonly finished: boolean; + readonly headersSent: boolean; + readonly socket: net.Socket | tls.TLSSocket; + readonly stream: ServerHttp2Stream; + sendDate: boolean; + statusCode: number; + statusMessage: ''; + addTrailers(trailers: OutgoingHttpHeaders): void; + end(callback?: () => void): void; + end(data: string | Uint8Array, callback?: () => void): void; + end(data: string | Uint8Array, encoding: string, callback?: () => void): void; + getHeader(name: string): string; + getHeaderNames(): string[]; + getHeaders(): OutgoingHttpHeaders; + hasHeader(name: string): boolean; + removeHeader(name: string): void; + setHeader(name: string, value: number | string | string[]): void; + setTimeout(msecs: number, callback?: () => void): void; + write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; + write(chunk: string | Uint8Array, encoding: string, callback?: (err: Error) => void): boolean; + writeContinue(): void; + writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; + writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; + createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (error: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: stream.Readable) => void): this; + addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", error: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: stream.Readable): boolean; + emit(event: "unpipe", src: stream.Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (error: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: stream.Readable) => void): this; + on(event: "unpipe", listener: (src: stream.Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (error: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: stream.Readable) => void): this; + once(event: "unpipe", listener: (src: stream.Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (error: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (error: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + // Public API + + export namespace constants { + const NGHTTP2_SESSION_SERVER: number; + const NGHTTP2_SESSION_CLIENT: number; + const NGHTTP2_STREAM_STATE_IDLE: number; + const NGHTTP2_STREAM_STATE_OPEN: number; + const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; + const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; + const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; + const NGHTTP2_STREAM_STATE_CLOSED: number; + const NGHTTP2_NO_ERROR: number; + const NGHTTP2_PROTOCOL_ERROR: number; + const NGHTTP2_INTERNAL_ERROR: number; + const NGHTTP2_FLOW_CONTROL_ERROR: number; + const NGHTTP2_SETTINGS_TIMEOUT: number; + const NGHTTP2_STREAM_CLOSED: number; + const NGHTTP2_FRAME_SIZE_ERROR: number; + const NGHTTP2_REFUSED_STREAM: number; + const NGHTTP2_CANCEL: number; + const NGHTTP2_COMPRESSION_ERROR: number; + const NGHTTP2_CONNECT_ERROR: number; + const NGHTTP2_ENHANCE_YOUR_CALM: number; + const NGHTTP2_INADEQUATE_SECURITY: number; + const NGHTTP2_HTTP_1_1_REQUIRED: number; + const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; + const NGHTTP2_FLAG_NONE: number; + const NGHTTP2_FLAG_END_STREAM: number; + const NGHTTP2_FLAG_END_HEADERS: number; + const NGHTTP2_FLAG_ACK: number; + const NGHTTP2_FLAG_PADDED: number; + const NGHTTP2_FLAG_PRIORITY: number; + const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; + const DEFAULT_SETTINGS_ENABLE_PUSH: number; + const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; + const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; + const MAX_MAX_FRAME_SIZE: number; + const MIN_MAX_FRAME_SIZE: number; + const MAX_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_DEFAULT_WEIGHT: number; + const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; + const NGHTTP2_SETTINGS_ENABLE_PUSH: number; + const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; + const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; + const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; + const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; + const PADDING_STRATEGY_NONE: number; + const PADDING_STRATEGY_MAX: number; + const PADDING_STRATEGY_CALLBACK: number; + const HTTP2_HEADER_STATUS: string; + const HTTP2_HEADER_METHOD: string; + const HTTP2_HEADER_AUTHORITY: string; + const HTTP2_HEADER_SCHEME: string; + const HTTP2_HEADER_PATH: string; + const HTTP2_HEADER_ACCEPT_CHARSET: string; + const HTTP2_HEADER_ACCEPT_ENCODING: string; + const HTTP2_HEADER_ACCEPT_LANGUAGE: string; + const HTTP2_HEADER_ACCEPT_RANGES: string; + const HTTP2_HEADER_ACCEPT: string; + const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; + const HTTP2_HEADER_AGE: string; + const HTTP2_HEADER_ALLOW: string; + const HTTP2_HEADER_AUTHORIZATION: string; + const HTTP2_HEADER_CACHE_CONTROL: string; + const HTTP2_HEADER_CONNECTION: string; + const HTTP2_HEADER_CONTENT_DISPOSITION: string; + const HTTP2_HEADER_CONTENT_ENCODING: string; + const HTTP2_HEADER_CONTENT_LANGUAGE: string; + const HTTP2_HEADER_CONTENT_LENGTH: string; + const HTTP2_HEADER_CONTENT_LOCATION: string; + const HTTP2_HEADER_CONTENT_MD5: string; + const HTTP2_HEADER_CONTENT_RANGE: string; + const HTTP2_HEADER_CONTENT_TYPE: string; + const HTTP2_HEADER_COOKIE: string; + const HTTP2_HEADER_DATE: string; + const HTTP2_HEADER_ETAG: string; + const HTTP2_HEADER_EXPECT: string; + const HTTP2_HEADER_EXPIRES: string; + const HTTP2_HEADER_FROM: string; + const HTTP2_HEADER_HOST: string; + const HTTP2_HEADER_IF_MATCH: string; + const HTTP2_HEADER_IF_MODIFIED_SINCE: string; + const HTTP2_HEADER_IF_NONE_MATCH: string; + const HTTP2_HEADER_IF_RANGE: string; + const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; + const HTTP2_HEADER_LAST_MODIFIED: string; + const HTTP2_HEADER_LINK: string; + const HTTP2_HEADER_LOCATION: string; + const HTTP2_HEADER_MAX_FORWARDS: string; + const HTTP2_HEADER_PREFER: string; + const HTTP2_HEADER_PROXY_AUTHENTICATE: string; + const HTTP2_HEADER_PROXY_AUTHORIZATION: string; + const HTTP2_HEADER_RANGE: string; + const HTTP2_HEADER_REFERER: string; + const HTTP2_HEADER_REFRESH: string; + const HTTP2_HEADER_RETRY_AFTER: string; + const HTTP2_HEADER_SERVER: string; + const HTTP2_HEADER_SET_COOKIE: string; + const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; + const HTTP2_HEADER_TRANSFER_ENCODING: string; + const HTTP2_HEADER_TE: string; + const HTTP2_HEADER_UPGRADE: string; + const HTTP2_HEADER_USER_AGENT: string; + const HTTP2_HEADER_VARY: string; + const HTTP2_HEADER_VIA: string; + const HTTP2_HEADER_WWW_AUTHENTICATE: string; + const HTTP2_HEADER_HTTP2_SETTINGS: string; + const HTTP2_HEADER_KEEP_ALIVE: string; + const HTTP2_HEADER_PROXY_CONNECTION: string; + const HTTP2_METHOD_ACL: string; + const HTTP2_METHOD_BASELINE_CONTROL: string; + const HTTP2_METHOD_BIND: string; + const HTTP2_METHOD_CHECKIN: string; + const HTTP2_METHOD_CHECKOUT: string; + const HTTP2_METHOD_CONNECT: string; + const HTTP2_METHOD_COPY: string; + const HTTP2_METHOD_DELETE: string; + const HTTP2_METHOD_GET: string; + const HTTP2_METHOD_HEAD: string; + const HTTP2_METHOD_LABEL: string; + const HTTP2_METHOD_LINK: string; + const HTTP2_METHOD_LOCK: string; + const HTTP2_METHOD_MERGE: string; + const HTTP2_METHOD_MKACTIVITY: string; + const HTTP2_METHOD_MKCALENDAR: string; + const HTTP2_METHOD_MKCOL: string; + const HTTP2_METHOD_MKREDIRECTREF: string; + const HTTP2_METHOD_MKWORKSPACE: string; + const HTTP2_METHOD_MOVE: string; + const HTTP2_METHOD_OPTIONS: string; + const HTTP2_METHOD_ORDERPATCH: string; + const HTTP2_METHOD_PATCH: string; + const HTTP2_METHOD_POST: string; + const HTTP2_METHOD_PRI: string; + const HTTP2_METHOD_PROPFIND: string; + const HTTP2_METHOD_PROPPATCH: string; + const HTTP2_METHOD_PUT: string; + const HTTP2_METHOD_REBIND: string; + const HTTP2_METHOD_REPORT: string; + const HTTP2_METHOD_SEARCH: string; + const HTTP2_METHOD_TRACE: string; + const HTTP2_METHOD_UNBIND: string; + const HTTP2_METHOD_UNCHECKOUT: string; + const HTTP2_METHOD_UNLINK: string; + const HTTP2_METHOD_UNLOCK: string; + const HTTP2_METHOD_UPDATE: string; + const HTTP2_METHOD_UPDATEREDIRECTREF: string; + const HTTP2_METHOD_VERSION_CONTROL: string; + const HTTP_STATUS_CONTINUE: number; + const HTTP_STATUS_SWITCHING_PROTOCOLS: number; + const HTTP_STATUS_PROCESSING: number; + const HTTP_STATUS_OK: number; + const HTTP_STATUS_CREATED: number; + const HTTP_STATUS_ACCEPTED: number; + const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; + const HTTP_STATUS_NO_CONTENT: number; + const HTTP_STATUS_RESET_CONTENT: number; + const HTTP_STATUS_PARTIAL_CONTENT: number; + const HTTP_STATUS_MULTI_STATUS: number; + const HTTP_STATUS_ALREADY_REPORTED: number; + const HTTP_STATUS_IM_USED: number; + const HTTP_STATUS_MULTIPLE_CHOICES: number; + const HTTP_STATUS_MOVED_PERMANENTLY: number; + const HTTP_STATUS_FOUND: number; + const HTTP_STATUS_SEE_OTHER: number; + const HTTP_STATUS_NOT_MODIFIED: number; + const HTTP_STATUS_USE_PROXY: number; + const HTTP_STATUS_TEMPORARY_REDIRECT: number; + const HTTP_STATUS_PERMANENT_REDIRECT: number; + const HTTP_STATUS_BAD_REQUEST: number; + const HTTP_STATUS_UNAUTHORIZED: number; + const HTTP_STATUS_PAYMENT_REQUIRED: number; + const HTTP_STATUS_FORBIDDEN: number; + const HTTP_STATUS_NOT_FOUND: number; + const HTTP_STATUS_METHOD_NOT_ALLOWED: number; + const HTTP_STATUS_NOT_ACCEPTABLE: number; + const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; + const HTTP_STATUS_REQUEST_TIMEOUT: number; + const HTTP_STATUS_CONFLICT: number; + const HTTP_STATUS_GONE: number; + const HTTP_STATUS_LENGTH_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_FAILED: number; + const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; + const HTTP_STATUS_URI_TOO_LONG: number; + const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; + const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; + const HTTP_STATUS_EXPECTATION_FAILED: number; + const HTTP_STATUS_TEAPOT: number; + const HTTP_STATUS_MISDIRECTED_REQUEST: number; + const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; + const HTTP_STATUS_LOCKED: number; + const HTTP_STATUS_FAILED_DEPENDENCY: number; + const HTTP_STATUS_UNORDERED_COLLECTION: number; + const HTTP_STATUS_UPGRADE_REQUIRED: number; + const HTTP_STATUS_PRECONDITION_REQUIRED: number; + const HTTP_STATUS_TOO_MANY_REQUESTS: number; + const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; + const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; + const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; + const HTTP_STATUS_NOT_IMPLEMENTED: number; + const HTTP_STATUS_BAD_GATEWAY: number; + const HTTP_STATUS_SERVICE_UNAVAILABLE: number; + const HTTP_STATUS_GATEWAY_TIMEOUT: number; + const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; + const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; + const HTTP_STATUS_INSUFFICIENT_STORAGE: number; + const HTTP_STATUS_LOOP_DETECTED: number; + const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; + const HTTP_STATUS_NOT_EXTENDED: number; + const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; + } + + export function getDefaultSettings(): Settings; + export function getPackedSettings(settings: Settings): Buffer; + export function getUnpackedSettings(buf: Uint8Array): Settings; + + export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; + + export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; + + export function connect(authority: string | url.URL, listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; + export function connect( + authority: string | url.URL, + options?: ClientSessionOptions | SecureClientSessionOptions, + listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void + ): ClientHttp2Session; +} diff --git a/node_modules/@types/node/https.d.ts b/node_modules/@types/node/https.d.ts new file mode 100644 index 0000000..6f33dbd --- /dev/null +++ b/node_modules/@types/node/https.d.ts @@ -0,0 +1,53 @@ +declare module "https" { + import * as tls from "tls"; + import * as events from "events"; + import * as http from "http"; + import { URL } from "url"; + + type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; + + type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { + rejectUnauthorized?: boolean; // Defaults to true + servername?: string; // SNI TLS Extension + }; + + interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { + rejectUnauthorized?: boolean; + maxCachedSessions?: number; + } + + class Agent extends http.Agent { + constructor(options?: AgentOptions); + options: AgentOptions; + } + + class Server extends tls.Server { + constructor(requestListener?: http.RequestListener); + constructor(options: ServerOptions, requestListener?: http.RequestListener); + + setTimeout(callback: () => void): this; + setTimeout(msecs?: number, callback?: () => void): this; + /** + * Limits maximum incoming headers count. If set to 0, no limit will be applied. + * @default 2000 + * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} + */ + maxHeadersCount: number | null; + timeout: number; + /** + * Limit the amount of time the parser will wait to receive the complete HTTP headers. + * @default 40000 + * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} + */ + headersTimeout: number; + keepAliveTimeout: number; + } + + function createServer(requestListener?: http.RequestListener): Server; + function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; + function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; + let globalAgent: Agent; +} diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts new file mode 100644 index 0000000..e4a3878 --- /dev/null +++ b/node_modules/@types/node/index.d.ts @@ -0,0 +1,102 @@ +// Type definitions for non-npm package Node.js 12.12 +// Project: http://nodejs.org/ +// Definitions by: Microsoft TypeScript +// DefinitelyTyped +// Alberto Schiabel +// Alexander T. +// Alvis HT Tang +// Andrew Makarov +// Benjamin Toueg +// Bruno Scheufler +// Chigozirim C. +// Christian Vaagland Tellnes +// David Junger +// Deividas Bakanas +// Eugene Y. Q. Shen +// Flarna +// Hannes Magnusson +// Hoàng Văn Khải +// Huw +// Kelvin Jin +// Klaus Meinhardt +// Lishude +// Mariusz Wiktorczyk +// Mohsen Azimi +// Nicolas Even +// Nicolas Voigt +// Nikita Galkin +// Parambir Singh +// Sebastian Silbermann +// Simon Schick +// Thomas den Hollander +// Wilco Bakker +// wwwy3y3 +// Zane Hannan AU +// Samuel Ainsworth +// Kyle Uehlein +// Jordi Oliveras Rovira +// Thanik Bhongbhibhat +// Marcin Kopacz +// Trivikram Kamat +// Minh Son Nguyen +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// NOTE: These definitions support NodeJS and TypeScript 3.2. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 + +// NOTE: Augmentations for TypeScript 3.2 and later should use individual files for overrides +// within the respective ~/ts3.2 (or later) folder. However, this is disallowed for versions +// prior to TypeScript 3.2, so the older definitions will be found here. + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +/// + +// TypeScript 2.1-specific augmentations: + +// Forward-declarations for needed types from es2015 and later (in case users are using `--lib es5`) +// Empty interfaces are used here which merge fine with the real declarations in the lib XXX files +// just to ensure the names are known and node typings can be sued without importing these libs. +// if someone really needs these types the libs need to be added via --lib or in tsconfig.json +interface MapConstructor { } +interface WeakMapConstructor { } +interface SetConstructor { } +interface WeakSetConstructor { } +interface Set {} +interface Map {} +interface ReadonlySet {} +interface Iterable { } +interface IteratorResult { } +interface AsyncIterable { } +interface Iterator { + next(value?: any): IteratorResult; +} +interface IterableIterator { } +interface AsyncIterableIterator {} +interface SymbolConstructor { + readonly iterator: symbol; + readonly asyncIterator: symbol; +} +declare var Symbol: SymbolConstructor; +// even this is just a forward declaration some properties are added otherwise +// it would be allowed to pass anything to e.g. Buffer.from() +interface SharedArrayBuffer { + readonly byteLength: number; + slice(begin?: number, end?: number): SharedArrayBuffer; +} + +declare module "util" { + namespace inspect { + const custom: symbol; + } + namespace promisify { + const custom: symbol; + } + namespace types { + function isBigInt64Array(value: any): boolean; + function isBigUint64Array(value: any): boolean; + } +} diff --git a/node_modules/@types/node/inspector.d.ts b/node_modules/@types/node/inspector.d.ts new file mode 100644 index 0000000..b14aed2 --- /dev/null +++ b/node_modules/@types/node/inspector.d.ts @@ -0,0 +1,3034 @@ +// tslint:disable-next-line:dt-header +// Type definitions for inspector + +// These definitions are auto-generated. +// Please see https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19330 +// for more information. + +// tslint:disable:max-line-length + +/** + * The inspector module provides an API for interacting with the V8 inspector. + */ +declare module "inspector" { + import { EventEmitter } from 'events'; + + interface InspectorNotification { + method: string; + params: T; + } + + namespace Schema { + /** + * Description of the protocol domain. + */ + interface Domain { + /** + * Domain name. + */ + name: string; + /** + * Domain version. + */ + version: string; + } + + interface GetDomainsReturnType { + /** + * List of supported domains. + */ + domains: Domain[]; + } + } + + namespace Runtime { + /** + * Unique script identifier. + */ + type ScriptId = string; + + /** + * Unique object identifier. + */ + type RemoteObjectId = string; + + /** + * Primitive value which cannot be JSON-stringified. + */ + type UnserializableValue = string; + + /** + * Mirror object referencing original JavaScript object. + */ + interface RemoteObject { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * Object class (constructor) name. Specified for object type values only. + */ + className?: string; + /** + * Remote object value in case of primitive values or JSON values (if it was requested). + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified does not have value, but gets this property. + */ + unserializableValue?: UnserializableValue; + /** + * String representation of the object. + */ + description?: string; + /** + * Unique object identifier (for non-primitive values). + */ + objectId?: RemoteObjectId; + /** + * Preview containing abbreviated property values. Specified for object type values only. + * @experimental + */ + preview?: ObjectPreview; + /** + * @experimental + */ + customPreview?: CustomPreview; + } + + /** + * @experimental + */ + interface CustomPreview { + header: string; + hasBody: boolean; + formatterObjectId: RemoteObjectId; + bindRemoteObjectFunctionId: RemoteObjectId; + configObjectId?: RemoteObjectId; + } + + /** + * Object containing abbreviated remote object value. + * @experimental + */ + interface ObjectPreview { + /** + * Object type. + */ + type: string; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + /** + * String representation of the object. + */ + description?: string; + /** + * True iff some of the properties or entries of the original object did not fit. + */ + overflow: boolean; + /** + * List of the properties. + */ + properties: PropertyPreview[]; + /** + * List of the entries. Specified for map and set subtype values only. + */ + entries?: EntryPreview[]; + } + + /** + * @experimental + */ + interface PropertyPreview { + /** + * Property name. + */ + name: string; + /** + * Object type. Accessor means that the property itself is an accessor property. + */ + type: string; + /** + * User-friendly property value string. + */ + value?: string; + /** + * Nested value preview. + */ + valuePreview?: ObjectPreview; + /** + * Object subtype hint. Specified for object type values only. + */ + subtype?: string; + } + + /** + * @experimental + */ + interface EntryPreview { + /** + * Preview of the key. Specified for map-like collection entries. + */ + key?: ObjectPreview; + /** + * Preview of the value. + */ + value: ObjectPreview; + } + + /** + * Object property descriptor. + */ + interface PropertyDescriptor { + /** + * Property name or symbol description. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + /** + * True if the value associated with the property may be changed (data descriptors only). + */ + writable?: boolean; + /** + * A function which serves as a getter for the property, or undefined if there is no getter (accessor descriptors only). + */ + get?: RemoteObject; + /** + * A function which serves as a setter for the property, or undefined if there is no setter (accessor descriptors only). + */ + set?: RemoteObject; + /** + * True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object. + */ + configurable: boolean; + /** + * True if this property shows up during enumeration of the properties on the corresponding object. + */ + enumerable: boolean; + /** + * True if the result was thrown during the evaluation. + */ + wasThrown?: boolean; + /** + * True if the property is owned for the object. + */ + isOwn?: boolean; + /** + * Property symbol object, if the property is of the symbol type. + */ + symbol?: RemoteObject; + } + + /** + * Object internal property descriptor. This property isn't normally visible in JavaScript code. + */ + interface InternalPropertyDescriptor { + /** + * Conventional property name. + */ + name: string; + /** + * The value associated with the property. + */ + value?: RemoteObject; + } + + /** + * Represents function call argument. Either remote object id objectId, primitive value, unserializable primitive value or neither of (for undefined) them should be specified. + */ + interface CallArgument { + /** + * Primitive value or serializable javascript object. + */ + value?: any; + /** + * Primitive value which can not be JSON-stringified. + */ + unserializableValue?: UnserializableValue; + /** + * Remote object handle. + */ + objectId?: RemoteObjectId; + } + + /** + * Id of an execution context. + */ + type ExecutionContextId = number; + + /** + * Description of an isolated world. + */ + interface ExecutionContextDescription { + /** + * Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed. + */ + id: ExecutionContextId; + /** + * Execution context origin. + */ + origin: string; + /** + * Human readable name describing given context. + */ + name: string; + /** + * Embedder-specific auxiliary data. + */ + auxData?: {}; + } + + /** + * Detailed information about exception (or error) that was thrown during script compilation or execution. + */ + interface ExceptionDetails { + /** + * Exception id. + */ + exceptionId: number; + /** + * Exception text, which should be used together with exception object when available. + */ + text: string; + /** + * Line number of the exception location (0-based). + */ + lineNumber: number; + /** + * Column number of the exception location (0-based). + */ + columnNumber: number; + /** + * Script ID of the exception location. + */ + scriptId?: ScriptId; + /** + * URL of the exception location, to be used when the script was not reported. + */ + url?: string; + /** + * JavaScript stack trace if available. + */ + stackTrace?: StackTrace; + /** + * Exception object if available. + */ + exception?: RemoteObject; + /** + * Identifier of the context where exception happened. + */ + executionContextId?: ExecutionContextId; + } + + /** + * Number of milliseconds since epoch. + */ + type Timestamp = number; + + /** + * Stack entry for runtime errors and assertions. + */ + interface CallFrame { + /** + * JavaScript function name. + */ + functionName: string; + /** + * JavaScript script id. + */ + scriptId: ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * JavaScript script line number (0-based). + */ + lineNumber: number; + /** + * JavaScript script column number (0-based). + */ + columnNumber: number; + } + + /** + * Call frames for assertions or error messages. + */ + interface StackTrace { + /** + * String label of this stack trace. For async traces this may be a name of the function that initiated the async call. + */ + description?: string; + /** + * JavaScript function name. + */ + callFrames: CallFrame[]; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + */ + parent?: StackTrace; + /** + * Asynchronous JavaScript stack trace that preceded this stack, if available. + * @experimental + */ + parentId?: StackTraceId; + } + + /** + * Unique identifier of current debugger. + * @experimental + */ + type UniqueDebuggerId = string; + + /** + * If debuggerId is set stack trace comes from another debugger and can be resolved there. This allows to track cross-debugger calls. See Runtime.StackTrace and Debugger.paused for usages. + * @experimental + */ + interface StackTraceId { + id: string; + debuggerId?: UniqueDebuggerId; + } + + interface EvaluateParameterType { + /** + * Expression to evaluate. + */ + expression: string; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Specifies in which execution context to perform evaluation. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + contextId?: ExecutionContextId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface AwaitPromiseParameterType { + /** + * Identifier of the promise. + */ + promiseObjectId: RemoteObjectId; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + } + + interface CallFunctionOnParameterType { + /** + * Declaration of the function to call. + */ + functionDeclaration: string; + /** + * Identifier of the object to call function on. Either objectId or executionContextId should be specified. + */ + objectId?: RemoteObjectId; + /** + * Call arguments. All call arguments must belong to the same JavaScript world as the target object. + */ + arguments?: CallArgument[]; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether execution should be treated as initiated by user in the UI. + */ + userGesture?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + /** + * Specifies execution context which global object will be used to call function on. Either executionContextId or objectId should be specified. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. If objectGroup is not specified and objectId is, objectGroup will be inherited from object. + */ + objectGroup?: string; + } + + interface GetPropertiesParameterType { + /** + * Identifier of the object to return properties for. + */ + objectId: RemoteObjectId; + /** + * If true, returns properties belonging only to the element itself, not to its prototype chain. + */ + ownProperties?: boolean; + /** + * If true, returns accessor properties (with getter/setter) only; internal properties are not returned either. + * @experimental + */ + accessorPropertiesOnly?: boolean; + /** + * Whether preview should be generated for the results. + * @experimental + */ + generatePreview?: boolean; + } + + interface ReleaseObjectParameterType { + /** + * Identifier of the object to release. + */ + objectId: RemoteObjectId; + } + + interface ReleaseObjectGroupParameterType { + /** + * Symbolic object group name. + */ + objectGroup: string; + } + + interface SetCustomObjectFormatterEnabledParameterType { + enabled: boolean; + } + + interface CompileScriptParameterType { + /** + * Expression to compile. + */ + expression: string; + /** + * Source url to be set for the script. + */ + sourceURL: string; + /** + * Specifies whether the compiled script should be persisted. + */ + persistScript: boolean; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + } + + interface RunScriptParameterType { + /** + * Id of the script to run. + */ + scriptId: ScriptId; + /** + * Specifies in which execution context to perform script run. If the parameter is omitted the evaluation will be performed in the context of the inspected page. + */ + executionContextId?: ExecutionContextId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Determines whether Command Line API should be available during the evaluation. + */ + includeCommandLineAPI?: boolean; + /** + * Whether the result is expected to be a JSON object which should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + */ + generatePreview?: boolean; + /** + * Whether execution should await for resulting value and return once awaited promise is resolved. + */ + awaitPromise?: boolean; + } + + interface QueryObjectsParameterType { + /** + * Identifier of the prototype to return objects for. + */ + prototypeObjectId: RemoteObjectId; + } + + interface GlobalLexicalScopeNamesParameterType { + /** + * Specifies in which execution context to lookup global scope variables. + */ + executionContextId?: ExecutionContextId; + } + + interface EvaluateReturnType { + /** + * Evaluation result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface AwaitPromiseReturnType { + /** + * Promise result. Will contain rejected value if promise was rejected. + */ + result: RemoteObject; + /** + * Exception details if stack strace is available. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CallFunctionOnReturnType { + /** + * Call result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface GetPropertiesReturnType { + /** + * Object properties. + */ + result: PropertyDescriptor[]; + /** + * Internal object properties (only of the element itself). + */ + internalProperties?: InternalPropertyDescriptor[]; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface CompileScriptReturnType { + /** + * Id of the script. + */ + scriptId?: ScriptId; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface RunScriptReturnType { + /** + * Run result. + */ + result: RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: ExceptionDetails; + } + + interface QueryObjectsReturnType { + /** + * Array with objects. + */ + objects: RemoteObject; + } + + interface GlobalLexicalScopeNamesReturnType { + names: string[]; + } + + interface ExecutionContextCreatedEventDataType { + /** + * A newly created execution context. + */ + context: ExecutionContextDescription; + } + + interface ExecutionContextDestroyedEventDataType { + /** + * Id of the destroyed context + */ + executionContextId: ExecutionContextId; + } + + interface ExceptionThrownEventDataType { + /** + * Timestamp of the exception. + */ + timestamp: Timestamp; + exceptionDetails: ExceptionDetails; + } + + interface ExceptionRevokedEventDataType { + /** + * Reason describing why exception was revoked. + */ + reason: string; + /** + * The id of revoked exception, as reported in exceptionThrown. + */ + exceptionId: number; + } + + interface ConsoleAPICalledEventDataType { + /** + * Type of the call. + */ + type: string; + /** + * Call arguments. + */ + args: RemoteObject[]; + /** + * Identifier of the context where the call was made. + */ + executionContextId: ExecutionContextId; + /** + * Call timestamp. + */ + timestamp: Timestamp; + /** + * Stack trace captured when the call was made. + */ + stackTrace?: StackTrace; + /** + * Console context descriptor for calls on non-default console context (not console.*): 'anonymous#unique-logger-id' for call on unnamed context, 'name#unique-logger-id' for call on named context. + * @experimental + */ + context?: string; + } + + interface InspectRequestedEventDataType { + object: RemoteObject; + hints: {}; + } + } + + namespace Debugger { + /** + * Breakpoint identifier. + */ + type BreakpointId = string; + + /** + * Call frame identifier. + */ + type CallFrameId = string; + + /** + * Location in the source code. + */ + interface Location { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + } + + /** + * Location in the source code. + * @experimental + */ + interface ScriptPosition { + lineNumber: number; + columnNumber: number; + } + + /** + * JavaScript call frame. Array of call frames form the call stack. + */ + interface CallFrame { + /** + * Call frame identifier. This identifier is only valid while the virtual machine is paused. + */ + callFrameId: CallFrameId; + /** + * Name of the JavaScript function called on this call frame. + */ + functionName: string; + /** + * Location in the source code. + */ + functionLocation?: Location; + /** + * Location in the source code. + */ + location: Location; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Scope chain for this call frame. + */ + scopeChain: Scope[]; + /** + * this object for this call frame. + */ + this: Runtime.RemoteObject; + /** + * The value being returned, if the function is at return point. + */ + returnValue?: Runtime.RemoteObject; + } + + /** + * Scope description. + */ + interface Scope { + /** + * Scope type. + */ + type: string; + /** + * Object representing the scope. For global and with scopes it represents the actual object; for the rest of the scopes, it is artificial transient object enumerating scope variables as its properties. + */ + object: Runtime.RemoteObject; + name?: string; + /** + * Location in the source code where scope starts + */ + startLocation?: Location; + /** + * Location in the source code where scope ends + */ + endLocation?: Location; + } + + /** + * Search match for resource. + */ + interface SearchMatch { + /** + * Line number in resource content. + */ + lineNumber: number; + /** + * Line with match content. + */ + lineContent: string; + } + + interface BreakLocation { + /** + * Script identifier as reported in the Debugger.scriptParsed. + */ + scriptId: Runtime.ScriptId; + /** + * Line number in the script (0-based). + */ + lineNumber: number; + /** + * Column number in the script (0-based). + */ + columnNumber?: number; + type?: string; + } + + interface SetBreakpointsActiveParameterType { + /** + * New value for breakpoints active state. + */ + active: boolean; + } + + interface SetSkipAllPausesParameterType { + /** + * New value for skip pauses state. + */ + skip: boolean; + } + + interface SetBreakpointByUrlParameterType { + /** + * Line number to set breakpoint at. + */ + lineNumber: number; + /** + * URL of the resources to set breakpoint on. + */ + url?: string; + /** + * Regex pattern for the URLs of the resources to set breakpoints on. Either url or urlRegex must be specified. + */ + urlRegex?: string; + /** + * Script hash of the resources to set breakpoint on. + */ + scriptHash?: string; + /** + * Offset in the line to set breakpoint at. + */ + columnNumber?: number; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface SetBreakpointParameterType { + /** + * Location to set breakpoint in. + */ + location: Location; + /** + * Expression to use as a breakpoint condition. When specified, debugger will only stop on the breakpoint if this expression evaluates to true. + */ + condition?: string; + } + + interface RemoveBreakpointParameterType { + breakpointId: BreakpointId; + } + + interface GetPossibleBreakpointsParameterType { + /** + * Start of range to search possible breakpoint locations in. + */ + start: Location; + /** + * End of range to search possible breakpoint locations in (excluding). When not specified, end of scripts is used as end of range. + */ + end?: Location; + /** + * Only consider locations which are in the same (non-nested) function as start. + */ + restrictToFunction?: boolean; + } + + interface ContinueToLocationParameterType { + /** + * Location to continue to. + */ + location: Location; + targetCallFrames?: string; + } + + interface PauseOnAsyncCallParameterType { + /** + * Debugger will pause when async call with given stack trace is started. + */ + parentStackTraceId: Runtime.StackTraceId; + } + + interface StepIntoParameterType { + /** + * Debugger will issue additional Debugger.paused notification if any async task is scheduled before next pause. + * @experimental + */ + breakOnAsyncCall?: boolean; + } + + interface GetStackTraceParameterType { + stackTraceId: Runtime.StackTraceId; + } + + interface SearchInContentParameterType { + /** + * Id of the script to search in. + */ + scriptId: Runtime.ScriptId; + /** + * String to search for. + */ + query: string; + /** + * If true, search is case sensitive. + */ + caseSensitive?: boolean; + /** + * If true, treats string parameter as regex. + */ + isRegex?: boolean; + } + + interface SetScriptSourceParameterType { + /** + * Id of the script to edit. + */ + scriptId: Runtime.ScriptId; + /** + * New content of the script. + */ + scriptSource: string; + /** + * If true the change will not actually be applied. Dry run may be used to get result description without actually modifying the code. + */ + dryRun?: boolean; + } + + interface RestartFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + } + + interface GetScriptSourceParameterType { + /** + * Id of the script to get source for. + */ + scriptId: Runtime.ScriptId; + } + + interface SetPauseOnExceptionsParameterType { + /** + * Pause on exceptions mode. + */ + state: string; + } + + interface EvaluateOnCallFrameParameterType { + /** + * Call frame identifier to evaluate on. + */ + callFrameId: CallFrameId; + /** + * Expression to evaluate. + */ + expression: string; + /** + * String object group name to put result into (allows rapid releasing resulting object handles using releaseObjectGroup). + */ + objectGroup?: string; + /** + * Specifies whether command line API should be available to the evaluated expression, defaults to false. + */ + includeCommandLineAPI?: boolean; + /** + * In silent mode exceptions thrown during evaluation are not reported and do not pause execution. Overrides setPauseOnException state. + */ + silent?: boolean; + /** + * Whether the result is expected to be a JSON object that should be sent by value. + */ + returnByValue?: boolean; + /** + * Whether preview should be generated for the result. + * @experimental + */ + generatePreview?: boolean; + /** + * Whether to throw an exception if side effect cannot be ruled out during evaluation. + */ + throwOnSideEffect?: boolean; + } + + interface SetVariableValueParameterType { + /** + * 0-based number of scope as was listed in scope chain. Only 'local', 'closure' and 'catch' scope types are allowed. Other scopes could be manipulated manually. + */ + scopeNumber: number; + /** + * Variable name. + */ + variableName: string; + /** + * New variable value. + */ + newValue: Runtime.CallArgument; + /** + * Id of callframe that holds variable. + */ + callFrameId: CallFrameId; + } + + interface SetReturnValueParameterType { + /** + * New return value. + */ + newValue: Runtime.CallArgument; + } + + interface SetAsyncCallStackDepthParameterType { + /** + * Maximum depth of async call stacks. Setting to 0 will effectively disable collecting async call stacks (default). + */ + maxDepth: number; + } + + interface SetBlackboxPatternsParameterType { + /** + * Array of regexps that will be used to check script url for blackbox state. + */ + patterns: string[]; + } + + interface SetBlackboxedRangesParameterType { + /** + * Id of the script. + */ + scriptId: Runtime.ScriptId; + positions: ScriptPosition[]; + } + + interface EnableReturnType { + /** + * Unique identifier of the debugger. + * @experimental + */ + debuggerId: Runtime.UniqueDebuggerId; + } + + interface SetBreakpointByUrlReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * List of the locations this breakpoint resolved into upon addition. + */ + locations: Location[]; + } + + interface SetBreakpointReturnType { + /** + * Id of the created breakpoint for further reference. + */ + breakpointId: BreakpointId; + /** + * Location this breakpoint resolved into. + */ + actualLocation: Location; + } + + interface GetPossibleBreakpointsReturnType { + /** + * List of the possible breakpoint locations. + */ + locations: BreakLocation[]; + } + + interface GetStackTraceReturnType { + stackTrace: Runtime.StackTrace; + } + + interface SearchInContentReturnType { + /** + * List of search matches. + */ + result: SearchMatch[]; + } + + interface SetScriptSourceReturnType { + /** + * New stack trace in case editing has happened while VM was stopped. + */ + callFrames?: CallFrame[]; + /** + * Whether current call stack was modified after applying the changes. + */ + stackChanged?: boolean; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Exception details if any. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface RestartFrameReturnType { + /** + * New stack trace. + */ + callFrames: CallFrame[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + } + + interface GetScriptSourceReturnType { + /** + * Script source. + */ + scriptSource: string; + } + + interface EvaluateOnCallFrameReturnType { + /** + * Object wrapper for the evaluation result. + */ + result: Runtime.RemoteObject; + /** + * Exception details. + */ + exceptionDetails?: Runtime.ExceptionDetails; + } + + interface ScriptParsedEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * True, if this script is generated as a result of the live edit operation. + * @experimental + */ + isLiveEdit?: boolean; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface ScriptFailedToParseEventDataType { + /** + * Identifier of the script parsed. + */ + scriptId: Runtime.ScriptId; + /** + * URL or name of the script parsed (if any). + */ + url: string; + /** + * Line offset of the script within the resource with given URL (for script tags). + */ + startLine: number; + /** + * Column offset of the script within the resource with given URL. + */ + startColumn: number; + /** + * Last line of the script. + */ + endLine: number; + /** + * Length of the last line of the script. + */ + endColumn: number; + /** + * Specifies script creation context. + */ + executionContextId: Runtime.ExecutionContextId; + /** + * Content hash of the script. + */ + hash: string; + /** + * Embedder-specific auxiliary data. + */ + executionContextAuxData?: {}; + /** + * URL of source map associated with script (if any). + */ + sourceMapURL?: string; + /** + * True, if this script has sourceURL. + */ + hasSourceURL?: boolean; + /** + * True, if this script is ES6 module. + */ + isModule?: boolean; + /** + * This script length. + */ + length?: number; + /** + * JavaScript top stack frame of where the script parsed event was triggered if available. + * @experimental + */ + stackTrace?: Runtime.StackTrace; + } + + interface BreakpointResolvedEventDataType { + /** + * Breakpoint unique identifier. + */ + breakpointId: BreakpointId; + /** + * Actual breakpoint location. + */ + location: Location; + } + + interface PausedEventDataType { + /** + * Call stack the virtual machine stopped on. + */ + callFrames: CallFrame[]; + /** + * Pause reason. + */ + reason: string; + /** + * Object containing break-specific auxiliary properties. + */ + data?: {}; + /** + * Hit breakpoints IDs + */ + hitBreakpoints?: string[]; + /** + * Async stack trace, if any. + */ + asyncStackTrace?: Runtime.StackTrace; + /** + * Async stack trace, if any. + * @experimental + */ + asyncStackTraceId?: Runtime.StackTraceId; + /** + * Just scheduled async call will have this stack trace as parent stack during async execution. This field is available only after Debugger.stepInto call with breakOnAsynCall flag. + * @experimental + */ + asyncCallStackTraceId?: Runtime.StackTraceId; + } + } + + namespace Console { + /** + * Console message. + */ + interface ConsoleMessage { + /** + * Message source. + */ + source: string; + /** + * Message severity. + */ + level: string; + /** + * Message text. + */ + text: string; + /** + * URL of the message origin. + */ + url?: string; + /** + * Line number in the resource that generated this message (1-based). + */ + line?: number; + /** + * Column number in the resource that generated this message (1-based). + */ + column?: number; + } + + interface MessageAddedEventDataType { + /** + * Console message that has been added. + */ + message: ConsoleMessage; + } + } + + namespace Profiler { + /** + * Profile node. Holds callsite information, execution statistics and child nodes. + */ + interface ProfileNode { + /** + * Unique id of the node. + */ + id: number; + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Number of samples where this node was on top of the call stack. + */ + hitCount?: number; + /** + * Child node ids. + */ + children?: number[]; + /** + * The reason of being not optimized. The function may be deoptimized or marked as don't optimize. + */ + deoptReason?: string; + /** + * An array of source position ticks. + */ + positionTicks?: PositionTickInfo[]; + } + + /** + * Profile. + */ + interface Profile { + /** + * The list of profile nodes. First item is the root node. + */ + nodes: ProfileNode[]; + /** + * Profiling start timestamp in microseconds. + */ + startTime: number; + /** + * Profiling end timestamp in microseconds. + */ + endTime: number; + /** + * Ids of samples top nodes. + */ + samples?: number[]; + /** + * Time intervals between adjacent samples in microseconds. The first delta is relative to the profile startTime. + */ + timeDeltas?: number[]; + } + + /** + * Specifies a number of samples attributed to a certain source position. + */ + interface PositionTickInfo { + /** + * Source line number (1-based). + */ + line: number; + /** + * Number of samples attributed to the source line. + */ + ticks: number; + } + + /** + * Coverage data for a source range. + */ + interface CoverageRange { + /** + * JavaScript script source offset for the range start. + */ + startOffset: number; + /** + * JavaScript script source offset for the range end. + */ + endOffset: number; + /** + * Collected execution count of the source range. + */ + count: number; + } + + /** + * Coverage data for a JavaScript function. + */ + interface FunctionCoverage { + /** + * JavaScript function name. + */ + functionName: string; + /** + * Source ranges inside the function with coverage data. + */ + ranges: CoverageRange[]; + /** + * Whether coverage data for this function has block granularity. + */ + isBlockCoverage: boolean; + } + + /** + * Coverage data for a JavaScript script. + */ + interface ScriptCoverage { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Functions contained in the script that has coverage data. + */ + functions: FunctionCoverage[]; + } + + /** + * Describes a type collected during runtime. + * @experimental + */ + interface TypeObject { + /** + * Name of a type collected with type profiling. + */ + name: string; + } + + /** + * Source offset and types for a parameter or return value. + * @experimental + */ + interface TypeProfileEntry { + /** + * Source offset of the parameter or end of function for return values. + */ + offset: number; + /** + * The types for this parameter or return value. + */ + types: TypeObject[]; + } + + /** + * Type profile data collected during runtime for a JavaScript script. + * @experimental + */ + interface ScriptTypeProfile { + /** + * JavaScript script id. + */ + scriptId: Runtime.ScriptId; + /** + * JavaScript script name or url. + */ + url: string; + /** + * Type profile entries for parameters and return values of the functions in the script. + */ + entries: TypeProfileEntry[]; + } + + interface SetSamplingIntervalParameterType { + /** + * New sampling interval in microseconds. + */ + interval: number; + } + + interface StartPreciseCoverageParameterType { + /** + * Collect accurate call counts beyond simple 'covered' or 'not covered'. + */ + callCount?: boolean; + /** + * Collect block-based coverage. + */ + detailed?: boolean; + } + + interface StopReturnType { + /** + * Recorded profile. + */ + profile: Profile; + } + + interface TakePreciseCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface GetBestEffortCoverageReturnType { + /** + * Coverage data for the current isolate. + */ + result: ScriptCoverage[]; + } + + interface TakeTypeProfileReturnType { + /** + * Type profile for all scripts since startTypeProfile() was turned on. + */ + result: ScriptTypeProfile[]; + } + + interface ConsoleProfileStartedEventDataType { + id: string; + /** + * Location of console.profile(). + */ + location: Debugger.Location; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + + interface ConsoleProfileFinishedEventDataType { + id: string; + /** + * Location of console.profileEnd(). + */ + location: Debugger.Location; + profile: Profile; + /** + * Profile title passed as an argument to console.profile(). + */ + title?: string; + } + } + + namespace HeapProfiler { + /** + * Heap snapshot object id. + */ + type HeapSnapshotObjectId = string; + + /** + * Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes. + */ + interface SamplingHeapProfileNode { + /** + * Function location. + */ + callFrame: Runtime.CallFrame; + /** + * Allocations size in bytes for the node excluding children. + */ + selfSize: number; + /** + * Child nodes. + */ + children: SamplingHeapProfileNode[]; + } + + /** + * Profile. + */ + interface SamplingHeapProfile { + head: SamplingHeapProfileNode; + } + + interface StartTrackingHeapObjectsParameterType { + trackAllocations?: boolean; + } + + interface StopTrackingHeapObjectsParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped. + */ + reportProgress?: boolean; + } + + interface TakeHeapSnapshotParameterType { + /** + * If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken. + */ + reportProgress?: boolean; + } + + interface GetObjectByHeapObjectIdParameterType { + objectId: HeapSnapshotObjectId; + /** + * Symbolic group name that can be used to release multiple objects. + */ + objectGroup?: string; + } + + interface AddInspectedHeapObjectParameterType { + /** + * Heap snapshot object id to be accessible by means of $x command line API. + */ + heapObjectId: HeapSnapshotObjectId; + } + + interface GetHeapObjectIdParameterType { + /** + * Identifier of the object to get heap object id for. + */ + objectId: Runtime.RemoteObjectId; + } + + interface StartSamplingParameterType { + /** + * Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes. + */ + samplingInterval?: number; + } + + interface GetObjectByHeapObjectIdReturnType { + /** + * Evaluation result. + */ + result: Runtime.RemoteObject; + } + + interface GetHeapObjectIdReturnType { + /** + * Id of the heap snapshot object corresponding to the passed remote object id. + */ + heapSnapshotObjectId: HeapSnapshotObjectId; + } + + interface StopSamplingReturnType { + /** + * Recorded sampling heap profile. + */ + profile: SamplingHeapProfile; + } + + interface GetSamplingProfileReturnType { + /** + * Return the sampling profile being collected. + */ + profile: SamplingHeapProfile; + } + + interface AddHeapSnapshotChunkEventDataType { + chunk: string; + } + + interface ReportHeapSnapshotProgressEventDataType { + done: number; + total: number; + finished?: boolean; + } + + interface LastSeenObjectIdEventDataType { + lastSeenObjectId: number; + timestamp: number; + } + + interface HeapStatsUpdateEventDataType { + /** + * An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment. + */ + statsUpdate: number[]; + } + } + + namespace NodeTracing { + interface TraceConfig { + /** + * Controls how the trace buffer stores data. + */ + recordMode?: string; + /** + * Included category filters. + */ + includedCategories: string[]; + } + + interface StartParameterType { + traceConfig: TraceConfig; + } + + interface GetCategoriesReturnType { + /** + * A list of supported tracing categories. + */ + categories: string[]; + } + + interface DataCollectedEventDataType { + value: Array<{}>; + } + } + + namespace NodeWorker { + type WorkerID = string; + + /** + * Unique identifier of attached debugging session. + */ + type SessionID = string; + + interface WorkerInfo { + workerId: WorkerID; + type: string; + title: string; + url: string; + } + + interface SendMessageToWorkerParameterType { + message: string; + /** + * Identifier of the session. + */ + sessionId: SessionID; + } + + interface EnableParameterType { + /** + * Whether to new workers should be paused until the frontend sends `Runtime.runIfWaitingForDebugger` + * message to run them. + */ + waitForDebuggerOnStart: boolean; + } + + interface DetachParameterType { + sessionId: SessionID; + } + + interface AttachedToWorkerEventDataType { + /** + * Identifier assigned to the session used to send/receive messages. + */ + sessionId: SessionID; + workerInfo: WorkerInfo; + waitingForDebugger: boolean; + } + + interface DetachedFromWorkerEventDataType { + /** + * Detached session identifier. + */ + sessionId: SessionID; + } + + interface ReceivedMessageFromWorkerEventDataType { + /** + * Identifier of a session which sends a message. + */ + sessionId: SessionID; + message: string; + } + } + + namespace NodeRuntime { + interface NotifyWhenWaitingForDisconnectParameterType { + enabled: boolean; + } + } + + /** + * The inspector.Session is used for dispatching messages to the V8 inspector back-end and receiving message responses and notifications. + */ + class Session extends EventEmitter { + /** + * Create a new instance of the inspector.Session class. + * The inspector session needs to be connected through session.connect() before the messages can be dispatched to the inspector backend. + */ + constructor(); + + /** + * Connects a session to the inspector back-end. + * An exception will be thrown if there is already a connected session established either + * through the API or by a front-end connected to the Inspector WebSocket port. + */ + connect(): void; + + /** + * Immediately close the session. All pending message callbacks will be called with an error. + * session.connect() will need to be called to be able to send messages again. + * Reconnected session will lose all inspector state, such as enabled agents or configured breakpoints. + */ + disconnect(): void; + + /** + * Posts a message to the inspector back-end. callback will be notified when a response is received. + * callback is a function that accepts two optional arguments - error and message-specific result. + */ + post(method: string, params?: {}, callback?: (err: Error | null, params?: {}) => void): void; + post(method: string, callback?: (err: Error | null, params?: {}) => void): void; + + /** + * Returns supported domains. + */ + post(method: "Schema.getDomains", callback?: (err: Error | null, params: Schema.GetDomainsReturnType) => void): void; + + /** + * Evaluates expression on global object. + */ + post(method: "Runtime.evaluate", params?: Runtime.EvaluateParameterType, callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + post(method: "Runtime.evaluate", callback?: (err: Error | null, params: Runtime.EvaluateReturnType) => void): void; + + /** + * Add handler to promise with given promise object id. + */ + post(method: "Runtime.awaitPromise", params?: Runtime.AwaitPromiseParameterType, callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + post(method: "Runtime.awaitPromise", callback?: (err: Error | null, params: Runtime.AwaitPromiseReturnType) => void): void; + + /** + * Calls function with given declaration on the given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.callFunctionOn", params?: Runtime.CallFunctionOnParameterType, callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + post(method: "Runtime.callFunctionOn", callback?: (err: Error | null, params: Runtime.CallFunctionOnReturnType) => void): void; + + /** + * Returns properties of a given object. Object group of the result is inherited from the target object. + */ + post(method: "Runtime.getProperties", params?: Runtime.GetPropertiesParameterType, callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + post(method: "Runtime.getProperties", callback?: (err: Error | null, params: Runtime.GetPropertiesReturnType) => void): void; + + /** + * Releases remote object with given id. + */ + post(method: "Runtime.releaseObject", params?: Runtime.ReleaseObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObject", callback?: (err: Error | null) => void): void; + + /** + * Releases all remote objects that belong to a given group. + */ + post(method: "Runtime.releaseObjectGroup", params?: Runtime.ReleaseObjectGroupParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.releaseObjectGroup", callback?: (err: Error | null) => void): void; + + /** + * Tells inspected instance to run if it was waiting for debugger to attach. + */ + post(method: "Runtime.runIfWaitingForDebugger", callback?: (err: Error | null) => void): void; + + /** + * Enables reporting of execution contexts creation by means of executionContextCreated event. When the reporting gets enabled the event will be sent immediately for each existing execution context. + */ + post(method: "Runtime.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables reporting of execution contexts creation. + */ + post(method: "Runtime.disable", callback?: (err: Error | null) => void): void; + + /** + * Discards collected exceptions and console API calls. + */ + post(method: "Runtime.discardConsoleEntries", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Runtime.setCustomObjectFormatterEnabled", params?: Runtime.SetCustomObjectFormatterEnabledParameterType, callback?: (err: Error | null) => void): void; + post(method: "Runtime.setCustomObjectFormatterEnabled", callback?: (err: Error | null) => void): void; + + /** + * Compiles expression. + */ + post(method: "Runtime.compileScript", params?: Runtime.CompileScriptParameterType, callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + post(method: "Runtime.compileScript", callback?: (err: Error | null, params: Runtime.CompileScriptReturnType) => void): void; + + /** + * Runs script with given id in a given context. + */ + post(method: "Runtime.runScript", params?: Runtime.RunScriptParameterType, callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + post(method: "Runtime.runScript", callback?: (err: Error | null, params: Runtime.RunScriptReturnType) => void): void; + + post(method: "Runtime.queryObjects", params?: Runtime.QueryObjectsParameterType, callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + post(method: "Runtime.queryObjects", callback?: (err: Error | null, params: Runtime.QueryObjectsReturnType) => void): void; + + /** + * Returns all let, const and class variables from global scope. + */ + post( + method: "Runtime.globalLexicalScopeNames", + params?: Runtime.GlobalLexicalScopeNamesParameterType, + callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void + ): void; + post(method: "Runtime.globalLexicalScopeNames", callback?: (err: Error | null, params: Runtime.GlobalLexicalScopeNamesReturnType) => void): void; + + /** + * Enables debugger for the given page. Clients should not assume that the debugging has been enabled until the result for this command is received. + */ + post(method: "Debugger.enable", callback?: (err: Error | null, params: Debugger.EnableReturnType) => void): void; + + /** + * Disables debugger for given page. + */ + post(method: "Debugger.disable", callback?: (err: Error | null) => void): void; + + /** + * Activates / deactivates all breakpoints on the page. + */ + post(method: "Debugger.setBreakpointsActive", params?: Debugger.SetBreakpointsActiveParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBreakpointsActive", callback?: (err: Error | null) => void): void; + + /** + * Makes page not interrupt on any pauses (breakpoint, exception, dom exception etc). + */ + post(method: "Debugger.setSkipAllPauses", params?: Debugger.SetSkipAllPausesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setSkipAllPauses", callback?: (err: Error | null) => void): void; + + /** + * Sets JavaScript breakpoint at given location specified either by URL or URL regex. Once this command is issued, all existing parsed scripts will have breakpoints resolved and returned in locations property. Further matching script parsing will result in subsequent breakpointResolved events issued. This logical breakpoint will survive page reloads. + */ + post(method: "Debugger.setBreakpointByUrl", params?: Debugger.SetBreakpointByUrlParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + post(method: "Debugger.setBreakpointByUrl", callback?: (err: Error | null, params: Debugger.SetBreakpointByUrlReturnType) => void): void; + + /** + * Sets JavaScript breakpoint at a given location. + */ + post(method: "Debugger.setBreakpoint", params?: Debugger.SetBreakpointParameterType, callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + post(method: "Debugger.setBreakpoint", callback?: (err: Error | null, params: Debugger.SetBreakpointReturnType) => void): void; + + /** + * Removes JavaScript breakpoint. + */ + post(method: "Debugger.removeBreakpoint", params?: Debugger.RemoveBreakpointParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.removeBreakpoint", callback?: (err: Error | null) => void): void; + + /** + * Returns possible locations for breakpoint. scriptId in start and end range locations should be the same. + */ + post( + method: "Debugger.getPossibleBreakpoints", + params?: Debugger.GetPossibleBreakpointsParameterType, + callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void + ): void; + post(method: "Debugger.getPossibleBreakpoints", callback?: (err: Error | null, params: Debugger.GetPossibleBreakpointsReturnType) => void): void; + + /** + * Continues execution until specific location is reached. + */ + post(method: "Debugger.continueToLocation", params?: Debugger.ContinueToLocationParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.continueToLocation", callback?: (err: Error | null) => void): void; + + /** + * @experimental + */ + post(method: "Debugger.pauseOnAsyncCall", params?: Debugger.PauseOnAsyncCallParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.pauseOnAsyncCall", callback?: (err: Error | null) => void): void; + + /** + * Steps over the statement. + */ + post(method: "Debugger.stepOver", callback?: (err: Error | null) => void): void; + + /** + * Steps into the function call. + */ + post(method: "Debugger.stepInto", params?: Debugger.StepIntoParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.stepInto", callback?: (err: Error | null) => void): void; + + /** + * Steps out of the function call. + */ + post(method: "Debugger.stepOut", callback?: (err: Error | null) => void): void; + + /** + * Stops on the next JavaScript statement. + */ + post(method: "Debugger.pause", callback?: (err: Error | null) => void): void; + + /** + * This method is deprecated - use Debugger.stepInto with breakOnAsyncCall and Debugger.pauseOnAsyncTask instead. Steps into next scheduled async task if any is scheduled before next pause. Returns success when async task is actually scheduled, returns error if no task were scheduled or another scheduleStepIntoAsync was called. + * @experimental + */ + post(method: "Debugger.scheduleStepIntoAsync", callback?: (err: Error | null) => void): void; + + /** + * Resumes JavaScript execution. + */ + post(method: "Debugger.resume", callback?: (err: Error | null) => void): void; + + /** + * Returns stack trace with given stackTraceId. + * @experimental + */ + post(method: "Debugger.getStackTrace", params?: Debugger.GetStackTraceParameterType, callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + post(method: "Debugger.getStackTrace", callback?: (err: Error | null, params: Debugger.GetStackTraceReturnType) => void): void; + + /** + * Searches for given string in script content. + */ + post(method: "Debugger.searchInContent", params?: Debugger.SearchInContentParameterType, callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + post(method: "Debugger.searchInContent", callback?: (err: Error | null, params: Debugger.SearchInContentReturnType) => void): void; + + /** + * Edits JavaScript source live. + */ + post(method: "Debugger.setScriptSource", params?: Debugger.SetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + post(method: "Debugger.setScriptSource", callback?: (err: Error | null, params: Debugger.SetScriptSourceReturnType) => void): void; + + /** + * Restarts particular call frame from the beginning. + */ + post(method: "Debugger.restartFrame", params?: Debugger.RestartFrameParameterType, callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + post(method: "Debugger.restartFrame", callback?: (err: Error | null, params: Debugger.RestartFrameReturnType) => void): void; + + /** + * Returns source for the script with given id. + */ + post(method: "Debugger.getScriptSource", params?: Debugger.GetScriptSourceParameterType, callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + post(method: "Debugger.getScriptSource", callback?: (err: Error | null, params: Debugger.GetScriptSourceReturnType) => void): void; + + /** + * Defines pause on exceptions state. Can be set to stop on all exceptions, uncaught exceptions or no exceptions. Initial pause on exceptions state is none. + */ + post(method: "Debugger.setPauseOnExceptions", params?: Debugger.SetPauseOnExceptionsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setPauseOnExceptions", callback?: (err: Error | null) => void): void; + + /** + * Evaluates expression on a given call frame. + */ + post(method: "Debugger.evaluateOnCallFrame", params?: Debugger.EvaluateOnCallFrameParameterType, callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + post(method: "Debugger.evaluateOnCallFrame", callback?: (err: Error | null, params: Debugger.EvaluateOnCallFrameReturnType) => void): void; + + /** + * Changes value of variable in a callframe. Object-based scopes are not supported and must be mutated manually. + */ + post(method: "Debugger.setVariableValue", params?: Debugger.SetVariableValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setVariableValue", callback?: (err: Error | null) => void): void; + + /** + * Changes return value in top frame. Available only at return break position. + * @experimental + */ + post(method: "Debugger.setReturnValue", params?: Debugger.SetReturnValueParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setReturnValue", callback?: (err: Error | null) => void): void; + + /** + * Enables or disables async call stacks tracking. + */ + post(method: "Debugger.setAsyncCallStackDepth", params?: Debugger.SetAsyncCallStackDepthParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setAsyncCallStackDepth", callback?: (err: Error | null) => void): void; + + /** + * Replace previous blackbox patterns with passed ones. Forces backend to skip stepping/pausing in scripts with url matching one of the patterns. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. + * @experimental + */ + post(method: "Debugger.setBlackboxPatterns", params?: Debugger.SetBlackboxPatternsParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxPatterns", callback?: (err: Error | null) => void): void; + + /** + * Makes backend skip steps in the script in blackboxed ranges. VM will try leave blacklisted scripts by performing 'step in' several times, finally resorting to 'step out' if unsuccessful. Positions array contains positions where blackbox state is changed. First interval isn't blackboxed. Array should be sorted. + * @experimental + */ + post(method: "Debugger.setBlackboxedRanges", params?: Debugger.SetBlackboxedRangesParameterType, callback?: (err: Error | null) => void): void; + post(method: "Debugger.setBlackboxedRanges", callback?: (err: Error | null) => void): void; + + /** + * Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification. + */ + post(method: "Console.enable", callback?: (err: Error | null) => void): void; + + /** + * Disables console domain, prevents further console messages from being reported to the client. + */ + post(method: "Console.disable", callback?: (err: Error | null) => void): void; + + /** + * Does nothing. + */ + post(method: "Console.clearMessages", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.disable", callback?: (err: Error | null) => void): void; + + /** + * Changes CPU profiler sampling interval. Must be called before CPU profiles recording started. + */ + post(method: "Profiler.setSamplingInterval", params?: Profiler.SetSamplingIntervalParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.setSamplingInterval", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.start", callback?: (err: Error | null) => void): void; + + post(method: "Profiler.stop", callback?: (err: Error | null, params: Profiler.StopReturnType) => void): void; + + /** + * Enable precise code coverage. Coverage data for JavaScript executed before enabling precise code coverage may be incomplete. Enabling prevents running optimized code and resets execution counters. + */ + post(method: "Profiler.startPreciseCoverage", params?: Profiler.StartPreciseCoverageParameterType, callback?: (err: Error | null) => void): void; + post(method: "Profiler.startPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Disable precise code coverage. Disabling releases unnecessary execution count records and allows executing optimized code. + */ + post(method: "Profiler.stopPreciseCoverage", callback?: (err: Error | null) => void): void; + + /** + * Collect coverage data for the current isolate, and resets execution counters. Precise code coverage needs to have started. + */ + post(method: "Profiler.takePreciseCoverage", callback?: (err: Error | null, params: Profiler.TakePreciseCoverageReturnType) => void): void; + + /** + * Collect coverage data for the current isolate. The coverage data may be incomplete due to garbage collection. + */ + post(method: "Profiler.getBestEffortCoverage", callback?: (err: Error | null, params: Profiler.GetBestEffortCoverageReturnType) => void): void; + + /** + * Enable type profile. + * @experimental + */ + post(method: "Profiler.startTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Disable type profile. Disabling releases type profile data collected so far. + * @experimental + */ + post(method: "Profiler.stopTypeProfile", callback?: (err: Error | null) => void): void; + + /** + * Collect type profile. + * @experimental + */ + post(method: "Profiler.takeTypeProfile", callback?: (err: Error | null, params: Profiler.TakeTypeProfileReturnType) => void): void; + + post(method: "HeapProfiler.enable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.disable", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.startTrackingHeapObjects", params?: HeapProfiler.StartTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopTrackingHeapObjects", params?: HeapProfiler.StopTrackingHeapObjectsParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.stopTrackingHeapObjects", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.takeHeapSnapshot", params?: HeapProfiler.TakeHeapSnapshotParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.takeHeapSnapshot", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.collectGarbage", callback?: (err: Error | null) => void): void; + + post( + method: "HeapProfiler.getObjectByHeapObjectId", + params?: HeapProfiler.GetObjectByHeapObjectIdParameterType, + callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void + ): void; + post(method: "HeapProfiler.getObjectByHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetObjectByHeapObjectIdReturnType) => void): void; + + /** + * Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions). + */ + post(method: "HeapProfiler.addInspectedHeapObject", params?: HeapProfiler.AddInspectedHeapObjectParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.addInspectedHeapObject", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.getHeapObjectId", params?: HeapProfiler.GetHeapObjectIdParameterType, callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + post(method: "HeapProfiler.getHeapObjectId", callback?: (err: Error | null, params: HeapProfiler.GetHeapObjectIdReturnType) => void): void; + + post(method: "HeapProfiler.startSampling", params?: HeapProfiler.StartSamplingParameterType, callback?: (err: Error | null) => void): void; + post(method: "HeapProfiler.startSampling", callback?: (err: Error | null) => void): void; + + post(method: "HeapProfiler.stopSampling", callback?: (err: Error | null, params: HeapProfiler.StopSamplingReturnType) => void): void; + + post(method: "HeapProfiler.getSamplingProfile", callback?: (err: Error | null, params: HeapProfiler.GetSamplingProfileReturnType) => void): void; + + /** + * Gets supported tracing categories. + */ + post(method: "NodeTracing.getCategories", callback?: (err: Error | null, params: NodeTracing.GetCategoriesReturnType) => void): void; + + /** + * Start trace events collection. + */ + post(method: "NodeTracing.start", params?: NodeTracing.StartParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeTracing.start", callback?: (err: Error | null) => void): void; + + /** + * Stop trace events collection. Remaining collected events will be sent as a sequence of + * dataCollected events followed by tracingComplete event. + */ + post(method: "NodeTracing.stop", callback?: (err: Error | null) => void): void; + + /** + * Sends protocol message over session with given id. + */ + post(method: "NodeWorker.sendMessageToWorker", params?: NodeWorker.SendMessageToWorkerParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.sendMessageToWorker", callback?: (err: Error | null) => void): void; + + /** + * Instructs the inspector to attach to running workers. Will also attach to new workers + * as they start + */ + post(method: "NodeWorker.enable", params?: NodeWorker.EnableParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.enable", callback?: (err: Error | null) => void): void; + + /** + * Detaches from all running workers and disables attaching to new workers as they are started. + */ + post(method: "NodeWorker.disable", callback?: (err: Error | null) => void): void; + + /** + * Detached from the worker with given sessionId. + */ + post(method: "NodeWorker.detach", params?: NodeWorker.DetachParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeWorker.detach", callback?: (err: Error | null) => void): void; + + /** + * Enable the `NodeRuntime.waitingForDisconnect`. + */ + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", params?: NodeRuntime.NotifyWhenWaitingForDisconnectParameterType, callback?: (err: Error | null) => void): void; + post(method: "NodeRuntime.notifyWhenWaitingForDisconnect", callback?: (err: Error | null) => void): void; + + // Events + + addListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + addListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + addListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + addListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + addListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + addListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + addListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + addListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + addListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + addListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + addListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + addListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + addListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + addListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + addListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + addListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + addListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + addListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + addListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + addListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + addListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + addListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + addListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + addListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + addListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + addListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + addListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "inspectorNotification", message: InspectorNotification<{}>): boolean; + emit(event: "Runtime.executionContextCreated", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextDestroyed", message: InspectorNotification): boolean; + emit(event: "Runtime.executionContextsCleared"): boolean; + emit(event: "Runtime.exceptionThrown", message: InspectorNotification): boolean; + emit(event: "Runtime.exceptionRevoked", message: InspectorNotification): boolean; + emit(event: "Runtime.consoleAPICalled", message: InspectorNotification): boolean; + emit(event: "Runtime.inspectRequested", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptParsed", message: InspectorNotification): boolean; + emit(event: "Debugger.scriptFailedToParse", message: InspectorNotification): boolean; + emit(event: "Debugger.breakpointResolved", message: InspectorNotification): boolean; + emit(event: "Debugger.paused", message: InspectorNotification): boolean; + emit(event: "Debugger.resumed"): boolean; + emit(event: "Console.messageAdded", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileStarted", message: InspectorNotification): boolean; + emit(event: "Profiler.consoleProfileFinished", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.addHeapSnapshotChunk", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.resetProfiles"): boolean; + emit(event: "HeapProfiler.reportHeapSnapshotProgress", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.lastSeenObjectId", message: InspectorNotification): boolean; + emit(event: "HeapProfiler.heapStatsUpdate", message: InspectorNotification): boolean; + emit(event: "NodeTracing.dataCollected", message: InspectorNotification): boolean; + emit(event: "NodeTracing.tracingComplete"): boolean; + emit(event: "NodeWorker.attachedToWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.detachedFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeWorker.receivedMessageFromWorker", message: InspectorNotification): boolean; + emit(event: "NodeRuntime.waitingForDisconnect"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + on(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + on(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + on(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + on(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + on(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + on(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + on(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + on(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + on(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + on(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + on(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + on(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + on(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + on(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + on(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + on(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + on(event: "HeapProfiler.resetProfiles", listener: () => void): this; + on(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + on(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + on(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + on(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + on(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + on(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + on(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + on(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + on(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + once(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + once(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + once(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + once(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + once(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + once(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + once(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + once(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + once(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + once(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + once(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + once(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + once(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + once(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + once(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + once(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + once(event: "HeapProfiler.resetProfiles", listener: () => void): this; + once(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + once(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + once(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + once(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + once(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + once(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + once(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + once(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + once(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + + /** + * Emitted when any notification from the V8 Inspector is received. + */ + prependOnceListener(event: "inspectorNotification", listener: (message: InspectorNotification<{}>) => void): this; + + /** + * Issued when new execution context is created. + */ + prependOnceListener(event: "Runtime.executionContextCreated", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when execution context is destroyed. + */ + prependOnceListener(event: "Runtime.executionContextDestroyed", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when all executionContexts were cleared in browser + */ + prependOnceListener(event: "Runtime.executionContextsCleared", listener: () => void): this; + + /** + * Issued when exception was thrown and unhandled. + */ + prependOnceListener(event: "Runtime.exceptionThrown", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when unhandled exception was revoked. + */ + prependOnceListener(event: "Runtime.exceptionRevoked", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when console API was called. + */ + prependOnceListener(event: "Runtime.consoleAPICalled", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when object should be inspected (for example, as a result of inspect() command line API call). + */ + prependOnceListener(event: "Runtime.inspectRequested", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine parses script. This event is also fired for all known and uncollected scripts upon enabling debugger. + */ + prependOnceListener(event: "Debugger.scriptParsed", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when virtual machine fails to parse the script. + */ + prependOnceListener(event: "Debugger.scriptFailedToParse", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when breakpoint is resolved to an actual script and location. + */ + prependOnceListener(event: "Debugger.breakpointResolved", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria. + */ + prependOnceListener(event: "Debugger.paused", listener: (message: InspectorNotification) => void): this; + + /** + * Fired when the virtual machine resumed execution. + */ + prependOnceListener(event: "Debugger.resumed", listener: () => void): this; + + /** + * Issued when new console message is added. + */ + prependOnceListener(event: "Console.messageAdded", listener: (message: InspectorNotification) => void): this; + + /** + * Sent when new profile recording is started using console.profile() call. + */ + prependOnceListener(event: "Profiler.consoleProfileStarted", listener: (message: InspectorNotification) => void): this; + + prependOnceListener(event: "Profiler.consoleProfileFinished", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.addHeapSnapshotChunk", listener: (message: InspectorNotification) => void): this; + prependOnceListener(event: "HeapProfiler.resetProfiles", listener: () => void): this; + prependOnceListener(event: "HeapProfiler.reportHeapSnapshotProgress", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend regularly sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event. + */ + prependOnceListener(event: "HeapProfiler.lastSeenObjectId", listener: (message: InspectorNotification) => void): this; + + /** + * If heap objects tracking has been started then backend may send update for one or more fragments + */ + prependOnceListener(event: "HeapProfiler.heapStatsUpdate", listener: (message: InspectorNotification) => void): this; + + /** + * Contains an bucket of collected trace events. + */ + prependOnceListener(event: "NodeTracing.dataCollected", listener: (message: InspectorNotification) => void): this; + + /** + * Signals that tracing is stopped and there is no trace buffers pending flush, all data were + * delivered via dataCollected events. + */ + prependOnceListener(event: "NodeTracing.tracingComplete", listener: () => void): this; + + /** + * Issued when attached to a worker. + */ + prependOnceListener(event: "NodeWorker.attachedToWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Issued when detached from the worker. + */ + prependOnceListener(event: "NodeWorker.detachedFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * Notifies about a new protocol message received from the session + * (session ID is provided in attachedToWorker notification). + */ + prependOnceListener(event: "NodeWorker.receivedMessageFromWorker", listener: (message: InspectorNotification) => void): this; + + /** + * This event is fired instead of `Runtime.executionContextDestroyed` when + * enabled. + * It is fired when the Node process finished all code execution and is + * waiting for all frontends to disconnect. + */ + prependOnceListener(event: "NodeRuntime.waitingForDisconnect", listener: () => void): this; + } + + // Top Level API + + /** + * Activate inspector on host and port. Equivalent to node --inspect=[[host:]port], but can be done programatically after node has started. + * If wait is true, will block until a client has connected to the inspect port and flow control has been passed to the debugger client. + * @param port Port to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param host Host to listen on for inspector connections. Optional, defaults to what was specified on the CLI. + * @param wait Block until a client has connected. Optional, defaults to false. + */ + function open(port?: number, host?: string, wait?: boolean): void; + + /** + * Deactivate the inspector. Blocks until there are no active connections. + */ + function close(): void; + + /** + * Return the URL of the active inspector, or `undefined` if there is none. + */ + function url(): string | undefined; +} diff --git a/node_modules/@types/node/module.d.ts b/node_modules/@types/node/module.d.ts new file mode 100644 index 0000000..f512be7 --- /dev/null +++ b/node_modules/@types/node/module.d.ts @@ -0,0 +1,3 @@ +declare module "module" { + export = NodeJS.Module; +} diff --git a/node_modules/@types/node/net.d.ts b/node_modules/@types/node/net.d.ts new file mode 100644 index 0000000..1e4f971 --- /dev/null +++ b/node_modules/@types/node/net.d.ts @@ -0,0 +1,268 @@ +declare module "net" { + import * as stream from "stream"; + import * as events from "events"; + import * as dns from "dns"; + + type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void; + + interface AddressInfo { + address: string; + family: string; + port: number; + } + + interface SocketConstructorOpts { + fd?: number; + allowHalfOpen?: boolean; + readable?: boolean; + writable?: boolean; + } + + interface OnReadOpts { + buffer: Uint8Array | (() => Uint8Array); + /** + * This function is called for every chunk of incoming data. + * Two arguments are passed to it: the number of bytes written to buffer and a reference to buffer. + * Return false from this function to implicitly pause() the socket. + */ + callback(bytesWritten: number, buf: Uint8Array): boolean; + } + + interface ConnectOpts { + /** + * If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. + * Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will + * still be emitted as normal and methods like pause() and resume() will also behave as expected. + */ + onread?: OnReadOpts; + } + + interface TcpSocketConnectOpts extends ConnectOpts { + port: number; + host?: string; + localAddress?: string; + localPort?: number; + hints?: number; + family?: number; + lookup?: LookupFunction; + } + + interface IpcSocketConnectOpts extends ConnectOpts { + path: string; + } + + type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts; + + class Socket extends stream.Duplex { + constructor(options?: SocketConstructorOpts); + + // Extended base methods + write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean; + write(str: Uint8Array | string, encoding?: string, cb?: (err?: Error) => void): boolean; + + connect(options: SocketConnectOpts, connectionListener?: () => void): this; + connect(port: number, host: string, connectionListener?: () => void): this; + connect(port: number, connectionListener?: () => void): this; + connect(path: string, connectionListener?: () => void): this; + + setEncoding(encoding?: string): this; + pause(): this; + resume(): this; + setTimeout(timeout: number, callback?: () => void): this; + setNoDelay(noDelay?: boolean): this; + setKeepAlive(enable?: boolean, initialDelay?: number): this; + address(): AddressInfo | string; + unref(): void; + ref(): void; + + readonly bufferSize: number; + readonly bytesRead: number; + readonly bytesWritten: number; + readonly connecting: boolean; + readonly destroyed: boolean; + readonly localAddress: string; + readonly localPort: number; + readonly remoteAddress?: string; + readonly remoteFamily?: string; + readonly remotePort?: number; + + // Extended base methods + end(cb?: () => void): void; + end(buffer: Uint8Array | string, cb?: () => void): void; + end(str: Uint8Array | string, encoding?: string, cb?: () => void): void; + + /** + * events.EventEmitter + * 1. close + * 2. connect + * 3. data + * 4. drain + * 5. end + * 6. error + * 7. lookup + * 8. timeout + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: (had_error: boolean) => void): this; + addListener(event: "connect", listener: () => void): this; + addListener(event: "data", listener: (data: Buffer) => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + addListener(event: "timeout", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close", had_error: boolean): boolean; + emit(event: "connect"): boolean; + emit(event: "data", data: Buffer): boolean; + emit(event: "drain"): boolean; + emit(event: "end"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean; + emit(event: "timeout"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: (had_error: boolean) => void): this; + on(event: "connect", listener: () => void): this; + on(event: "data", listener: (data: Buffer) => void): this; + on(event: "drain", listener: () => void): this; + on(event: "end", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + on(event: "timeout", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: (had_error: boolean) => void): this; + once(event: "connect", listener: () => void): this; + once(event: "data", listener: (data: Buffer) => void): this; + once(event: "drain", listener: () => void): this; + once(event: "end", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + once(event: "timeout", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: (had_error: boolean) => void): this; + prependListener(event: "connect", listener: () => void): this; + prependListener(event: "data", listener: (data: Buffer) => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependListener(event: "timeout", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: (had_error: boolean) => void): this; + prependOnceListener(event: "connect", listener: () => void): this; + prependOnceListener(event: "data", listener: (data: Buffer) => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this; + prependOnceListener(event: "timeout", listener: () => void): this; + } + + interface ListenOptions { + port?: number; + host?: string; + backlog?: number; + path?: string; + exclusive?: boolean; + readableAll?: boolean; + writableAll?: boolean; + /** + * @default false + */ + ipv6Only?: boolean; + } + + // https://github.com/nodejs/node/blob/master/lib/net.js + class Server extends events.EventEmitter { + constructor(connectionListener?: (socket: Socket) => void); + constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void); + + listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, hostname?: string, listeningListener?: () => void): this; + listen(port?: number, backlog?: number, listeningListener?: () => void): this; + listen(port?: number, listeningListener?: () => void): this; + listen(path: string, backlog?: number, listeningListener?: () => void): this; + listen(path: string, listeningListener?: () => void): this; + listen(options: ListenOptions, listeningListener?: () => void): this; + listen(handle: any, backlog?: number, listeningListener?: () => void): this; + listen(handle: any, listeningListener?: () => void): this; + close(callback?: (err?: Error) => void): this; + address(): AddressInfo | string | null; + getConnections(cb: (error: Error | null, count: number) => void): void; + ref(): this; + unref(): this; + maxConnections: number; + connections: number; + listening: boolean; + + /** + * events.EventEmitter + * 1. close + * 2. connection + * 3. error + * 4. listening + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "connection", listener: (socket: Socket) => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "listening", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "connection", socket: Socket): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "listening"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "connection", listener: (socket: Socket) => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "listening", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "connection", listener: (socket: Socket) => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "listening", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "connection", listener: (socket: Socket) => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "listening", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connection", listener: (socket: Socket) => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "listening", listener: () => void): this; + } + + interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts { + timeout?: number; + } + + type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts; + + function createServer(connectionListener?: (socket: Socket) => void): Server; + function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server; + function connect(options: NetConnectOpts, connectionListener?: () => void): Socket; + function connect(port: number, host?: string, connectionListener?: () => void): Socket; + function connect(path: string, connectionListener?: () => void): Socket; + function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket; + function createConnection(port: number, host?: string, connectionListener?: () => void): Socket; + function createConnection(path: string, connectionListener?: () => void): Socket; + function isIP(input: string): number; + function isIPv4(input: string): boolean; + function isIPv6(input: string): boolean; +} diff --git a/node_modules/@types/node/os.d.ts b/node_modules/@types/node/os.d.ts new file mode 100644 index 0000000..37c45a9 --- /dev/null +++ b/node_modules/@types/node/os.d.ts @@ -0,0 +1,263 @@ +declare module "os" { + interface CpuInfo { + model: string; + speed: number; + times: { + user: number; + nice: number; + sys: number; + idle: number; + irq: number; + }; + } + + interface NetworkInterfaceBase { + address: string; + netmask: string; + mac: string; + internal: boolean; + cidr: string | null; + } + + interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase { + family: "IPv4"; + } + + interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase { + family: "IPv6"; + scopeid: number; + } + + interface UserInfo { + username: T; + uid: number; + gid: number; + shell: T; + homedir: T; + } + + type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6; + + function hostname(): string; + function loadavg(): number[]; + function uptime(): number; + function freemem(): number; + function totalmem(): number; + function cpus(): CpuInfo[]; + function type(): string; + function release(): string; + function networkInterfaces(): { [index: string]: NetworkInterfaceInfo[] }; + function homedir(): string; + function userInfo(options: { encoding: 'buffer' }): UserInfo; + function userInfo(options?: { encoding: string }): UserInfo; + const constants: { + UV_UDP_REUSEADDR: number; + // signals: { [key in NodeJS.Signals]: number; }; @todo: change after migration to typescript 2.1 + signals: { + SIGHUP: number; + SIGINT: number; + SIGQUIT: number; + SIGILL: number; + SIGTRAP: number; + SIGABRT: number; + SIGIOT: number; + SIGBUS: number; + SIGFPE: number; + SIGKILL: number; + SIGUSR1: number; + SIGSEGV: number; + SIGUSR2: number; + SIGPIPE: number; + SIGALRM: number; + SIGTERM: number; + SIGCHLD: number; + SIGSTKFLT: number; + SIGCONT: number; + SIGSTOP: number; + SIGTSTP: number; + SIGBREAK: number; + SIGTTIN: number; + SIGTTOU: number; + SIGURG: number; + SIGXCPU: number; + SIGXFSZ: number; + SIGVTALRM: number; + SIGPROF: number; + SIGWINCH: number; + SIGIO: number; + SIGPOLL: number; + SIGLOST: number; + SIGPWR: number; + SIGINFO: number; + SIGSYS: number; + SIGUNUSED: number; + }; + errno: { + E2BIG: number; + EACCES: number; + EADDRINUSE: number; + EADDRNOTAVAIL: number; + EAFNOSUPPORT: number; + EAGAIN: number; + EALREADY: number; + EBADF: number; + EBADMSG: number; + EBUSY: number; + ECANCELED: number; + ECHILD: number; + ECONNABORTED: number; + ECONNREFUSED: number; + ECONNRESET: number; + EDEADLK: number; + EDESTADDRREQ: number; + EDOM: number; + EDQUOT: number; + EEXIST: number; + EFAULT: number; + EFBIG: number; + EHOSTUNREACH: number; + EIDRM: number; + EILSEQ: number; + EINPROGRESS: number; + EINTR: number; + EINVAL: number; + EIO: number; + EISCONN: number; + EISDIR: number; + ELOOP: number; + EMFILE: number; + EMLINK: number; + EMSGSIZE: number; + EMULTIHOP: number; + ENAMETOOLONG: number; + ENETDOWN: number; + ENETRESET: number; + ENETUNREACH: number; + ENFILE: number; + ENOBUFS: number; + ENODATA: number; + ENODEV: number; + ENOENT: number; + ENOEXEC: number; + ENOLCK: number; + ENOLINK: number; + ENOMEM: number; + ENOMSG: number; + ENOPROTOOPT: number; + ENOSPC: number; + ENOSR: number; + ENOSTR: number; + ENOSYS: number; + ENOTCONN: number; + ENOTDIR: number; + ENOTEMPTY: number; + ENOTSOCK: number; + ENOTSUP: number; + ENOTTY: number; + ENXIO: number; + EOPNOTSUPP: number; + EOVERFLOW: number; + EPERM: number; + EPIPE: number; + EPROTO: number; + EPROTONOSUPPORT: number; + EPROTOTYPE: number; + ERANGE: number; + EROFS: number; + ESPIPE: number; + ESRCH: number; + ESTALE: number; + ETIME: number; + ETIMEDOUT: number; + ETXTBSY: number; + EWOULDBLOCK: number; + EXDEV: number; + WSAEINTR: number; + WSAEBADF: number; + WSAEACCES: number; + WSAEFAULT: number; + WSAEINVAL: number; + WSAEMFILE: number; + WSAEWOULDBLOCK: number; + WSAEINPROGRESS: number; + WSAEALREADY: number; + WSAENOTSOCK: number; + WSAEDESTADDRREQ: number; + WSAEMSGSIZE: number; + WSAEPROTOTYPE: number; + WSAENOPROTOOPT: number; + WSAEPROTONOSUPPORT: number; + WSAESOCKTNOSUPPORT: number; + WSAEOPNOTSUPP: number; + WSAEPFNOSUPPORT: number; + WSAEAFNOSUPPORT: number; + WSAEADDRINUSE: number; + WSAEADDRNOTAVAIL: number; + WSAENETDOWN: number; + WSAENETUNREACH: number; + WSAENETRESET: number; + WSAECONNABORTED: number; + WSAECONNRESET: number; + WSAENOBUFS: number; + WSAEISCONN: number; + WSAENOTCONN: number; + WSAESHUTDOWN: number; + WSAETOOMANYREFS: number; + WSAETIMEDOUT: number; + WSAECONNREFUSED: number; + WSAELOOP: number; + WSAENAMETOOLONG: number; + WSAEHOSTDOWN: number; + WSAEHOSTUNREACH: number; + WSAENOTEMPTY: number; + WSAEPROCLIM: number; + WSAEUSERS: number; + WSAEDQUOT: number; + WSAESTALE: number; + WSAEREMOTE: number; + WSASYSNOTREADY: number; + WSAVERNOTSUPPORTED: number; + WSANOTINITIALISED: number; + WSAEDISCON: number; + WSAENOMORE: number; + WSAECANCELLED: number; + WSAEINVALIDPROCTABLE: number; + WSAEINVALIDPROVIDER: number; + WSAEPROVIDERFAILEDINIT: number; + WSASYSCALLFAILURE: number; + WSASERVICE_NOT_FOUND: number; + WSATYPE_NOT_FOUND: number; + WSA_E_NO_MORE: number; + WSA_E_CANCELLED: number; + WSAEREFUSED: number; + }; + priority: { + PRIORITY_LOW: number; + PRIORITY_BELOW_NORMAL: number; + PRIORITY_NORMAL: number; + PRIORITY_ABOVE_NORMAL: number; + PRIORITY_HIGH: number; + PRIORITY_HIGHEST: number; + } + }; + function arch(): string; + function platform(): NodeJS.Platform; + function tmpdir(): string; + const EOL: string; + function endianness(): "BE" | "LE"; + /** + * Gets the priority of a process. + * Defaults to current process. + */ + function getPriority(pid?: number): number; + /** + * Sets the priority of the current process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(priority: number): void; + /** + * Sets the priority of the process specified process. + * @param priority Must be in range of -20 to 19 + */ + function setPriority(pid: number, priority: number): void; +} diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json new file mode 100644 index 0000000..8f6c90f --- /dev/null +++ b/node_modules/@types/node/package.json @@ -0,0 +1,212 @@ +{ + "_from": "@types/node@*", + "_id": "@types/node@12.12.6", + "_inBundle": false, + "_integrity": "sha512-FjsYUPzEJdGXjwKqSpE0/9QEh6kzhTAeObA54rn6j3rR4C/mzpI9L0KNfoeASSPMMdxIsoJuCLDWcM/rVjIsSA==", + "_location": "/@types/node", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@types/node@*", + "name": "@types/node", + "escapedName": "@types%2fnode", + "scope": "@types", + "rawSpec": "*", + "saveSpec": null, + "fetchSpec": "*" + }, + "_requiredBy": [ + "/@types/formidable" + ], + "_resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.6.tgz", + "_shasum": "a47240c10d86a9a57bb0c633f0b2e0aea9ce9253", + "_spec": "@types/node@*", + "_where": "D:\\GitHub\\Gallery\\node_modules\\@types\\formidable", + "bugs": { + "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Microsoft TypeScript", + "url": "https://github.com/Microsoft" + }, + { + "name": "DefinitelyTyped", + "url": "https://github.com/DefinitelyTyped" + }, + { + "name": "Alberto Schiabel", + "url": "https://github.com/jkomyno" + }, + { + "name": "Alexander T.", + "url": "https://github.com/a-tarasyuk" + }, + { + "name": "Alvis HT Tang", + "url": "https://github.com/alvis" + }, + { + "name": "Andrew Makarov", + "url": "https://github.com/r3nya" + }, + { + "name": "Benjamin Toueg", + "url": "https://github.com/btoueg" + }, + { + "name": "Bruno Scheufler", + "url": "https://github.com/brunoscheufler" + }, + { + "name": "Chigozirim C.", + "url": "https://github.com/smac89" + }, + { + "name": "Christian Vaagland Tellnes", + "url": "https://github.com/tellnes" + }, + { + "name": "David Junger", + "url": "https://github.com/touffy" + }, + { + "name": "Deividas Bakanas", + "url": "https://github.com/DeividasBakanas" + }, + { + "name": "Eugene Y. Q. Shen", + "url": "https://github.com/eyqs" + }, + { + "name": "Flarna", + "url": "https://github.com/Flarna" + }, + { + "name": "Hannes Magnusson", + "url": "https://github.com/Hannes-Magnusson-CK" + }, + { + "name": "Hoàng Văn Khải", + "url": "https://github.com/KSXGitHub" + }, + { + "name": "Huw", + "url": "https://github.com/hoo29" + }, + { + "name": "Kelvin Jin", + "url": "https://github.com/kjin" + }, + { + "name": "Klaus Meinhardt", + "url": "https://github.com/ajafff" + }, + { + "name": "Lishude", + "url": "https://github.com/islishude" + }, + { + "name": "Mariusz Wiktorczyk", + "url": "https://github.com/mwiktorczyk" + }, + { + "name": "Mohsen Azimi", + "url": "https://github.com/mohsen1" + }, + { + "name": "Nicolas Even", + "url": "https://github.com/n-e" + }, + { + "name": "Nicolas Voigt", + "url": "https://github.com/octo-sniffle" + }, + { + "name": "Nikita Galkin", + "url": "https://github.com/galkin" + }, + { + "name": "Parambir Singh", + "url": "https://github.com/parambirs" + }, + { + "name": "Sebastian Silbermann", + "url": "https://github.com/eps1lon" + }, + { + "name": "Simon Schick", + "url": "https://github.com/SimonSchick" + }, + { + "name": "Thomas den Hollander", + "url": "https://github.com/ThomasdenH" + }, + { + "name": "Wilco Bakker", + "url": "https://github.com/WilcoBakker" + }, + { + "name": "wwwy3y3", + "url": "https://github.com/wwwy3y3" + }, + { + "name": "Zane Hannan AU", + "url": "https://github.com/ZaneHannanAU" + }, + { + "name": "Samuel Ainsworth", + "url": "https://github.com/samuela" + }, + { + "name": "Kyle Uehlein", + "url": "https://github.com/kuehlein" + }, + { + "name": "Jordi Oliveras Rovira", + "url": "https://github.com/j-oliveras" + }, + { + "name": "Thanik Bhongbhibhat", + "url": "https://github.com/bhongy" + }, + { + "name": "Marcin Kopacz", + "url": "https://github.com/chyzwar" + }, + { + "name": "Trivikram Kamat", + "url": "https://github.com/trivikr" + }, + { + "name": "Minh Son Nguyen", + "url": "https://github.com/nguymin4" + } + ], + "dependencies": {}, + "deprecated": false, + "description": "TypeScript definitions for Node.js", + "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", + "license": "MIT", + "main": "", + "name": "@types/node", + "repository": { + "type": "git", + "url": "git+https://github.com/DefinitelyTyped/DefinitelyTyped.git", + "directory": "types/node" + }, + "scripts": {}, + "typeScriptVersion": "2.0", + "types": "index", + "typesPublisherContentHash": "367501b118848fefd37735930a6d2151fc9018e2e85a33ac6643ea132ef547c3", + "typesVersions": { + ">=3.2.0-0": { + "*": [ + "ts3.2/*" + ] + } + }, + "version": "12.12.6" +} diff --git a/node_modules/@types/node/path.d.ts b/node_modules/@types/node/path.d.ts new file mode 100644 index 0000000..2f4a549 --- /dev/null +++ b/node_modules/@types/node/path.d.ts @@ -0,0 +1,159 @@ +declare module "path" { + /** + * A parsed path object generated by path.parse() or consumed by path.format(). + */ + interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; + } + interface FormatInputPathObject { + /** + * The root of the path such as '/' or 'c:\' + */ + root?: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir?: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base?: string; + /** + * The file extension (if any) such as '.html' + */ + ext?: string; + /** + * The file name without extension (if any) such as 'index' + */ + name?: string; + } + + /** + * Normalize a string path, reducing '..' and '.' parts. + * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used. + * + * @param p string path to normalize. + */ + function normalize(p: string): string; + /** + * Join all arguments together and normalize the resulting path. + * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown. + * + * @param paths paths to join. + */ + function join(...paths: string[]): string; + /** + * The right-most parameter is considered {to}. Other parameters are considered an array of {from}. + * + * Starting from leftmost {from} parameter, resolves {to} to an absolute path. + * + * If {to} isn't already absolute, {from} arguments are prepended in right to left order, + * until an absolute path is found. If after using all {from} paths still no absolute path is found, + * the current working directory is used as well. The resulting path is normalized, + * and trailing slashes are removed unless the path gets resolved to the root directory. + * + * @param pathSegments string paths to join. Non-string arguments are ignored. + */ + function resolve(...pathSegments: string[]): string; + /** + * Determines whether {path} is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory. + * + * @param path path to test. + */ + function isAbsolute(path: string): boolean; + /** + * Solve the relative path from {from} to {to}. + * At times we have two absolute paths, and we need to derive the relative path from one to the other. This is actually the reverse transform of path.resolve. + */ + function relative(from: string, to: string): string; + /** + * Return the directory name of a path. Similar to the Unix dirname command. + * + * @param p the path to evaluate. + */ + function dirname(p: string): string; + /** + * Return the last portion of a path. Similar to the Unix basename command. + * Often used to extract the file name from a fully qualified path. + * + * @param p the path to evaluate. + * @param ext optionally, an extension to remove from the result. + */ + function basename(p: string, ext?: string): string; + /** + * Return the extension of the path, from the last '.' to end of string in the last portion of the path. + * If there is no '.' in the last portion of the path or the first character of it is '.', then it returns an empty string + * + * @param p the path to evaluate. + */ + function extname(p: string): string; + /** + * The platform-specific file separator. '\\' or '/'. + */ + const sep: '\\' | '/'; + /** + * The platform-specific file delimiter. ';' or ':'. + */ + const delimiter: ';' | ':'; + /** + * Returns an object from a path string - the opposite of format(). + * + * @param pathString path to evaluate. + */ + function parse(pathString: string): ParsedPath; + /** + * Returns a path string from an object - the opposite of parse(). + * + * @param pathString path to evaluate. + */ + function format(pathObject: FormatInputPathObject): string; + + namespace posix { + function normalize(p: string): string; + function join(...paths: string[]): string; + function resolve(...pathSegments: string[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } + + namespace win32 { + function normalize(p: string): string; + function join(...paths: string[]): string; + function resolve(...pathSegments: string[]): string; + function isAbsolute(p: string): boolean; + function relative(from: string, to: string): string; + function dirname(p: string): string; + function basename(p: string, ext?: string): string; + function extname(p: string): string; + const sep: string; + const delimiter: string; + function parse(p: string): ParsedPath; + function format(pP: FormatInputPathObject): string; + } +} diff --git a/node_modules/@types/node/perf_hooks.d.ts b/node_modules/@types/node/perf_hooks.d.ts new file mode 100644 index 0000000..bf44d44 --- /dev/null +++ b/node_modules/@types/node/perf_hooks.d.ts @@ -0,0 +1,304 @@ +declare module "perf_hooks" { + import { AsyncResource } from "async_hooks"; + + interface PerformanceEntry { + /** + * The total number of milliseconds elapsed for this entry. + * This value will not be meaningful for all Performance Entry types. + */ + readonly duration: number; + + /** + * The name of the performance entry. + */ + readonly name: string; + + /** + * The high resolution millisecond timestamp marking the starting time of the Performance Entry. + */ + readonly startTime: number; + + /** + * The type of the performance entry. + * Currently it may be one of: 'node', 'mark', 'measure', 'gc', or 'function'. + */ + readonly entryType: string; + + /** + * When performanceEntry.entryType is equal to 'gc', the performance.kind property identifies + * the type of garbage collection operation that occurred. + * The value may be one of perf_hooks.constants. + */ + readonly kind?: number; + } + + interface PerformanceNodeTiming extends PerformanceEntry { + /** + * The high resolution millisecond timestamp at which the Node.js process completed bootstrap. + */ + readonly bootstrapComplete: number; + + /** + * The high resolution millisecond timestamp at which cluster processing ended. + */ + readonly clusterSetupEnd: number; + + /** + * The high resolution millisecond timestamp at which cluster processing started. + */ + readonly clusterSetupStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop exited. + */ + readonly loopExit: number; + + /** + * The high resolution millisecond timestamp at which the Node.js event loop started. + */ + readonly loopStart: number; + + /** + * The high resolution millisecond timestamp at which main module load ended. + */ + readonly moduleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which main module load started. + */ + readonly moduleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which the Node.js process was initialized. + */ + readonly nodeStart: number; + + /** + * The high resolution millisecond timestamp at which preload module load ended. + */ + readonly preloadModuleLoadEnd: number; + + /** + * The high resolution millisecond timestamp at which preload module load started. + */ + readonly preloadModuleLoadStart: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing ended. + */ + readonly thirdPartyMainEnd: number; + + /** + * The high resolution millisecond timestamp at which third_party_main processing started. + */ + readonly thirdPartyMainStart: number; + + /** + * The high resolution millisecond timestamp at which the V8 platform was initialized. + */ + readonly v8Start: number; + } + + interface Performance { + /** + * If name is not provided, removes all PerformanceFunction objects from the Performance Timeline. + * If name is provided, removes entries with name. + * @param name + */ + clearFunctions(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMark objects from the Performance Timeline. + * If name is provided, removes only the named mark. + * @param name + */ + clearMarks(name?: string): void; + + /** + * If name is not provided, removes all PerformanceMeasure objects from the Performance Timeline. + * If name is provided, removes only objects whose performanceEntry.name matches name. + */ + clearMeasures(name?: string): void; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + * @return list of all PerformanceEntry objects + */ + getEntries(): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + * @param name + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * Returns a list of all PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + * @param type + * @return list of all PerformanceEntry objects + */ + getEntriesByType(type: string): PerformanceEntry[]; + + /** + * Creates a new PerformanceMark entry in the Performance Timeline. + * A PerformanceMark is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'mark', + * and whose performanceEntry.duration is always 0. + * Performance marks are used to mark specific significant moments in the Performance Timeline. + * @param name + */ + mark(name?: string): void; + + /** + * Creates a new PerformanceMeasure entry in the Performance Timeline. + * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure', + * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark. + * + * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify + * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist, + * then startMark is set to timeOrigin by default. + * + * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp + * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown. + * @param name + * @param startMark + * @param endMark + */ + measure(name: string, startMark: string, endMark: string): void; + + /** + * An instance of the PerformanceNodeTiming class that provides performance metrics for specific Node.js operational milestones. + */ + readonly nodeTiming: PerformanceNodeTiming; + + /** + * @return the current high resolution millisecond timestamp + */ + now(): number; + + /** + * The timeOrigin specifies the high resolution millisecond timestamp from which all performance metric durations are measured. + */ + readonly timeOrigin: number; + + /** + * Wraps a function within a new function that measures the running time of the wrapped function. + * A PerformanceObserver must be subscribed to the 'function' event type in order for the timing details to be accessed. + * @param fn + */ + timerify any>(fn: T): T; + } + + interface PerformanceObserverEntryList { + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime. + */ + getEntries(): PerformanceEntry[]; + + /** + * @return a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.name is equal to name, and optionally, whose performanceEntry.entryType is equal to type. + */ + getEntriesByName(name: string, type?: string): PerformanceEntry[]; + + /** + * @return Returns a list of PerformanceEntry objects in chronological order with respect to performanceEntry.startTime + * whose performanceEntry.entryType is equal to type. + */ + getEntriesByType(type: string): PerformanceEntry[]; + } + + type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void; + + class PerformanceObserver extends AsyncResource { + constructor(callback: PerformanceObserverCallback); + + /** + * Disconnects the PerformanceObserver instance from all notifications. + */ + disconnect(): void; + + /** + * Subscribes the PerformanceObserver instance to notifications of new PerformanceEntry instances identified by options.entryTypes. + * When options.buffered is false, the callback will be invoked once for every PerformanceEntry instance. + * Property buffered defaults to false. + * @param options + */ + observe(options: { entryTypes: string[], buffered?: boolean }): void; + } + + namespace constants { + const NODE_PERFORMANCE_GC_MAJOR: number; + const NODE_PERFORMANCE_GC_MINOR: number; + const NODE_PERFORMANCE_GC_INCREMENTAL: number; + const NODE_PERFORMANCE_GC_WEAKCB: number; + } + + const performance: Performance; + + interface EventLoopMonitorOptions { + /** + * The sampling rate in milliseconds. + * Must be greater than zero. + * @default 10 + */ + resolution?: number; + } + + interface EventLoopDelayMonitor { + /** + * Enables the event loop delay sample timer. Returns `true` if the timer was started, `false` if it was already started. + */ + enable(): boolean; + /** + * Disables the event loop delay sample timer. Returns `true` if the timer was stopped, `false` if it was already stopped. + */ + disable(): boolean; + + /** + * Resets the collected histogram data. + */ + reset(): void; + + /** + * Returns the value at the given percentile. + * @param percentile A percentile value between 1 and 100. + */ + percentile(percentile: number): number; + + /** + * A `Map` object detailing the accumulated percentile distribution. + */ + readonly percentiles: Map; + + /** + * The number of times the event loop delay exceeded the maximum 1 hour eventloop delay threshold. + */ + readonly exceeds: number; + + /** + * The minimum recorded event loop delay. + */ + readonly min: number; + + /** + * The maximum recorded event loop delay. + */ + readonly max: number; + + /** + * The mean of the recorded event loop delays. + */ + readonly mean: number; + + /** + * The standard deviation of the recorded event loop delays. + */ + readonly stddev: number; + } + + function monitorEventLoopDelay(options?: EventLoopMonitorOptions): EventLoopDelayMonitor; +} diff --git a/node_modules/@types/node/process.d.ts b/node_modules/@types/node/process.d.ts new file mode 100644 index 0000000..d007d4e --- /dev/null +++ b/node_modules/@types/node/process.d.ts @@ -0,0 +1,15 @@ +declare module "process" { + import * as tty from "tty"; + + global { + namespace NodeJS { + // this namespace merge is here because these are specifically used + // as the type for process.stdin, process.stdout, and process.stderr. + // they can't live in tty.d.ts because we need to disambiguate the imported name. + interface ReadStream extends tty.ReadStream {} + interface WriteStream extends tty.WriteStream {} + } + } + + export = process; +} diff --git a/node_modules/@types/node/punycode.d.ts b/node_modules/@types/node/punycode.d.ts new file mode 100644 index 0000000..75d2811 --- /dev/null +++ b/node_modules/@types/node/punycode.d.ts @@ -0,0 +1,12 @@ +declare module "punycode" { + function decode(string: string): string; + function encode(string: string): string; + function toUnicode(domain: string): string; + function toASCII(domain: string): string; + const ucs2: ucs2; + interface ucs2 { + decode(string: string): number[]; + encode(codePoints: number[]): string; + } + const version: string; +} diff --git a/node_modules/@types/node/querystring.d.ts b/node_modules/@types/node/querystring.d.ts new file mode 100644 index 0000000..a61269d --- /dev/null +++ b/node_modules/@types/node/querystring.d.ts @@ -0,0 +1,29 @@ +declare module "querystring" { + interface StringifyOptions { + encodeURIComponent?: (str: string) => string; + } + + interface ParseOptions { + maxKeys?: number; + decodeURIComponent?: (str: string) => string; + } + + interface ParsedUrlQuery { [key: string]: string | string[]; } + + interface ParsedUrlQueryInput { + [key: string]: NodeJS.PoorMansUnknown; + } + + function stringify(obj?: ParsedUrlQueryInput, sep?: string, eq?: string, options?: StringifyOptions): string; + function parse(str: string, sep?: string, eq?: string, options?: ParseOptions): ParsedUrlQuery; + /** + * The querystring.encode() function is an alias for querystring.stringify(). + */ + const encode: typeof stringify; + /** + * The querystring.decode() function is an alias for querystring.parse(). + */ + const decode: typeof parse; + function escape(str: string): string; + function unescape(str: string): string; +} diff --git a/node_modules/@types/node/readline.d.ts b/node_modules/@types/node/readline.d.ts new file mode 100644 index 0000000..6cb572e --- /dev/null +++ b/node_modules/@types/node/readline.d.ts @@ -0,0 +1,150 @@ +declare module "readline" { + import * as events from "events"; + import * as stream from "stream"; + + interface Key { + sequence?: string; + name?: string; + ctrl?: boolean; + meta?: boolean; + shift?: boolean; + } + + class Interface extends events.EventEmitter { + readonly terminal: boolean; + + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean); + /** + * NOTE: According to the documentation: + * + * > Instances of the `readline.Interface` class are constructed using the + * > `readline.createInterface()` method. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/readline.html#readline_class_interface + */ + protected constructor(options: ReadLineOptions); + + setPrompt(prompt: string): void; + prompt(preserveCursor?: boolean): void; + question(query: string, callback: (answer: string) => void): void; + pause(): this; + resume(): this; + close(): void; + write(data: string | Buffer, key?: Key): void; + + /** + * events.EventEmitter + * 1. close + * 2. line + * 3. pause + * 4. resume + * 5. SIGCONT + * 6. SIGINT + * 7. SIGTSTP + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + type ReadLine = Interface; // type forwarded for backwards compatiblity + + type Completer = (line: string) => CompleterResult; + type AsyncCompleter = (line: string, callback: (err?: null | Error, result?: CompleterResult) => void) => any; + + type CompleterResult = [string[], string]; + + interface ReadLineOptions { + input: NodeJS.ReadableStream; + output?: NodeJS.WritableStream; + completer?: Completer | AsyncCompleter; + terminal?: boolean; + historySize?: number; + prompt?: string; + crlfDelay?: number; + removeHistoryDuplicates?: boolean; + } + + function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): Interface; + function createInterface(options: ReadLineOptions): Interface; + function emitKeypressEvents(stream: NodeJS.ReadableStream, readlineInterface?: Interface): void; + + type Direction = -1 | 0 | 1; + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + function clearLine(stream: NodeJS.WritableStream, dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + function clearScreenDown(stream: NodeJS.WritableStream, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + function cursorTo(stream: NodeJS.WritableStream, x: number, y?: number, callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + function moveCursor(stream: NodeJS.WritableStream, dx: number, dy: number, callback?: () => void): boolean; +} diff --git a/node_modules/@types/node/repl.d.ts b/node_modules/@types/node/repl.d.ts new file mode 100644 index 0000000..9496fcd --- /dev/null +++ b/node_modules/@types/node/repl.d.ts @@ -0,0 +1,382 @@ +declare module "repl" { + import { Interface, Completer, AsyncCompleter } from "readline"; + import { Context } from "vm"; + import { InspectOptions } from "util"; + + interface ReplOptions { + /** + * The input prompt to display. + * Default: `"> "` + */ + prompt?: string; + /** + * The `Readable` stream from which REPL input will be read. + * Default: `process.stdin` + */ + input?: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + * Default: `process.stdout` + */ + output?: NodeJS.WritableStream; + /** + * If `true`, specifies that the output should be treated as a TTY terminal, and have + * ANSI/VT100 escape codes written to it. + * Default: checking the value of the `isTTY` property on the output stream upon + * instantiation. + */ + terminal?: boolean; + /** + * The function to be used when evaluating each given line of input. + * Default: an async wrapper for the JavaScript `eval()` function. An `eval` function can + * error with `repl.Recoverable` to indicate the input was incomplete and prompt for + * additional lines. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_default_evaluation + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_custom_evaluation_functions + */ + eval?: REPLEval; + /** + * If `true`, specifies that the default `writer` function should include ANSI color + * styling to REPL output. If a custom `writer` function is provided then this has no + * effect. + * Default: the REPL instance's `terminal` value. + */ + useColors?: boolean; + /** + * If `true`, specifies that the default evaluation function will use the JavaScript + * `global` as the context as opposed to creating a new separate context for the REPL + * instance. The node CLI REPL sets this value to `true`. + * Default: `false`. + */ + useGlobal?: boolean; + /** + * If `true`, specifies that the default writer will not output the return value of a + * command if it evaluates to `undefined`. + * Default: `false`. + */ + ignoreUndefined?: boolean; + /** + * The function to invoke to format the output of each command before writing to `output`. + * Default: a wrapper for `util.inspect`. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_customizing_repl_output + */ + writer?: REPLWriter; + /** + * An optional function used for custom Tab auto completion. + * + * @see https://nodejs.org/dist/latest-v11.x/docs/api/readline.html#readline_use_of_the_completer_function + */ + completer?: Completer | AsyncCompleter; + /** + * A flag that specifies whether the default evaluator executes all JavaScript commands in + * strict mode or default (sloppy) mode. + * Accepted values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + replMode?: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + /** + * Stop evaluating the current piece of code when `SIGINT` is received, i.e. `Ctrl+C` is + * pressed. This cannot be used together with a custom `eval` function. + * Default: `false`. + */ + breakEvalOnSigint?: boolean; + } + + type REPLEval = (this: REPLServer, evalCmd: string, context: Context, file: string, cb: (err: Error | null, result: any) => void) => void; + type REPLWriter = (this: REPLServer, obj: any) => string; + + /** + * This is the default "writer" value, if none is passed in the REPL options, + * and it can be overridden by custom print functions. + */ + const writer: REPLWriter & { options: InspectOptions }; + + type REPLCommandAction = (this: REPLServer, text: string) => void; + + interface REPLCommand { + /** + * Help text to be displayed when `.help` is entered. + */ + help?: string; + /** + * The function to execute, optionally accepting a single string argument. + */ + action: REPLCommandAction; + } + + /** + * Provides a customizable Read-Eval-Print-Loop (REPL). + * + * Instances of `repl.REPLServer` will accept individual lines of user input, evaluate those + * according to a user-defined evaluation function, then output the result. Input and output + * may be from `stdin` and `stdout`, respectively, or may be connected to any Node.js `stream`. + * + * Instances of `repl.REPLServer` support automatic completion of inputs, simplistic Emacs-style + * line editing, multi-line inputs, ANSI-styled output, saving and restoring current REPL session + * state, error recovery, and customizable evaluation functions. + * + * Instances of `repl.REPLServer` are created using the `repl.start()` method and _should not_ + * be created directly using the JavaScript `new` keyword. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_repl + */ + class REPLServer extends Interface { + /** + * The `vm.Context` provided to the `eval` function to be used for JavaScript + * evaluation. + */ + readonly context: Context; + /** + * The `Readable` stream from which REPL input will be read. + */ + readonly inputStream: NodeJS.ReadableStream; + /** + * The `Writable` stream to which REPL output will be written. + */ + readonly outputStream: NodeJS.WritableStream; + /** + * The commands registered via `replServer.defineCommand()`. + */ + readonly commands: { readonly [name: string]: REPLCommand | undefined }; + /** + * A value indicating whether the REPL is currently in "editor mode". + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_commands_and_special_keys + */ + readonly editorMode: boolean; + /** + * A value indicating whether the `_` variable has been assigned. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreAssigned: boolean; + /** + * The last evaluation result from the REPL (assigned to the `_` variable inside of the REPL). + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly last: any; + /** + * A value indicating whether the `_error` variable has been assigned. + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly underscoreErrAssigned: boolean; + /** + * The last error raised inside the REPL (assigned to the `_error` variable inside of the REPL). + * + * @since v9.8.0 + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_assignment_of_the_underscore_variable + */ + readonly lastError: any; + /** + * Specified in the REPL options, this is the function to be used when evaluating each + * given line of input. If not specified in the REPL options, this is an async wrapper + * for the JavaScript `eval()` function. + */ + readonly eval: REPLEval; + /** + * Specified in the REPL options, this is a value indicating whether the default + * `writer` function should include ANSI color styling to REPL output. + */ + readonly useColors: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `eval` + * function will use the JavaScript `global` as the context as opposed to creating a new + * separate context for the REPL instance. + */ + readonly useGlobal: boolean; + /** + * Specified in the REPL options, this is a value indicating whether the default `writer` + * function should output the result of a command if it evaluates to `undefined`. + */ + readonly ignoreUndefined: boolean; + /** + * Specified in the REPL options, this is the function to invoke to format the output of + * each command before writing to `outputStream`. If not specified in the REPL options, + * this will be a wrapper for `util.inspect`. + */ + readonly writer: REPLWriter; + /** + * Specified in the REPL options, this is the function to use for custom Tab auto-completion. + */ + readonly completer: Completer | AsyncCompleter; + /** + * Specified in the REPL options, this is a flag that specifies whether the default `eval` + * function should execute all JavaScript commands in strict mode or default (sloppy) mode. + * Possible values are: + * - `repl.REPL_MODE_SLOPPY` - evaluates expressions in sloppy mode. + * - `repl.REPL_MODE_STRICT` - evaluates expressions in strict mode. This is equivalent to + * prefacing every repl statement with `'use strict'`. + */ + readonly replMode: typeof REPL_MODE_SLOPPY | typeof REPL_MODE_STRICT; + + /** + * NOTE: According to the documentation: + * + * > Instances of `repl.REPLServer` are created using the `repl.start()` method and + * > _should not_ be created directly using the JavaScript `new` keyword. + * + * `REPLServer` cannot be subclassed due to implementation specifics in NodeJS. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_class_replserver + */ + private constructor(); + + /** + * Used to add new `.`-prefixed commands to the REPL instance. Such commands are invoked + * by typing a `.` followed by the `keyword`. + * + * @param keyword The command keyword (_without_ a leading `.` character). + * @param cmd The function to invoke when the command is processed. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_replserver_definecommand_keyword_cmd + */ + defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void; + /** + * Readies the REPL instance for input from the user, printing the configured `prompt` to a + * new line in the `output` and resuming the `input` to accept new input. + * + * When multi-line input is being entered, an ellipsis is printed rather than the 'prompt'. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @param preserveCursor When `true`, the cursor placement will not be reset to `0`. + */ + displayPrompt(preserveCursor?: boolean): void; + /** + * Clears any command that has been buffered but not yet executed. + * + * This method is primarily intended to be called from within the action function for + * commands registered using the `replServer.defineCommand()` method. + * + * @since v9.0.0 + */ + clearBufferedCommand(): void; + + /** + * Initializes a history log file for the REPL instance. When executing the + * Node.js binary and using the command line REPL, a history file is initialized + * by default. However, this is not the case when creating a REPL + * programmatically. Use this method to initialize a history log file when working + * with REPL instances programmatically. + * @param path The path to the history file + */ + setupHistory(path: string, cb: (err: Error | null, repl: this) => void): void; + + /** + * events.EventEmitter + * 1. close - inherited from `readline.Interface` + * 2. line - inherited from `readline.Interface` + * 3. pause - inherited from `readline.Interface` + * 4. resume - inherited from `readline.Interface` + * 5. SIGCONT - inherited from `readline.Interface` + * 6. SIGINT - inherited from `readline.Interface` + * 7. SIGTSTP - inherited from `readline.Interface` + * 8. exit + * 9. reset + */ + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "close", listener: () => void): this; + addListener(event: "line", listener: (input: string) => void): this; + addListener(event: "pause", listener: () => void): this; + addListener(event: "resume", listener: () => void): this; + addListener(event: "SIGCONT", listener: () => void): this; + addListener(event: "SIGINT", listener: () => void): this; + addListener(event: "SIGTSTP", listener: () => void): this; + addListener(event: "exit", listener: () => void): this; + addListener(event: "reset", listener: (context: Context) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "close"): boolean; + emit(event: "line", input: string): boolean; + emit(event: "pause"): boolean; + emit(event: "resume"): boolean; + emit(event: "SIGCONT"): boolean; + emit(event: "SIGINT"): boolean; + emit(event: "SIGTSTP"): boolean; + emit(event: "exit"): boolean; + emit(event: "reset", context: Context): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "close", listener: () => void): this; + on(event: "line", listener: (input: string) => void): this; + on(event: "pause", listener: () => void): this; + on(event: "resume", listener: () => void): this; + on(event: "SIGCONT", listener: () => void): this; + on(event: "SIGINT", listener: () => void): this; + on(event: "SIGTSTP", listener: () => void): this; + on(event: "exit", listener: () => void): this; + on(event: "reset", listener: (context: Context) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "close", listener: () => void): this; + once(event: "line", listener: (input: string) => void): this; + once(event: "pause", listener: () => void): this; + once(event: "resume", listener: () => void): this; + once(event: "SIGCONT", listener: () => void): this; + once(event: "SIGINT", listener: () => void): this; + once(event: "SIGTSTP", listener: () => void): this; + once(event: "exit", listener: () => void): this; + once(event: "reset", listener: (context: Context) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "close", listener: () => void): this; + prependListener(event: "line", listener: (input: string) => void): this; + prependListener(event: "pause", listener: () => void): this; + prependListener(event: "resume", listener: () => void): this; + prependListener(event: "SIGCONT", listener: () => void): this; + prependListener(event: "SIGINT", listener: () => void): this; + prependListener(event: "SIGTSTP", listener: () => void): this; + prependListener(event: "exit", listener: () => void): this; + prependListener(event: "reset", listener: (context: Context) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "line", listener: (input: string) => void): this; + prependOnceListener(event: "pause", listener: () => void): this; + prependOnceListener(event: "resume", listener: () => void): this; + prependOnceListener(event: "SIGCONT", listener: () => void): this; + prependOnceListener(event: "SIGINT", listener: () => void): this; + prependOnceListener(event: "SIGTSTP", listener: () => void): this; + prependOnceListener(event: "exit", listener: () => void): this; + prependOnceListener(event: "reset", listener: (context: Context) => void): this; + } + + /** + * A flag passed in the REPL options. Evaluates expressions in sloppy mode. + */ + const REPL_MODE_SLOPPY: symbol; // TODO: unique symbol + + /** + * A flag passed in the REPL options. Evaluates expressions in strict mode. + * This is equivalent to prefacing every repl statement with `'use strict'`. + */ + const REPL_MODE_STRICT: symbol; // TODO: unique symbol + + /** + * Creates and starts a `repl.REPLServer` instance. + * + * @param options The options for the `REPLServer`. If `options` is a string, then it specifies + * the input prompt. + */ + function start(options?: string | ReplOptions): REPLServer; + + /** + * Indicates a recoverable error that a `REPLServer` can use to support multi-line input. + * + * @see https://nodejs.org/dist/latest-v10.x/docs/api/repl.html#repl_recoverable_errors + */ + class Recoverable extends SyntaxError { + err: Error; + + constructor(err: Error); + } +} diff --git a/node_modules/@types/node/stream.d.ts b/node_modules/@types/node/stream.d.ts new file mode 100644 index 0000000..15c73d8 --- /dev/null +++ b/node_modules/@types/node/stream.d.ts @@ -0,0 +1,314 @@ +declare module "stream" { + import * as events from "events"; + + class internal extends events.EventEmitter { + pipe(destination: T, options?: { end?: boolean; }): T; + } + + namespace internal { + class Stream extends internal { } + + interface ReadableOptions { + highWaterMark?: number; + encoding?: string; + objectMode?: boolean; + read?(this: Readable, size: number): void; + destroy?(this: Readable, error: Error | null, callback: (error: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Readable extends Stream implements NodeJS.ReadableStream { + /** + * A utility method for creating Readable Streams out of iterators. + */ + static from(iterable: Iterable | AsyncIterable, options?: ReadableOptions): Readable; + + readable: boolean; + readonly readableHighWaterMark: number; + readonly readableLength: number; + readonly readableObjectMode: boolean; + destroyed: boolean; + constructor(opts?: ReadableOptions); + _read(size: number): void; + read(size?: number): any; + setEncoding(encoding: string): this; + pause(): this; + resume(): this; + isPaused(): boolean; + unpipe(destination?: NodeJS.WritableStream): this; + unshift(chunk: any, encoding?: BufferEncoding): void; + wrap(oldStream: NodeJS.ReadableStream): this; + push(chunk: any, encoding?: string): boolean; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. data + * 3. end + * 4. readable + * 5. error + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "data", listener: (chunk: any) => void): this; + addListener(event: "end", listener: () => void): this; + addListener(event: "readable", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "data", chunk: any): boolean; + emit(event: "end"): boolean; + emit(event: "readable"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "data", listener: (chunk: any) => void): this; + on(event: "end", listener: () => void): this; + on(event: "readable", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "data", listener: (chunk: any) => void): this; + once(event: "end", listener: () => void): this; + once(event: "readable", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "data", listener: (chunk: any) => void): this; + prependListener(event: "end", listener: () => void): this; + prependListener(event: "readable", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "data", listener: (chunk: any) => void): this; + prependOnceListener(event: "end", listener: () => void): this; + prependOnceListener(event: "readable", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "data", listener: (chunk: any) => void): this; + removeListener(event: "end", listener: () => void): this; + removeListener(event: "readable", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + [Symbol.asyncIterator](): AsyncIterableIterator; + } + + interface WritableOptions { + highWaterMark?: number; + decodeStrings?: boolean; + defaultEncoding?: string; + objectMode?: boolean; + emitClose?: boolean; + write?(this: Writable, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Writable, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + destroy?(this: Writable, error: Error | null, callback: (error: Error | null) => void): void; + final?(this: Writable, callback: (error?: Error | null) => void): void; + autoDestroy?: boolean; + } + + class Writable extends Stream implements NodeJS.WritableStream { + readonly writable: boolean; + readonly writableEnded: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + destroyed: boolean; + constructor(opts?: WritableOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error?: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, encoding: string, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding: string, cb?: () => void): void; + cork(): void; + uncork(): void; + destroy(error?: Error): void; + + /** + * Event emitter + * The defined events on documents including: + * 1. close + * 2. drain + * 3. error + * 4. finish + * 5. pipe + * 6. unpipe + */ + addListener(event: "close", listener: () => void): this; + addListener(event: "drain", listener: () => void): this; + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "finish", listener: () => void): this; + addListener(event: "pipe", listener: (src: Readable) => void): this; + addListener(event: "unpipe", listener: (src: Readable) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "drain"): boolean; + emit(event: "error", err: Error): boolean; + emit(event: "finish"): boolean; + emit(event: "pipe", src: Readable): boolean; + emit(event: "unpipe", src: Readable): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "drain", listener: () => void): this; + on(event: "error", listener: (err: Error) => void): this; + on(event: "finish", listener: () => void): this; + on(event: "pipe", listener: (src: Readable) => void): this; + on(event: "unpipe", listener: (src: Readable) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "drain", listener: () => void): this; + once(event: "error", listener: (err: Error) => void): this; + once(event: "finish", listener: () => void): this; + once(event: "pipe", listener: (src: Readable) => void): this; + once(event: "unpipe", listener: (src: Readable) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "drain", listener: () => void): this; + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "finish", listener: () => void): this; + prependListener(event: "pipe", listener: (src: Readable) => void): this; + prependListener(event: "unpipe", listener: (src: Readable) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "drain", listener: () => void): this; + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "finish", listener: () => void): this; + prependOnceListener(event: "pipe", listener: (src: Readable) => void): this; + prependOnceListener(event: "unpipe", listener: (src: Readable) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "drain", listener: () => void): this; + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "finish", listener: () => void): this; + removeListener(event: "pipe", listener: (src: Readable) => void): this; + removeListener(event: "unpipe", listener: (src: Readable) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface DuplexOptions extends ReadableOptions, WritableOptions { + allowHalfOpen?: boolean; + readableObjectMode?: boolean; + writableObjectMode?: boolean; + read?(this: Duplex, size: number): void; + write?(this: Duplex, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Duplex, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Duplex, callback: (error?: Error | null) => void): void; + destroy?(this: Duplex, error: Error | null, callback: (error: Error | null) => void): void; + } + + // Note: Duplex extends both Readable and Writable. + class Duplex extends Readable implements Writable { + readonly writable: boolean; + readonly writableEnded: boolean; + readonly writableFinished: boolean; + readonly writableHighWaterMark: number; + readonly writableLength: number; + readonly writableObjectMode: boolean; + constructor(opts?: DuplexOptions); + _write(chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + _writev?(chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + _destroy(error: Error | null, callback: (error: Error | null) => void): void; + _final(callback: (error?: Error | null) => void): void; + write(chunk: any, encoding?: string, cb?: (error: Error | null | undefined) => void): boolean; + write(chunk: any, cb?: (error: Error | null | undefined) => void): boolean; + setDefaultEncoding(encoding: string): this; + end(cb?: () => void): void; + end(chunk: any, cb?: () => void): void; + end(chunk: any, encoding?: string, cb?: () => void): void; + cork(): void; + uncork(): void; + } + + type TransformCallback = (error?: Error | null, data?: any) => void; + + interface TransformOptions extends DuplexOptions { + read?(this: Transform, size: number): void; + write?(this: Transform, chunk: any, encoding: string, callback: (error?: Error | null) => void): void; + writev?(this: Transform, chunks: Array<{ chunk: any, encoding: string }>, callback: (error?: Error | null) => void): void; + final?(this: Transform, callback: (error?: Error | null) => void): void; + destroy?(this: Transform, error: Error | null, callback: (error: Error | null) => void): void; + transform?(this: Transform, chunk: any, encoding: string, callback: TransformCallback): void; + flush?(this: Transform, callback: TransformCallback): void; + } + + class Transform extends Duplex { + constructor(opts?: TransformOptions); + _transform(chunk: any, encoding: string, callback: TransformCallback): void; + _flush(callback: TransformCallback): void; + } + + class PassThrough extends Transform { } + + function finished(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream, callback: (err?: NodeJS.ErrnoException | null) => void): () => void; + namespace finished { + function __promisify__(stream: NodeJS.ReadableStream | NodeJS.WritableStream | NodeJS.ReadWriteStream): Promise; + } + + function pipeline(stream1: NodeJS.ReadableStream, stream2: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: T, callback?: (err: NodeJS.ErrnoException | null) => void): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: T, + callback?: (err: NodeJS.ErrnoException | null) => void, + ): T; + function pipeline(streams: Array, callback?: (err: NodeJS.ErrnoException | null) => void): NodeJS.WritableStream; + function pipeline( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array void)>, + ): NodeJS.WritableStream; + namespace pipeline { + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.WritableStream): Promise; + function __promisify__(stream1: NodeJS.ReadableStream, stream2: NodeJS.ReadWriteStream, stream3: NodeJS.ReadWriteStream, stream4: NodeJS.WritableStream): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream, + stream3: NodeJS.ReadWriteStream, + stream4: NodeJS.ReadWriteStream, + stream5: NodeJS.WritableStream, + ): Promise; + function __promisify__(streams: Array): Promise; + function __promisify__( + stream1: NodeJS.ReadableStream, + stream2: NodeJS.ReadWriteStream | NodeJS.WritableStream, + ...streams: Array, + ): Promise; + } + + interface Pipe { } + } + + export = internal; +} diff --git a/node_modules/@types/node/string_decoder.d.ts b/node_modules/@types/node/string_decoder.d.ts new file mode 100644 index 0000000..fe0e0b4 --- /dev/null +++ b/node_modules/@types/node/string_decoder.d.ts @@ -0,0 +1,7 @@ +declare module "string_decoder" { + class StringDecoder { + constructor(encoding?: string); + write(buffer: Buffer): string; + end(buffer?: Buffer): string; + } +} diff --git a/node_modules/@types/node/timers.d.ts b/node_modules/@types/node/timers.d.ts new file mode 100644 index 0000000..e64a673 --- /dev/null +++ b/node_modules/@types/node/timers.d.ts @@ -0,0 +1,16 @@ +declare module "timers" { + function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + namespace setTimeout { + function __promisify__(ms: number): Promise; + function __promisify__(ms: number, value: T): Promise; + } + function clearTimeout(timeoutId: NodeJS.Timeout): void; + function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timeout; + function clearInterval(intervalId: NodeJS.Timeout): void; + function setImmediate(callback: (...args: any[]) => void, ...args: any[]): NodeJS.Immediate; + namespace setImmediate { + function __promisify__(): Promise; + function __promisify__(value: T): Promise; + } + function clearImmediate(immediateId: NodeJS.Immediate): void; +} diff --git a/node_modules/@types/node/tls.d.ts b/node_modules/@types/node/tls.d.ts new file mode 100644 index 0000000..2ff817b --- /dev/null +++ b/node_modules/@types/node/tls.d.ts @@ -0,0 +1,418 @@ +declare module "tls" { + import * as crypto from "crypto"; + import * as dns from "dns"; + import * as net from "net"; + import * as stream from "stream"; + + const CLIENT_RENEG_LIMIT: number; + const CLIENT_RENEG_WINDOW: number; + + interface Certificate { + /** + * Country code. + */ + C: string; + /** + * Street. + */ + ST: string; + /** + * Locality. + */ + L: string; + /** + * Organization. + */ + O: string; + /** + * Organizational unit. + */ + OU: string; + /** + * Common name. + */ + CN: string; + } + + interface PeerCertificate { + subject: Certificate; + issuer: Certificate; + subjectaltname: string; + infoAccess: { [index: string]: string[] | undefined }; + modulus: string; + exponent: string; + valid_from: string; + valid_to: string; + fingerprint: string; + ext_key_usage: string[]; + serialNumber: string; + raw: Buffer; + } + + interface DetailedPeerCertificate extends PeerCertificate { + issuerCertificate: DetailedPeerCertificate; + } + + interface CipherNameAndProtocol { + /** + * The cipher name. + */ + name: string; + /** + * SSL/TLS protocol version. + */ + version: string; + } + + interface TLSSocketOptions extends SecureContextOptions, CommonConnectionOptions { + /** + * If true the TLS socket will be instantiated in server-mode. + * Defaults to false. + */ + isServer?: boolean; + /** + * An optional net.Server instance. + */ + server?: net.Server; + + /** + * An optional Buffer instance containing a TLS session. + */ + session?: Buffer; + /** + * If true, specifies that the OCSP status request extension will be + * added to the client hello and an 'OCSPResponse' event will be + * emitted on the socket before establishing a secure communication + */ + requestOCSP?: boolean; + } + + class TLSSocket extends net.Socket { + /** + * Construct a new tls.TLSSocket object from an existing TCP socket. + */ + constructor(socket: net.Socket, options?: TLSSocketOptions); + + /** + * A boolean that is true if the peer certificate was signed by one of the specified CAs, otherwise false. + */ + authorized: boolean; + /** + * The reason why the peer's certificate has not been verified. + * This property becomes available only when tlsSocket.authorized === false. + */ + authorizationError: Error; + /** + * Static boolean value, always true. + * May be used to distinguish TLS sockets from regular ones. + */ + encrypted: boolean; + + /** + * String containing the selected ALPN protocol. + * When ALPN has no selected protocol, tlsSocket.alpnProtocol equals false. + */ + alpnProtocol?: string; + + /** + * Returns an object representing the cipher name and the SSL/TLS protocol version of the current connection. + * @returns Returns an object representing the cipher name + * and the SSL/TLS protocol version of the current connection. + */ + getCipher(): CipherNameAndProtocol; + /** + * Returns an object representing the peer's certificate. + * The returned object has some properties corresponding to the field of the certificate. + * If detailed argument is true the full chain with issuer property will be returned, + * if false only the top certificate without issuer property. + * If the peer does not provide a certificate, it returns null or an empty object. + * @param detailed - If true; the full chain with issuer property will be returned. + * @returns An object representing the peer's certificate. + */ + getPeerCertificate(detailed: true): DetailedPeerCertificate; + getPeerCertificate(detailed?: false): PeerCertificate; + getPeerCertificate(detailed?: boolean): PeerCertificate | DetailedPeerCertificate; + /** + * Returns a string containing the negotiated SSL/TLS protocol version of the current connection. + * The value `'unknown'` will be returned for connected sockets that have not completed the handshaking process. + * The value `null` will be returned for server sockets or disconnected client sockets. + * See https://www.openssl.org/docs/man1.0.2/ssl/SSL_get_version.html for more information. + * @returns negotiated SSL/TLS protocol version of the current connection + */ + getProtocol(): string | null; + /** + * Could be used to speed up handshake establishment when reconnecting to the server. + * @returns ASN.1 encoded TLS session or undefined if none was negotiated. + */ + getSession(): Buffer | undefined; + /** + * NOTE: Works only with client TLS sockets. + * Useful only for debugging, for session reuse provide session option to tls.connect(). + * @returns TLS session ticket or undefined if none was negotiated. + */ + getTLSTicket(): Buffer | undefined; + /** + * Initiate TLS renegotiation process. + * + * NOTE: Can be used to request peer's certificate after the secure connection has been established. + * ANOTHER NOTE: When running as the server, socket will be destroyed with an error after handshakeTimeout timeout. + * @param options - The options may contain the following fields: rejectUnauthorized, + * requestCert (See tls.createServer() for details). + * @param callback - callback(err) will be executed with null as err, once the renegotiation + * is successfully completed. + * @return `undefined` when socket is destroy, `false` if negotiaion can't be initiated. + */ + renegotiate(options: { rejectUnauthorized?: boolean, requestCert?: boolean }, callback: (err: Error | null) => void): undefined | boolean; + /** + * Set maximum TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * Smaller fragment size decreases buffering latency on the client: large fragments are buffered by + * the TLS layer until the entire fragment is received and its integrity is verified; + * large fragments can span multiple roundtrips, and their processing can be delayed due to packet + * loss or reordering. However, smaller fragments add extra TLS framing bytes and CPU overhead, + * which may decrease overall server throughput. + * @param size - TLS fragment size (default and maximum value is: 16384, minimum is: 512). + * @returns Returns true on success, false otherwise. + */ + setMaxSendFragment(size: number): boolean; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * + * Note: The format of the output is identical to the output of `openssl s_client + * -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's + * `SSL_trace()` function, the format is undocumented, can change without notice, + * and should not be relied on. + */ + enableTrace(): void; + + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + addListener(event: "secureConnect", listener: () => void): this; + addListener(event: "session", listener: (session: Buffer) => void): this; + addListener(event: "keylog", listener: (line: Buffer) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "OCSPResponse", response: Buffer): boolean; + emit(event: "secureConnect"): boolean; + emit(event: "session", session: Buffer): boolean; + emit(event: "keylog", line: Buffer): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "OCSPResponse", listener: (response: Buffer) => void): this; + on(event: "secureConnect", listener: () => void): this; + on(event: "session", listener: (session: Buffer) => void): this; + on(event: "keylog", listener: (line: Buffer) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "OCSPResponse", listener: (response: Buffer) => void): this; + once(event: "secureConnect", listener: () => void): this; + once(event: "session", listener: (session: Buffer) => void): this; + once(event: "keylog", listener: (line: Buffer) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependListener(event: "secureConnect", listener: () => void): this; + prependListener(event: "session", listener: (session: Buffer) => void): this; + prependListener(event: "keylog", listener: (line: Buffer) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "OCSPResponse", listener: (response: Buffer) => void): this; + prependOnceListener(event: "secureConnect", listener: () => void): this; + prependOnceListener(event: "session", listener: (session: Buffer) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer) => void): this; + } + + interface CommonConnectionOptions { + /** + * An optional TLS context object from tls.createSecureContext() + */ + secureContext?: SecureContext; + + /** + * When enabled, TLS packet trace information is written to `stderr`. This can be + * used to debug TLS connection problems. + * @default false + */ + enableTrace?: boolean; + /** + * If true the server will request a certificate from clients that + * connect and attempt to verify that certificate. Defaults to + * false. + */ + requestCert?: boolean; + /** + * An array of strings or a Buffer naming possible ALPN protocols. + * (Protocols should be ordered by their priority.) + */ + ALPNProtocols?: string[] | Uint8Array[] | Uint8Array; + /** + * SNICallback(servername, cb) A function that will be + * called if the client supports SNI TLS extension. Two arguments + * will be passed when called: servername and cb. SNICallback should + * invoke cb(null, ctx), where ctx is a SecureContext instance. + * (tls.createSecureContext(...) can be used to get a proper + * SecureContext.) If SNICallback wasn't provided the default callback + * with high-level API will be used (see below). + */ + SNICallback?: (servername: string, cb: (err: Error | null, ctx: SecureContext) => void) => void; + /** + * If true the server will reject any connection which is not + * authorized with the list of supplied CAs. This option only has an + * effect if requestCert is true. + * @default true + */ + rejectUnauthorized?: boolean; + } + + interface TlsOptions extends SecureContextOptions, CommonConnectionOptions { + handshakeTimeout?: number; + sessionTimeout?: number; + ticketKeys?: Buffer; + } + + interface ConnectionOptions extends SecureContextOptions, CommonConnectionOptions { + host?: string; + port?: number; + path?: string; // Creates unix socket connection to path. If this option is specified, `host` and `port` are ignored. + socket?: net.Socket; // Establish secure connection on a given socket rather than creating a new socket + checkServerIdentity?: typeof checkServerIdentity; + servername?: string; // SNI TLS Extension + session?: Buffer; + minDHSize?: number; + lookup?: net.LookupFunction; + timeout?: number; + } + + class Server extends net.Server { + addContext(hostName: string, credentials: SecureContextOptions): void; + + /** + * events.EventEmitter + * 1. tlsClientError + * 2. newSession + * 3. OCSPRequest + * 4. resumeSession + * 5. secureConnection + */ + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + addListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + addListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + addListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + addListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + addListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "tlsClientError", err: Error, tlsSocket: TLSSocket): boolean; + emit(event: "newSession", sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean; + emit(event: "OCSPRequest", certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean; + emit(event: "resumeSession", sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean; + emit(event: "secureConnection", tlsSocket: TLSSocket): boolean; + emit(event: "keylog", line: Buffer, tlsSocket: TLSSocket): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + on(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + on(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + on(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + on(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + on(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + once(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + once(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + once(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + once(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + once(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "tlsClientError", listener: (err: Error, tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "newSession", listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this; + prependOnceListener(event: "OCSPRequest", listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this; + prependOnceListener(event: "resumeSession", listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this; + prependOnceListener(event: "secureConnection", listener: (tlsSocket: TLSSocket) => void): this; + prependOnceListener(event: "keylog", listener: (line: Buffer, tlsSocket: TLSSocket) => void): this; + } + + interface SecurePair { + encrypted: TLSSocket; + cleartext: TLSSocket; + } + + type SecureVersion = 'TLSv1.3' | 'TLSv1.2' | 'TLSv1.1' | 'TLSv1'; + + interface SecureContextOptions { + pfx?: string | Buffer | Array; + key?: string | Buffer | Array; + passphrase?: string; + cert?: string | Buffer | Array; + ca?: string | Buffer | Array; + ciphers?: string; + honorCipherOrder?: boolean; + ecdhCurve?: string; + clientCertEngine?: string; + crl?: string | Buffer | Array; + dhparam?: string | Buffer; + secureOptions?: number; // Value is a numeric bitmask of the `SSL_OP_*` options + secureProtocol?: string; // SSL Method, e.g. SSLv23_method + sessionIdContext?: string; + /** + * Optionally set the maximum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. + * **Default:** `'TLSv1.3'`, unless changed using CLI options. Using + * `--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to + * `'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used. + */ + maxVersion?: SecureVersion; + /** + * Optionally set the minimum TLS version to allow. One + * of `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the + * `secureProtocol` option, use one or the other. It is not recommended to use + * less than TLSv1.2, but it may be required for interoperability. + * **Default:** `'TLSv1.2'`, unless changed using CLI options. Using + * `--tls-v1.0` sets the default to `'TLSv1'`. Using `--tls-v1.1` sets the default to + * `'TLSv1.1'`. Using `--tls-min-v1.3` sets the default to + * 'TLSv1.3'. If multiple of the options are provided, the lowest minimum is used. + */ + minVersion?: SecureVersion; + } + + interface SecureContext { + context: any; + } + + /* + * Verifies the certificate `cert` is issued to host `host`. + * @host The hostname to verify the certificate against + * @cert PeerCertificate representing the peer's certificate + * + * Returns Error object, populating it with the reason, host and cert on failure. On success, returns undefined. + */ + function checkServerIdentity(host: string, cert: PeerCertificate): Error | undefined; + function createServer(secureConnectionListener?: (socket: TLSSocket) => void): Server; + function createServer(options: TlsOptions, secureConnectionListener?: (socket: TLSSocket) => void): Server; + function connect(options: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () => void): TLSSocket; + /** + * @deprecated + */ + function createSecurePair(credentials?: SecureContext, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair; + function createSecureContext(details: SecureContextOptions): SecureContext; + function getCiphers(): string[]; + + const DEFAULT_ECDH_CURVE: string; + + const rootCertificates: ReadonlyArray; +} diff --git a/node_modules/@types/node/trace_events.d.ts b/node_modules/@types/node/trace_events.d.ts new file mode 100644 index 0000000..1f3a89c --- /dev/null +++ b/node_modules/@types/node/trace_events.d.ts @@ -0,0 +1,61 @@ +declare module "trace_events" { + /** + * The `Tracing` object is used to enable or disable tracing for sets of + * categories. Instances are created using the + * `trace_events.createTracing()` method. + * + * When created, the `Tracing` object is disabled. Calling the + * `tracing.enable()` method adds the categories to the set of enabled trace + * event categories. Calling `tracing.disable()` will remove the categories + * from the set of enabled trace event categories. + */ + interface Tracing { + /** + * A comma-separated list of the trace event categories covered by this + * `Tracing` object. + */ + readonly categories: string; + + /** + * Disables this `Tracing` object. + * + * Only trace event categories _not_ covered by other enabled `Tracing` + * objects and _not_ specified by the `--trace-event-categories` flag + * will be disabled. + */ + disable(): void; + + /** + * Enables this `Tracing` object for the set of categories covered by + * the `Tracing` object. + */ + enable(): void; + + /** + * `true` only if the `Tracing` object has been enabled. + */ + readonly enabled: boolean; + } + + interface CreateTracingOptions { + /** + * An array of trace category names. Values included in the array are + * coerced to a string when possible. An error will be thrown if the + * value cannot be coerced. + */ + categories: string[]; + } + + /** + * Creates and returns a Tracing object for the given set of categories. + */ + function createTracing(options: CreateTracingOptions): Tracing; + + /** + * Returns a comma-separated list of all currently-enabled trace event + * categories. The current set of enabled trace event categories is + * determined by the union of all currently-enabled `Tracing` objects and + * any categories enabled using the `--trace-event-categories` flag. + */ + function getEnabledCategories(): string | undefined; +} diff --git a/node_modules/@types/node/ts3.2/fs.d.ts b/node_modules/@types/node/ts3.2/fs.d.ts new file mode 100644 index 0000000..0a9eae0 --- /dev/null +++ b/node_modules/@types/node/ts3.2/fs.d.ts @@ -0,0 +1,33 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare module 'fs' { + interface BigIntStats extends StatsBase { + } + + class BigIntStats { + atimeNs: BigInt; + mtimeNs: BigInt; + ctimeNs: BigInt; + birthtimeNs: BigInt; + } + + interface BigIntOptions { + bigint: true; + } + + interface StatOptions { + bigint: boolean; + } + + function stat(path: PathLike, options: BigIntOptions, callback: (err: NodeJS.ErrnoException | null, stats: BigIntStats) => void): void; + function stat(path: PathLike, options: StatOptions, callback: (err: NodeJS.ErrnoException | null, stats: Stats | BigIntStats) => void): void; + + namespace stat { + function __promisify__(path: PathLike, options: BigIntOptions): Promise; + function __promisify__(path: PathLike, options: StatOptions): Promise; + } + + function statSync(path: PathLike, options: BigIntOptions): BigIntStats; + function statSync(path: PathLike, options: StatOptions): Stats | BigIntStats; +} diff --git a/node_modules/@types/node/ts3.2/globals.d.ts b/node_modules/@types/node/ts3.2/globals.d.ts new file mode 100644 index 0000000..70892bc --- /dev/null +++ b/node_modules/@types/node/ts3.2/globals.d.ts @@ -0,0 +1,19 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare namespace NodeJS { + interface HRTime { + bigint(): bigint; + } +} + +interface Buffer extends Uint8Array { + readBigUInt64BE(offset?: number): bigint; + readBigUInt64LE(offset?: number): bigint; + readBigInt64BE(offset?: number): bigint; + readBigInt64LE(offset?: number): bigint; + writeBigInt64BE(value: bigint, offset?: number): number; + writeBigInt64LE(value: bigint, offset?: number): number; + writeBigUInt64BE(value: bigint, offset?: number): number; + writeBigUInt64LE(value: bigint, offset?: number): number; +} diff --git a/node_modules/@types/node/ts3.2/index.d.ts b/node_modules/@types/node/ts3.2/index.d.ts new file mode 100644 index 0000000..ee07693 --- /dev/null +++ b/node_modules/@types/node/ts3.2/index.d.ts @@ -0,0 +1,21 @@ +// NOTE: These definitions support NodeJS and TypeScript 3.2. + +// NOTE: TypeScript version-specific augmentations can be found in the following paths: +// - ~/base.d.ts - Shared definitions common to all TypeScript versions +// - ~/index.d.ts - Definitions specific to TypeScript 2.1 +// - ~/ts3.2/index.d.ts - Definitions specific to TypeScript 3.2 + +// Reference required types from the default lib: +/// +/// +/// +/// + +// Base definitions for all NodeJS modules that are not specific to any version of TypeScript: +// tslint:disable-next-line:no-bad-reference +/// + +// TypeScript 3.2-specific augmentations: +/// +/// +/// diff --git a/node_modules/@types/node/ts3.2/util.d.ts b/node_modules/@types/node/ts3.2/util.d.ts new file mode 100644 index 0000000..a8b2487 --- /dev/null +++ b/node_modules/@types/node/ts3.2/util.d.ts @@ -0,0 +1,15 @@ +// tslint:disable-next-line:no-bad-reference +/// + +declare module "util" { + namespace inspect { + const custom: unique symbol; + } + namespace promisify { + const custom: unique symbol; + } + namespace types { + function isBigInt64Array(value: any): value is BigInt64Array; + function isBigUint64Array(value: any): value is BigUint64Array; + } +} diff --git a/node_modules/@types/node/tty.d.ts b/node_modules/@types/node/tty.d.ts new file mode 100644 index 0000000..22bce21 --- /dev/null +++ b/node_modules/@types/node/tty.d.ts @@ -0,0 +1,66 @@ +declare module "tty" { + import * as net from "net"; + + function isatty(fd: number): boolean; + class ReadStream extends net.Socket { + constructor(fd: number, options?: net.SocketConstructorOpts); + isRaw: boolean; + setRawMode(mode: boolean): void; + isTTY: boolean; + } + /** + * -1 - to the left from cursor + * 0 - the entire line + * 1 - to the right from cursor + */ + type Direction = -1 | 0 | 1; + class WriteStream extends net.Socket { + constructor(fd: number); + addListener(event: string, listener: (...args: any[]) => void): this; + addListener(event: "resize", listener: () => void): this; + + emit(event: string | symbol, ...args: any[]): boolean; + emit(event: "resize"): boolean; + + on(event: string, listener: (...args: any[]) => void): this; + on(event: "resize", listener: () => void): this; + + once(event: string, listener: (...args: any[]) => void): this; + once(event: "resize", listener: () => void): this; + + prependListener(event: string, listener: (...args: any[]) => void): this; + prependListener(event: "resize", listener: () => void): this; + + prependOnceListener(event: string, listener: (...args: any[]) => void): this; + prependOnceListener(event: "resize", listener: () => void): this; + + /** + * Clears the current line of this WriteStream in a direction identified by `dir`. + */ + clearLine(dir: Direction, callback?: () => void): boolean; + /** + * Clears this `WriteStream` from the current cursor down. + */ + clearScreenDown(callback?: () => void): boolean; + /** + * Moves this WriteStream's cursor to the specified position. + */ + cursorTo(x: number, y?: number, callback?: () => void): boolean; + cursorTo(x: number, callback: () => void): boolean; + /** + * Moves this WriteStream's cursor relative to its current position. + */ + moveCursor(dx: number, dy: number, callback?: () => void): boolean; + /** + * @default `process.env` + */ + getColorDepth(env?: {}): number; + hasColors(depth?: number): boolean; + hasColors(env?: {}): boolean; + hasColors(depth: number, env?: {}): boolean; + getWindowSize(): [number, number]; + columns: number; + rows: number; + isTTY: boolean; + } +} diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts new file mode 100644 index 0000000..51dcd69 --- /dev/null +++ b/node_modules/@types/node/url.d.ts @@ -0,0 +1,104 @@ +declare module "url" { + import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; + + interface UrlObjectCommon { + auth?: string; + hash?: string; + host?: string; + hostname?: string; + href?: string; + path?: string; + pathname?: string; + protocol?: string; + search?: string; + slashes?: boolean; + } + + // Input to `url.format` + interface UrlObject extends UrlObjectCommon { + port?: string | number; + query?: string | null | ParsedUrlQueryInput; + } + + // Output of `url.parse` + interface Url extends UrlObjectCommon { + port?: string; + query?: string | null | ParsedUrlQuery; + } + + interface UrlWithParsedQuery extends Url { + query: ParsedUrlQuery; + } + + interface UrlWithStringQuery extends Url { + query: string | null; + } + + function parse(urlStr: string): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: false | undefined, slashesDenoteHost?: boolean): UrlWithStringQuery; + function parse(urlStr: string, parseQueryString: true, slashesDenoteHost?: boolean): UrlWithParsedQuery; + function parse(urlStr: string, parseQueryString: boolean, slashesDenoteHost?: boolean): Url; + + function format(URL: URL, options?: URLFormatOptions): string; + function format(urlObject: UrlObject | string): string; + function resolve(from: string, to: string): string; + + function domainToASCII(domain: string): string; + function domainToUnicode(domain: string): string; + + /** + * This function ensures the correct decodings of percent-encoded characters as + * well as ensuring a cross-platform valid absolute path string. + * @param url The file URL string or URL object to convert to a path. + */ + function fileURLToPath(url: string | URL): string; + + /** + * This function ensures that path is resolved absolutely, and that the URL + * control characters are correctly encoded when converting into a File URL. + * @param url The path to convert to a File URL. + */ + function pathToFileURL(url: string): URL; + + interface URLFormatOptions { + auth?: boolean; + fragment?: boolean; + search?: boolean; + unicode?: boolean; + } + + class URL { + constructor(input: string, base?: string | URL); + hash: string; + host: string; + hostname: string; + href: string; + readonly origin: string; + password: string; + pathname: string; + port: string; + protocol: string; + search: string; + readonly searchParams: URLSearchParams; + username: string; + toString(): string; + toJSON(): string; + } + + class URLSearchParams implements Iterable<[string, string]> { + constructor(init?: URLSearchParams | string | { [key: string]: string | string[] | undefined } | Iterable<[string, string]> | Array<[string, string]>); + append(name: string, value: string): void; + delete(name: string): void; + entries(): IterableIterator<[string, string]>; + forEach(callback: (value: string, name: string, searchParams: this) => void): void; + get(name: string): string | null; + getAll(name: string): string[]; + has(name: string): boolean; + keys(): IterableIterator; + set(name: string, value: string): void; + sort(): void; + toString(): string; + values(): IterableIterator; + [Symbol.iterator](): IterableIterator<[string, string]>; + } +} diff --git a/node_modules/@types/node/util.d.ts b/node_modules/@types/node/util.d.ts new file mode 100644 index 0000000..e0b6c89 --- /dev/null +++ b/node_modules/@types/node/util.d.ts @@ -0,0 +1,180 @@ +declare module "util" { + interface InspectOptions extends NodeJS.InspectOptions { } + function format(format: any, ...param: any[]): string; + function formatWithOptions(inspectOptions: InspectOptions, format: string, ...param: any[]): string; + /** @deprecated since v0.11.3 - use a third party module instead. */ + function log(string: string): void; + function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string; + function inspect(object: any, options: InspectOptions): string; + namespace inspect { + let colors: { + [color: string]: [number, number] | undefined + }; + let styles: { + [style: string]: string | undefined + }; + let defaultOptions: InspectOptions; + /** + * Allows changing inspect settings from the repl. + */ + let replDefaults: InspectOptions; + } + /** @deprecated since v4.0.0 - use `Array.isArray()` instead. */ + function isArray(object: any): object is any[]; + /** @deprecated since v4.0.0 - use `util.types.isRegExp()` instead. */ + function isRegExp(object: any): object is RegExp; + /** @deprecated since v4.0.0 - use `util.types.isDate()` instead. */ + function isDate(object: any): object is Date; + /** @deprecated since v4.0.0 - use `util.types.isNativeError()` instead. */ + function isError(object: any): object is Error; + function inherits(constructor: any, superConstructor: any): void; + function debuglog(key: string): (msg: string, ...param: any[]) => void; + /** @deprecated since v4.0.0 - use `typeof value === 'boolean'` instead. */ + function isBoolean(object: any): object is boolean; + /** @deprecated since v4.0.0 - use `Buffer.isBuffer()` instead. */ + function isBuffer(object: any): object is Buffer; + /** @deprecated since v4.0.0 - use `typeof value === 'function'` instead. */ + function isFunction(object: any): boolean; + /** @deprecated since v4.0.0 - use `value === null` instead. */ + function isNull(object: any): object is null; + /** @deprecated since v4.0.0 - use `value === null || value === undefined` instead. */ + function isNullOrUndefined(object: any): object is null | undefined; + /** @deprecated since v4.0.0 - use `typeof value === 'number'` instead. */ + function isNumber(object: any): object is number; + /** @deprecated since v4.0.0 - use `value !== null && typeof value === 'object'` instead. */ + function isObject(object: any): boolean; + /** @deprecated since v4.0.0 - use `(typeof value !== 'object' && typeof value !== 'function') || value === null` instead. */ + function isPrimitive(object: any): boolean; + /** @deprecated since v4.0.0 - use `typeof value === 'string'` instead. */ + function isString(object: any): object is string; + /** @deprecated since v4.0.0 - use `typeof value === 'symbol'` instead. */ + function isSymbol(object: any): object is symbol; + /** @deprecated since v4.0.0 - use `value === undefined` instead. */ + function isUndefined(object: any): object is undefined; + function deprecate(fn: T, message: string, code?: string): T; + function isDeepStrictEqual(val1: any, val2: any): boolean; + + interface CustomPromisify extends Function { + __promisify__: TCustom; + } + + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: () => Promise): (callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1) => Promise): (arg1: T1, callback: (err: NodeJS.ErrnoException, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2) => Promise): (arg1: T1, arg2: T2, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3) => Promise): (arg1: T1, arg2: T2, arg3: T3, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException) => void) => void; + function callbackify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: NodeJS.ErrnoException | null, result: TResult) => void) => void; + + function promisify(fn: CustomPromisify): TCustom; + function promisify(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise; + function promisify(fn: (callback: (err?: any) => void) => void): () => Promise; + function promisify(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): + (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): + (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify( + fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void, + ): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise; + function promisify(fn: Function): Function; + + namespace types { + function isAnyArrayBuffer(object: any): boolean; + function isArgumentsObject(object: any): object is IArguments; + function isArrayBuffer(object: any): object is ArrayBuffer; + function isAsyncFunction(object: any): boolean; + function isBooleanObject(object: any): object is Boolean; + function isBoxedPrimitive(object: any): object is (Number | Boolean | String | Symbol /* | Object(BigInt) | Object(Symbol) */); + function isDataView(object: any): object is DataView; + function isDate(object: any): object is Date; + function isExternal(object: any): boolean; + function isFloat32Array(object: any): object is Float32Array; + function isFloat64Array(object: any): object is Float64Array; + function isGeneratorFunction(object: any): boolean; + function isGeneratorObject(object: any): boolean; + function isInt8Array(object: any): object is Int8Array; + function isInt16Array(object: any): object is Int16Array; + function isInt32Array(object: any): object is Int32Array; + function isMap(object: any): boolean; + function isMapIterator(object: any): boolean; + function isModuleNamespaceObject(value: any): boolean; + function isNativeError(object: any): object is Error; + function isNumberObject(object: any): object is Number; + function isPromise(object: any): boolean; + function isProxy(object: any): boolean; + function isRegExp(object: any): object is RegExp; + function isSet(object: any): boolean; + function isSetIterator(object: any): boolean; + function isSharedArrayBuffer(object: any): boolean; + function isStringObject(object: any): boolean; + function isSymbolObject(object: any): boolean; + function isTypedArray(object: any): object is NodeJS.TypedArray; + function isUint8Array(object: any): object is Uint8Array; + function isUint8ClampedArray(object: any): object is Uint8ClampedArray; + function isUint16Array(object: any): object is Uint16Array; + function isUint32Array(object: any): object is Uint32Array; + function isWeakMap(object: any): boolean; + function isWeakSet(object: any): boolean; + function isWebAssemblyCompiledModule(object: any): boolean; + } + + class TextDecoder { + readonly encoding: string; + readonly fatal: boolean; + readonly ignoreBOM: boolean; + constructor( + encoding?: string, + options?: { fatal?: boolean; ignoreBOM?: boolean } + ); + decode( + input?: NodeJS.ArrayBufferView | ArrayBuffer | null, + options?: { stream?: boolean } + ): string; + } + + interface EncodeIntoResult { + /** + * The read Unicode code units of input. + */ + + read: number; + /** + * The written UTF-8 bytes of output. + */ + written: number; + } + + class TextEncoder { + readonly encoding: string; + encode(input?: string): Uint8Array; + encodeInto(input: string, output: Uint8Array): EncodeIntoResult; + } +} diff --git a/node_modules/@types/node/v8.d.ts b/node_modules/@types/node/v8.d.ts new file mode 100644 index 0000000..2e2706e --- /dev/null +++ b/node_modules/@types/node/v8.d.ts @@ -0,0 +1,197 @@ +declare module "v8" { + import { Readable } from "stream"; + + interface HeapSpaceInfo { + space_name: string; + space_size: number; + space_used_size: number; + space_available_size: number; + physical_space_size: number; + } + + // ** Signifies if the --zap_code_space option is enabled or not. 1 == enabled, 0 == disabled. */ + type DoesZapCodeSpaceFlag = 0 | 1; + + interface HeapInfo { + total_heap_size: number; + total_heap_size_executable: number; + total_physical_size: number; + total_available_size: number; + used_heap_size: number; + heap_size_limit: number; + malloced_memory: number; + peak_malloced_memory: number; + does_zap_garbage: DoesZapCodeSpaceFlag; + number_of_native_contexts: number; + number_of_detached_contexts: number; + } + + interface HeapCodeStatistics { + code_and_metadata_size: number; + bytecode_and_metadata_size: number; + external_script_source_size: number; + } + + /** + * Returns an integer representing a "version tag" derived from the V8 version, command line flags and detected CPU features. + * This is useful for determining whether a vm.Script cachedData buffer is compatible with this instance of V8. + */ + function cachedDataVersionTag(): number; + + function getHeapStatistics(): HeapInfo; + function getHeapSpaceStatistics(): HeapSpaceInfo[]; + function setFlagsFromString(flags: string): void; + /** + * Generates a snapshot of the current V8 heap and returns a Readable + * Stream that may be used to read the JSON serialized representation. + * This conversation was marked as resolved by joyeecheung + * This JSON stream format is intended to be used with tools such as + * Chrome DevTools. The JSON schema is undocumented and specific to the + * V8 engine, and may change from one version of V8 to the next. + */ + function getHeapSnapshot(): Readable; + + /** + * + * @param fileName The file path where the V8 heap snapshot is to be + * saved. If not specified, a file name with the pattern + * `'Heap-${yyyymmdd}-${hhmmss}-${pid}-${thread_id}.heapsnapshot'` will be + * generated, where `{pid}` will be the PID of the Node.js process, + * `{thread_id}` will be `0` when `writeHeapSnapshot()` is called from + * the main Node.js thread or the id of a worker thread. + */ + function writeHeapSnapshot(fileName?: string): string; + + function getHeapCodeStatistics(): HeapCodeStatistics; + + /** + * @experimental + */ + class Serializer { + /** + * Writes out a header, which includes the serialization format version. + */ + writeHeader(): void; + + /** + * Serializes a JavaScript value and adds the serialized representation to the internal buffer. + * This throws an error if value cannot be serialized. + */ + writeValue(val: any): boolean; + + /** + * Returns the stored internal buffer. + * This serializer should not be used once the buffer is released. + * Calling this method results in undefined behavior if a previous write has failed. + */ + releaseBuffer(): Buffer; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band.\ + * Pass the corresponding ArrayBuffer in the deserializing context to deserializer.transferArrayBuffer(). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Write a raw 32-bit unsigned integer. + */ + writeUint32(value: number): void; + + /** + * Write a raw 64-bit unsigned integer, split into high and low 32-bit parts. + */ + writeUint64(hi: number, lo: number): void; + + /** + * Write a JS number value. + */ + writeDouble(value: number): void; + + /** + * Write raw bytes into the serializer’s internal buffer. + * The deserializer will require a way to compute the length of the buffer. + */ + writeRawBytes(buffer: NodeJS.TypedArray): void; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + * @experimental + */ + class DefaultSerializer extends Serializer { + } + + /** + * @experimental + */ + class Deserializer { + constructor(data: NodeJS.TypedArray); + /** + * Reads and validates a header (including the format version). + * May, for example, reject an invalid or unsupported wire format. + * In that case, an Error is thrown. + */ + readHeader(): boolean; + + /** + * Deserializes a JavaScript value from the buffer and returns it. + */ + readValue(): any; + + /** + * Marks an ArrayBuffer as having its contents transferred out of band. + * Pass the corresponding `ArrayBuffer` in the serializing context to serializer.transferArrayBuffer() + * (or return the id from serializer._getSharedArrayBufferId() in the case of SharedArrayBuffers). + */ + transferArrayBuffer(id: number, arrayBuffer: ArrayBuffer): void; + + /** + * Reads the underlying wire format version. + * Likely mostly to be useful to legacy code reading old wire format versions. + * May not be called before .readHeader(). + */ + getWireFormatVersion(): number; + + /** + * Read a raw 32-bit unsigned integer and return it. + */ + readUint32(): number; + + /** + * Read a raw 64-bit unsigned integer and return it as an array [hi, lo] with two 32-bit unsigned integer entries. + */ + readUint64(): [number, number]; + + /** + * Read a JS number value. + */ + readDouble(): number; + + /** + * Read raw bytes from the deserializer’s internal buffer. + * The length parameter must correspond to the length of the buffer that was passed to serializer.writeRawBytes(). + */ + readRawBytes(length: number): Buffer; + } + + /** + * A subclass of `Serializer` that serializes `TypedArray` (in particular `Buffer`) and `DataView` objects as host objects, + * and only stores the part of their underlying `ArrayBuffers` that they are referring to. + * @experimental + */ + class DefaultDeserializer extends Deserializer { + } + + /** + * Uses a `DefaultSerializer` to serialize value into a buffer. + * @experimental + */ + function serialize(value: any): Buffer; + + /** + * Uses a `DefaultDeserializer` with default options to read a JS value from a buffer. + * @experimental + */ + function deserialize(data: NodeJS.TypedArray): any; +} diff --git a/node_modules/@types/node/vm.d.ts b/node_modules/@types/node/vm.d.ts new file mode 100644 index 0000000..208498c --- /dev/null +++ b/node_modules/@types/node/vm.d.ts @@ -0,0 +1,110 @@ +declare module "vm" { + interface Context { + [key: string]: any; + } + interface BaseOptions { + /** + * Specifies the filename used in stack traces produced by this script. + * Default: `''`. + */ + filename?: string; + /** + * Specifies the line number offset that is displayed in stack traces produced by this script. + * Default: `0`. + */ + lineOffset?: number; + /** + * Specifies the column number offset that is displayed in stack traces produced by this script. + * Default: `0` + */ + columnOffset?: number; + } + interface ScriptOptions extends BaseOptions { + displayErrors?: boolean; + timeout?: number; + cachedData?: Buffer; + produceCachedData?: boolean; + } + interface RunningScriptOptions extends BaseOptions { + /** + * When `true`, if an `Error` occurs while compiling the `code`, the line of code causing the error is attached to the stack trace. + * Default: `true`. + */ + displayErrors?: boolean; + /** + * Specifies the number of milliseconds to execute code before terminating execution. + * If execution is terminated, an `Error` will be thrown. This value must be a strictly positive integer. + */ + timeout?: number; + /** + * If `true`, the execution will be terminated when `SIGINT` (Ctrl+C) is received. + * Existing handlers for the event that have been attached via `process.on('SIGINT')` will be disabled during script execution, but will continue to work after that. + * If execution is terminated, an `Error` will be thrown. + * Default: `false`. + */ + breakOnSigint?: boolean; + } + interface CompileFunctionOptions extends BaseOptions { + /** + * Provides an optional data with V8's code cache data for the supplied source. + */ + cachedData?: Buffer; + /** + * Specifies whether to produce new cache data. + * Default: `false`, + */ + produceCachedData?: boolean; + /** + * The sandbox/context in which the said function should be compiled in. + */ + parsingContext?: Context; + + /** + * An array containing a collection of context extensions (objects wrapping the current scope) to be applied while compiling + */ + contextExtensions?: Object[]; + } + + interface CreateContextOptions { + /** + * Human-readable name of the newly created context. + * @default 'VM Context i' Where i is an ascending numerical index of the created context. + */ + name?: string; + /** + * Corresponds to the newly created context for display purposes. + * The origin should be formatted like a `URL`, but with only the scheme, host, and port (if necessary), + * like the value of the `url.origin` property of a URL object. + * Most notably, this string should omit the trailing slash, as that denotes a path. + * @default '' + */ + origin?: string; + codeGeneration?: { + /** + * If set to false any calls to eval or function constructors (Function, GeneratorFunction, etc) + * will throw an EvalError. + * @default true + */ + strings?: boolean; + /** + * If set to false any attempt to compile a WebAssembly module will throw a WebAssembly.CompileError. + * @default true + */ + wasm?: boolean; + }; + } + + class Script { + constructor(code: string, options?: ScriptOptions); + runInContext(contextifiedSandbox: Context, options?: RunningScriptOptions): any; + runInNewContext(sandbox?: Context, options?: RunningScriptOptions): any; + runInThisContext(options?: RunningScriptOptions): any; + createCachedData(): Buffer; + } + function createContext(sandbox?: Context, options?: CreateContextOptions): Context; + function isContext(sandbox: Context): boolean; + function runInContext(code: string, contextifiedSandbox: Context, options?: RunningScriptOptions | string): any; + function runInNewContext(code: string, sandbox?: Context, options?: RunningScriptOptions | string): any; + function runInThisContext(code: string, options?: RunningScriptOptions | string): any; + function compileFunction(code: string, params: string[], options: CompileFunctionOptions): Function; +} diff --git a/node_modules/@types/node/worker_threads.d.ts b/node_modules/@types/node/worker_threads.d.ts new file mode 100644 index 0000000..45ea85e --- /dev/null +++ b/node_modules/@types/node/worker_threads.d.ts @@ -0,0 +1,153 @@ +declare module "worker_threads" { + import { Context } from "vm"; + import { EventEmitter } from "events"; + import { Readable, Writable } from "stream"; + + const isMainThread: boolean; + const parentPort: null | MessagePort; + const threadId: number; + const workerData: any; + + class MessageChannel { + readonly port1: MessagePort; + readonly port2: MessagePort; + } + + class MessagePort extends EventEmitter { + close(): void; + postMessage(value: any, transferList?: Array): void; + ref(): void; + unref(): void; + start(): void; + + addListener(event: "close", listener: () => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "close"): boolean; + emit(event: "message", value: any): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "close", listener: () => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "close", listener: () => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "close", listener: () => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "close", listener: () => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "close", listener: () => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } + + interface WorkerOptions { + eval?: boolean; + workerData?: any; + stdin?: boolean; + stdout?: boolean; + stderr?: boolean; + execArgv?: string[]; + } + + class Worker extends EventEmitter { + readonly stdin: Writable | null; + readonly stdout: Readable; + readonly stderr: Readable; + readonly threadId: number; + + constructor(filename: string, options?: WorkerOptions); + + postMessage(value: any, transferList?: Array): void; + ref(): void; + unref(): void; + /** + * Stop all JavaScript execution in the worker thread as soon as possible. + * Returns a Promise for the exit code that is fulfilled when the `exit` event is emitted. + */ + terminate(): Promise; + /** + * Transfer a `MessagePort` to a different `vm` Context. The original `port` + * object will be rendered unusable, and the returned `MessagePort` instance will + * take its place. + * + * The returned `MessagePort` will be an object in the target context, and will + * inherit from its global `Object` class. Objects passed to the + * `port.onmessage()` listener will also be created in the target context + * and inherit from its global `Object` class. + * + * However, the created `MessagePort` will no longer inherit from + * `EventEmitter`, and only `port.onmessage()` can be used to receive + * events using it. + */ + moveMessagePortToContext(port: MessagePort, context: Context): MessagePort; + + /** + * Receive a single message from a given `MessagePort`. If no message is available, + * `undefined` is returned, otherwise an object with a single `message` property + * that contains the message payload, corresponding to the oldest message in the + * `MessagePort`’s queue. + */ + receiveMessageOnPort(port: MessagePort): {} | undefined; + + addListener(event: "error", listener: (err: Error) => void): this; + addListener(event: "exit", listener: (exitCode: number) => void): this; + addListener(event: "message", listener: (value: any) => void): this; + addListener(event: "online", listener: () => void): this; + addListener(event: string | symbol, listener: (...args: any[]) => void): this; + + emit(event: "error", err: Error): boolean; + emit(event: "exit", exitCode: number): boolean; + emit(event: "message", value: any): boolean; + emit(event: "online"): boolean; + emit(event: string | symbol, ...args: any[]): boolean; + + on(event: "error", listener: (err: Error) => void): this; + on(event: "exit", listener: (exitCode: number) => void): this; + on(event: "message", listener: (value: any) => void): this; + on(event: "online", listener: () => void): this; + on(event: string | symbol, listener: (...args: any[]) => void): this; + + once(event: "error", listener: (err: Error) => void): this; + once(event: "exit", listener: (exitCode: number) => void): this; + once(event: "message", listener: (value: any) => void): this; + once(event: "online", listener: () => void): this; + once(event: string | symbol, listener: (...args: any[]) => void): this; + + prependListener(event: "error", listener: (err: Error) => void): this; + prependListener(event: "exit", listener: (exitCode: number) => void): this; + prependListener(event: "message", listener: (value: any) => void): this; + prependListener(event: "online", listener: () => void): this; + prependListener(event: string | symbol, listener: (...args: any[]) => void): this; + + prependOnceListener(event: "error", listener: (err: Error) => void): this; + prependOnceListener(event: "exit", listener: (exitCode: number) => void): this; + prependOnceListener(event: "message", listener: (value: any) => void): this; + prependOnceListener(event: "online", listener: () => void): this; + prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; + + removeListener(event: "error", listener: (err: Error) => void): this; + removeListener(event: "exit", listener: (exitCode: number) => void): this; + removeListener(event: "message", listener: (value: any) => void): this; + removeListener(event: "online", listener: () => void): this; + removeListener(event: string | symbol, listener: (...args: any[]) => void): this; + + off(event: "error", listener: (err: Error) => void): this; + off(event: "exit", listener: (exitCode: number) => void): this; + off(event: "message", listener: (value: any) => void): this; + off(event: "online", listener: () => void): this; + off(event: string | symbol, listener: (...args: any[]) => void): this; + } +} diff --git a/node_modules/@types/node/zlib.d.ts b/node_modules/@types/node/zlib.d.ts new file mode 100644 index 0000000..a03e900 --- /dev/null +++ b/node_modules/@types/node/zlib.d.ts @@ -0,0 +1,352 @@ +declare module "zlib" { + import * as stream from "stream"; + + interface ZlibOptions { + /** + * @default constants.Z_NO_FLUSH + */ + flush?: number; + /** + * @default constants.Z_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + windowBits?: number; + level?: number; // compression only + memLevel?: number; // compression only + strategy?: number; // compression only + dictionary?: NodeJS.ArrayBufferView | ArrayBuffer; // deflate/inflate only, empty dictionary by default + } + + interface BrotliOptions { + /** + * @default constants.BROTLI_OPERATION_PROCESS + */ + flush?: number; + /** + * @default constants.BROTLI_OPERATION_FINISH + */ + finishFlush?: number; + /** + * @default 16*1024 + */ + chunkSize?: number; + params?: { + /** + * Each key is a `constants.BROTLI_*` constant. + */ + [key: number]: boolean | number; + }; + } + + interface Zlib { + /** @deprecated Use bytesWritten instead. */ + readonly bytesRead: number; + readonly bytesWritten: number; + shell?: boolean | string; + close(callback?: () => void): void; + flush(kind?: number | (() => void), callback?: () => void): void; + } + + interface ZlibParams { + params(level: number, strategy: number, callback: () => void): void; + } + + interface ZlibReset { + reset(): void; + } + + interface BrotliCompress extends stream.Transform, Zlib { } + interface BrotliDecompress extends stream.Transform, Zlib { } + interface Gzip extends stream.Transform, Zlib { } + interface Gunzip extends stream.Transform, Zlib { } + interface Deflate extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface Inflate extends stream.Transform, Zlib, ZlibReset { } + interface DeflateRaw extends stream.Transform, Zlib, ZlibReset, ZlibParams { } + interface InflateRaw extends stream.Transform, Zlib, ZlibReset { } + interface Unzip extends stream.Transform, Zlib { } + + function createBrotliCompress(options?: BrotliOptions): BrotliCompress; + function createBrotliDecompress(options?: BrotliOptions): BrotliDecompress; + function createGzip(options?: ZlibOptions): Gzip; + function createGunzip(options?: ZlibOptions): Gunzip; + function createDeflate(options?: ZlibOptions): Deflate; + function createInflate(options?: ZlibOptions): Inflate; + function createDeflateRaw(options?: ZlibOptions): DeflateRaw; + function createInflateRaw(options?: ZlibOptions): InflateRaw; + function createUnzip(options?: ZlibOptions): Unzip; + + type InputType = string | ArrayBuffer | NodeJS.ArrayBufferView; + + type CompressCallback = (error: Error | null, result: Buffer) => void; + + function brotliCompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliCompress(buf: InputType, callback: CompressCallback): void; + function brotliCompressSync(buf: InputType, options?: BrotliOptions): Buffer; + function brotliDecompress(buf: InputType, options: BrotliOptions, callback: CompressCallback): void; + function brotliDecompress(buf: InputType, callback: CompressCallback): void; + function brotliDecompressSync(buf: InputType, options?: BrotliOptions): Buffer; + function deflate(buf: InputType, callback: CompressCallback): void; + function deflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function deflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function deflateRaw(buf: InputType, callback: CompressCallback): void; + function deflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function deflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function gzip(buf: InputType, callback: CompressCallback): void; + function gzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function gzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function gunzip(buf: InputType, callback: CompressCallback): void; + function gunzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function gunzipSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflate(buf: InputType, callback: CompressCallback): void; + function inflate(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function inflateSync(buf: InputType, options?: ZlibOptions): Buffer; + function inflateRaw(buf: InputType, callback: CompressCallback): void; + function inflateRaw(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function inflateRawSync(buf: InputType, options?: ZlibOptions): Buffer; + function unzip(buf: InputType, callback: CompressCallback): void; + function unzip(buf: InputType, options: ZlibOptions, callback: CompressCallback): void; + function unzipSync(buf: InputType, options?: ZlibOptions): Buffer; + + namespace constants { + const BROTLI_DECODE: number; + const BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: number; + const BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: number; + const BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: number; + const BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: number; + const BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: number; + const BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: number; + const BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: number; + const BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: number; + const BROTLI_DECODER_ERROR_FORMAT_DISTANCE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: number; + const BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_1: number; + const BROTLI_DECODER_ERROR_FORMAT_PADDING_2: number; + const BROTLI_DECODER_ERROR_FORMAT_RESERVED: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: number; + const BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: number; + const BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: number; + const BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: number; + const BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: number; + const BROTLI_DECODER_ERROR_UNREACHABLE: number; + const BROTLI_DECODER_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_NO_ERROR: number; + const BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: number; + const BROTLI_DECODER_PARAM_LARGE_WINDOW: number; + const BROTLI_DECODER_RESULT_ERROR: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: number; + const BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: number; + const BROTLI_DECODER_RESULT_SUCCESS: number; + const BROTLI_DECODER_SUCCESS: number; + + const BROTLI_DEFAULT_MODE: number; + const BROTLI_DEFAULT_QUALITY: number; + const BROTLI_DEFAULT_WINDOW: number; + const BROTLI_ENCODE: number; + const BROTLI_LARGE_MAX_WINDOW_BITS: number; + const BROTLI_MAX_INPUT_BLOCK_BITS: number; + const BROTLI_MAX_QUALITY: number; + const BROTLI_MAX_WINDOW_BITS: number; + const BROTLI_MIN_INPUT_BLOCK_BITS: number; + const BROTLI_MIN_QUALITY: number; + const BROTLI_MIN_WINDOW_BITS: number; + + const BROTLI_MODE_FONT: number; + const BROTLI_MODE_GENERIC: number; + const BROTLI_MODE_TEXT: number; + + const BROTLI_OPERATION_EMIT_METADATA: number; + const BROTLI_OPERATION_FINISH: number; + const BROTLI_OPERATION_FLUSH: number; + const BROTLI_OPERATION_PROCESS: number; + + const BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: number; + const BROTLI_PARAM_LARGE_WINDOW: number; + const BROTLI_PARAM_LGBLOCK: number; + const BROTLI_PARAM_LGWIN: number; + const BROTLI_PARAM_MODE: number; + const BROTLI_PARAM_NDIRECT: number; + const BROTLI_PARAM_NPOSTFIX: number; + const BROTLI_PARAM_QUALITY: number; + const BROTLI_PARAM_SIZE_HINT: number; + + const DEFLATE: number; + const DEFLATERAW: number; + const GUNZIP: number; + const GZIP: number; + const INFLATE: number; + const INFLATERAW: number; + const UNZIP: number; + + const Z_BEST_COMPRESSION: number; + const Z_BEST_SPEED: number; + const Z_BLOCK: number; + const Z_BUF_ERROR: number; + const Z_DATA_ERROR: number; + + const Z_DEFAULT_CHUNK: number; + const Z_DEFAULT_COMPRESSION: number; + const Z_DEFAULT_LEVEL: number; + const Z_DEFAULT_MEMLEVEL: number; + const Z_DEFAULT_STRATEGY: number; + const Z_DEFAULT_WINDOWBITS: number; + + const Z_ERRNO: number; + const Z_FILTERED: number; + const Z_FINISH: number; + const Z_FIXED: number; + const Z_FULL_FLUSH: number; + const Z_HUFFMAN_ONLY: number; + const Z_MAX_CHUNK: number; + const Z_MAX_LEVEL: number; + const Z_MAX_MEMLEVEL: number; + const Z_MAX_WINDOWBITS: number; + const Z_MEM_ERROR: number; + const Z_MIN_CHUNK: number; + const Z_MIN_LEVEL: number; + const Z_MIN_MEMLEVEL: number; + const Z_MIN_WINDOWBITS: number; + const Z_NEED_DICT: number; + const Z_NO_COMPRESSION: number; + const Z_NO_FLUSH: number; + const Z_OK: number; + const Z_PARTIAL_FLUSH: number; + const Z_RLE: number; + const Z_STREAM_END: number; + const Z_STREAM_ERROR: number; + const Z_SYNC_FLUSH: number; + const Z_VERSION_ERROR: number; + const ZLIB_VERNUM: number; + } + + /** + * @deprecated + */ + const Z_NO_FLUSH: number; + /** + * @deprecated + */ + const Z_PARTIAL_FLUSH: number; + /** + * @deprecated + */ + const Z_SYNC_FLUSH: number; + /** + * @deprecated + */ + const Z_FULL_FLUSH: number; + /** + * @deprecated + */ + const Z_FINISH: number; + /** + * @deprecated + */ + const Z_BLOCK: number; + /** + * @deprecated + */ + const Z_TREES: number; + /** + * @deprecated + */ + const Z_OK: number; + /** + * @deprecated + */ + const Z_STREAM_END: number; + /** + * @deprecated + */ + const Z_NEED_DICT: number; + /** + * @deprecated + */ + const Z_ERRNO: number; + /** + * @deprecated + */ + const Z_STREAM_ERROR: number; + /** + * @deprecated + */ + const Z_DATA_ERROR: number; + /** + * @deprecated + */ + const Z_MEM_ERROR: number; + /** + * @deprecated + */ + const Z_BUF_ERROR: number; + /** + * @deprecated + */ + const Z_VERSION_ERROR: number; + /** + * @deprecated + */ + const Z_NO_COMPRESSION: number; + /** + * @deprecated + */ + const Z_BEST_SPEED: number; + /** + * @deprecated + */ + const Z_BEST_COMPRESSION: number; + /** + * @deprecated + */ + const Z_DEFAULT_COMPRESSION: number; + /** + * @deprecated + */ + const Z_FILTERED: number; + /** + * @deprecated + */ + const Z_HUFFMAN_ONLY: number; + /** + * @deprecated + */ + const Z_RLE: number; + /** + * @deprecated + */ + const Z_FIXED: number; + /** + * @deprecated + */ + const Z_DEFAULT_STRATEGY: number; + /** + * @deprecated + */ + const Z_BINARY: number; + /** + * @deprecated + */ + const Z_TEXT: number; + /** + * @deprecated + */ + const Z_ASCII: number; + /** + * @deprecated + */ + const Z_UNKNOWN: number; + /** + * @deprecated + */ + const Z_DEFLATED: number; +} diff --git a/node_modules/bcrypt/lib/binding/bcrypt_lib.node b/node_modules/bcrypt/lib/binding/bcrypt_lib.node index aa250979f3b110364392066c07dd51a7a6d60dbe..14830697c06a9ad3258c7f660b5f8ce423ff040b 100755 GIT binary patch literal 554496 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�}a*I?*BShNm~VV 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 LFcpFS+6eq7VT>gS literal 65880 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�-!bTXM6R1C>8dkR}pSxp6X<-)~og9yP z6zHF?_gZvS%%?T1zmk;-?X9}=;Nyj!2;iPQr7N@hUwyddN9S_UGn0obTtxDKQyM}c zeU9a}l=H>76)PrLMq>)_v@=Ys6Uh0=t1P=4BRA@AVv872Z2XuPceL?#Am^6Y?`mKZ zQr)>!aW*ean$t1aFV3ZPF7=OCv9UD_(q$P#htBiUaqt>vO|vuH%+(>ko>S@$1^gkE zcPhQN#g;I#6&*asrr-G`)GcY=g#skbR_AB;y>@RPtUHbBxZxmHo9xLCa-=qcfdR@| zaBEttq`NVVTPnsiTWzjlM|1{TOBU5)Ks&a@N9e(E5M38Q&wZ0W*Qs7z*2bOE2oZi3=k54t8iGvQM;-OuyY zlD!2>rYgTbkW^Eyuc*0fjn5)sO|&ecMpU*kk`&eD2s@C&w>)vh$A!ccEMk3un(99) z$?vOjOCkC+cU4~1>kPET%p%iJj(P6W%y#hHG~$Upw#EYgY1deiCDi5(I~qVSXE53< zuJF4Ps-?*nu{1>79@iyqm&9W9TN{$a)#gJ^orZ&Y3g!lS%9RjNkQP)u4$8o<0-msB zVX9hiX=(B!N(&&#LJtGL{i_`C=-w{cDW$<4iw5=Ae`mqN?4`N@Ppkp~M2)45%1Pfv(u!mOU7yE_< z{ep92n+*&6bsCT1JSML2N;q167Z)VxF`j|SrB_fQzu50P9T>?L<%|7%f{J~~U}1s3 z#u8D9-q+C{VUb_#`xEp9&MEX4e1gtLI_)_Yaj`#8&`zG8^d}ynKZhk3E<_q(VjrQP zVxO}pU*s3{_woEQDKmoDH!Y~xXHEIByChn^$lnT#Y=Z4GEQo#Of{x(0Af#)22q6-m zKe~T$yw1gbV6q2IS6TtB5pN%0(7yCLp_EIeM-J!@Y=!@XNEBR=CvH!D^=NEh=i-L#?x(66l zQS@)|9(^m%Z%(Se$Vaj$yp0d_U6EhxC*8e|Qe)>Bgxy4b(GOOEC%$~K@AR1iEIacL z`j!4I@(cP=QvT@v)Pp>~Xjm>pr2Jw(SN$P9Lp{$Yh*?~4+6_vwME!RhGP9H& zJijQ1f%r-?r*xcSR>8oj$j@K9MpH%pc$!p2#@o%yH*-VNJX4L2&`0'+ + '
'+ + '
'+ + ''+ + '' + ); +}).listen(8080); +``` +## API + +### Formidable.IncomingForm +```javascript +var form = new formidable.IncomingForm() +``` +Creates a new incoming form. + +```javascript +form.encoding = 'utf-8'; +``` +Sets encoding for incoming form fields. + +```javascript +form.uploadDir = "/my/dir"; +``` +Sets the directory for placing file uploads in. You can move them later on using +`fs.rename()`. The default is `os.tmpdir()`. + +```javascript +form.keepExtensions = false; +``` +If you want the files written to `form.uploadDir` to include the extensions of the original files, set this property to `true`. + +```javascript +form.type +``` +Either 'multipart' or 'urlencoded' depending on the incoming request. + +```javascript +form.maxFieldsSize = 20 * 1024 * 1024; +``` +Limits the amount of memory all fields together (except files) can allocate in bytes. +If this value is exceeded, an `'error'` event is emitted. The default +size is 20MB. + +```javascript +form.maxFileSize = 200 * 1024 * 1024; +``` +Limits the size of uploaded file. +If this value is exceeded, an `'error'` event is emitted. The default +size is 200MB. + +```javascript +form.maxFields = 1000; +``` +Limits the number of fields that the querystring parser will decode. Defaults +to 1000 (0 for unlimited). + +```javascript +form.hash = false; +``` +If you want checksums calculated for incoming files, set this to either `'sha1'` or `'md5'`. + +```javascript +form.multiples = false; +``` +If this option is enabled, when you call `form.parse`, the `files` argument will contain arrays of files for inputs which submit multiple files using the HTML5 `multiple` attribute. + +```javascript +form.bytesReceived +``` +The amount of bytes received for this form so far. + +```javascript +form.bytesExpected +``` +The expected number of bytes in this form. + +```javascript +form.parse(request, [cb]); +``` +Parses an incoming node.js `request` containing form data. If `cb` is provided, all fields and files are collected and passed to the callback: + + +```javascript +form.parse(req, function(err, fields, files) { + // ... +}); + +form.onPart(part); +``` +You may overwrite this method if you are interested in directly accessing the multipart stream. Doing so will disable any `'field'` / `'file'` events processing which would occur otherwise, making you fully responsible for handling the processing. + +```javascript +form.onPart = function(part) { + part.addListener('data', function() { + // ... + }); +} +``` +If you want to use formidable to only handle certain parts for you, you can do so: +```javascript +form.onPart = function(part) { + if (!part.filename) { + // let formidable handle all non-file parts + form.handlePart(part); + } +} +``` +Check the code in this method for further inspiration. + + +### Formidable.File +```javascript +file.size = 0 +``` +The size of the uploaded file in bytes. If the file is still being uploaded (see `'fileBegin'` event), this property says how many bytes of the file have been written to disk yet. +```javascript +file.path = null +``` +The path this file is being written to. You can modify this in the `'fileBegin'` event in +case you are unhappy with the way formidable generates a temporary path for your files. +```javascript +file.name = null +``` +The name this file had according to the uploading client. +```javascript +file.type = null +``` +The mime type of this file, according to the uploading client. +```javascript +file.lastModifiedDate = null +``` +A date object (or `null`) containing the time this file was last written to. Mostly +here for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/). +```javascript +file.hash = null +``` +If hash calculation was set, you can read the hex digest out of this var. + +#### Formidable.File#toJSON() + + This method returns a JSON-representation of the file, allowing you to + `JSON.stringify()` the file which is useful for logging and responding + to requests. + +### Events + + +#### 'progress' + +Emitted after each incoming chunk of data that has been parsed. Can be used to roll your own progress bar. + +```javascript +form.on('progress', function(bytesReceived, bytesExpected) { +}); +``` + + + +#### 'field' + +Emitted whenever a field / value pair has been received. + +```javascript +form.on('field', function(name, value) { +}); +``` + +#### 'fileBegin' + +Emitted whenever a new file is detected in the upload stream. Use this event if +you want to stream the file to somewhere else while buffering the upload on +the file system. + +```javascript +form.on('fileBegin', function(name, file) { +}); +``` + +#### 'file' + +Emitted whenever a field / file pair has been received. `file` is an instance of `File`. + +```javascript +form.on('file', function(name, file) { +}); +``` + +#### 'error' + +Emitted when there is an error processing the incoming form. A request that experiences an error is automatically paused, you will have to manually call `request.resume()` if you want the request to continue firing `'data'` events. + +```javascript +form.on('error', function(err) { +}); +``` + +#### 'aborted' + + +Emitted when the request was aborted by the user. Right now this can be due to a 'timeout' or 'close' event on the socket. After this event is emitted, an `error` event will follow. In the future there will be a separate 'timeout' event (needs a change in the node core). +```javascript +form.on('aborted', function() { +}); +``` + +##### 'end' +```javascript +form.on('end', function() { +}); +``` +Emitted when the entire request has been received, and all contained files have finished flushing to disk. This is a great place for you to send your response. + + + +## Changelog + +### v1.1.1 (2017-01-15) + + * Fix DeprecationWarning about os.tmpDir() (Christian) + * Update `buffer.write` order of arguments for Node 7 (Kornel Lesiński) + * JSON Parser emits error events to the IncomingForm (alessio.montagnani) + * Improved Content-Disposition parsing (Sebastien) + * Access WriteStream of fs during runtime instead of include time (Jonas Amundsen) + * Use built-in toString to convert buffer to hex (Charmander) + * Add hash to json if present (Nick Stamas) + * Add license to package.json (Simen Bekkhus) + +### v1.0.14 (2013-05-03) + +* Add failing hash tests. (Ben Trask) +* Enable hash calculation again (Eugene Girshov) +* Test for immediate data events (Tim Smart) +* Re-arrange IncomingForm#parse (Tim Smart) + +### v1.0.13 + +* Only update hash if update method exists (Sven Lito) +* According to travis v0.10 needs to go quoted (Sven Lito) +* Bumping build node versions (Sven Lito) +* Additional fix for empty requests (Eugene Girshov) +* Change the default to 1000, to match the new Node behaviour. (OrangeDog) +* Add ability to control maxKeys in the querystring parser. (OrangeDog) +* Adjust test case to work with node 0.9.x (Eugene Girshov) +* Update package.json (Sven Lito) +* Path adjustment according to eb4468b (Markus Ast) + +### v1.0.12 + +* Emit error on aborted connections (Eugene Girshov) +* Add support for empty requests (Eugene Girshov) +* Fix name/filename handling in Content-Disposition (jesperp) +* Tolerate malformed closing boundary in multipart (Eugene Girshov) +* Ignore preamble in multipart messages (Eugene Girshov) +* Add support for application/json (Mike Frey, Carlos Rodriguez) +* Add support for Base64 encoding (Elmer Bulthuis) +* Add File#toJSON (TJ Holowaychuk) +* Remove support for Node.js 0.4 & 0.6 (Andrew Kelley) +* Documentation improvements (Sven Lito, Andre Azevedo) +* Add support for application/octet-stream (Ion Lupascu, Chris Scribner) +* Use os.tmpdir() to get tmp directory (Andrew Kelley) +* Improve package.json (Andrew Kelley, Sven Lito) +* Fix benchmark script (Andrew Kelley) +* Fix scope issue in incoming_forms (Sven Lito) +* Fix file handle leak on error (OrangeDog) + +## License + +Formidable is licensed under the MIT license. + +## Ports + +* [multipart-parser](http://github.com/FooBarWidget/multipart-parser): a C++ parser based on formidable + +## Credits + +* [Ryan Dahl](http://twitter.com/ryah) for his work on [http-parser](http://github.com/ry/http-parser) which heavily inspired multipart_parser.js diff --git a/node_modules/formidable/index.js b/node_modules/formidable/index.js new file mode 100644 index 0000000..4cc88b3 --- /dev/null +++ b/node_modules/formidable/index.js @@ -0,0 +1 @@ +module.exports = require('./lib'); \ No newline at end of file diff --git a/node_modules/formidable/lib/file.js b/node_modules/formidable/lib/file.js new file mode 100644 index 0000000..50d34c0 --- /dev/null +++ b/node_modules/formidable/lib/file.js @@ -0,0 +1,81 @@ +if (global.GENTLY) require = GENTLY.hijack(require); + +var util = require('util'), + fs = require('fs'), + EventEmitter = require('events').EventEmitter, + crypto = require('crypto'); + +function File(properties) { + EventEmitter.call(this); + + this.size = 0; + this.path = null; + this.name = null; + this.type = null; + this.hash = null; + this.lastModifiedDate = null; + + this._writeStream = null; + + for (var key in properties) { + this[key] = properties[key]; + } + + if(typeof this.hash === 'string') { + this.hash = crypto.createHash(properties.hash); + } else { + this.hash = null; + } +} +module.exports = File; +util.inherits(File, EventEmitter); + +File.prototype.open = function() { + this._writeStream = new fs.WriteStream(this.path); +}; + +File.prototype.toJSON = function() { + var json = { + size: this.size, + path: this.path, + name: this.name, + type: this.type, + mtime: this.lastModifiedDate, + length: this.length, + filename: this.filename, + mime: this.mime + }; + if (this.hash && this.hash != "") { + json.hash = this.hash; + } + return json; +}; + +File.prototype.write = function(buffer, cb) { + var self = this; + if (self.hash) { + self.hash.update(buffer); + } + + if (this._writeStream.closed) { + return cb(); + } + + this._writeStream.write(buffer, function() { + self.lastModifiedDate = new Date(); + self.size += buffer.length; + self.emit('progress', self.size); + cb(); + }); +}; + +File.prototype.end = function(cb) { + var self = this; + if (self.hash) { + self.hash = self.hash.digest('hex'); + } + this._writeStream.end(function() { + self.emit('end'); + cb(); + }); +}; diff --git a/node_modules/formidable/lib/incoming_form.js b/node_modules/formidable/lib/incoming_form.js new file mode 100644 index 0000000..dbd920b --- /dev/null +++ b/node_modules/formidable/lib/incoming_form.js @@ -0,0 +1,558 @@ +if (global.GENTLY) require = GENTLY.hijack(require); + +var crypto = require('crypto'); +var fs = require('fs'); +var util = require('util'), + path = require('path'), + File = require('./file'), + MultipartParser = require('./multipart_parser').MultipartParser, + QuerystringParser = require('./querystring_parser').QuerystringParser, + OctetParser = require('./octet_parser').OctetParser, + JSONParser = require('./json_parser').JSONParser, + StringDecoder = require('string_decoder').StringDecoder, + EventEmitter = require('events').EventEmitter, + Stream = require('stream').Stream, + os = require('os'); + +function IncomingForm(opts) { + if (!(this instanceof IncomingForm)) return new IncomingForm(opts); + EventEmitter.call(this); + + opts=opts||{}; + + this.error = null; + this.ended = false; + + this.maxFields = opts.maxFields || 1000; + this.maxFieldsSize = opts.maxFieldsSize || 20 * 1024 * 1024; + this.maxFileSize = opts.maxFileSize || 200 * 1024 * 1024; + this.keepExtensions = opts.keepExtensions || false; + this.uploadDir = opts.uploadDir || (os.tmpdir && os.tmpdir()) || os.tmpDir(); + this.encoding = opts.encoding || 'utf-8'; + this.headers = null; + this.type = null; + this.hash = opts.hash || false; + this.multiples = opts.multiples || false; + + this.bytesReceived = null; + this.bytesExpected = null; + + this._parser = null; + this._flushing = 0; + this._fieldsSize = 0; + this._fileSize = 0; + this.openedFiles = []; + + return this; +} +util.inherits(IncomingForm, EventEmitter); +exports.IncomingForm = IncomingForm; + +IncomingForm.prototype.parse = function(req, cb) { + this.pause = function() { + try { + req.pause(); + } catch (err) { + // the stream was destroyed + if (!this.ended) { + // before it was completed, crash & burn + this._error(err); + } + return false; + } + return true; + }; + + this.resume = function() { + try { + req.resume(); + } catch (err) { + // the stream was destroyed + if (!this.ended) { + // before it was completed, crash & burn + this._error(err); + } + return false; + } + + return true; + }; + + // Setup callback first, so we don't miss anything from data events emitted + // immediately. + if (cb) { + var fields = {}, files = {}; + this + .on('field', function(name, value) { + fields[name] = value; + }) + .on('file', function(name, file) { + if (this.multiples) { + if (files[name]) { + if (!Array.isArray(files[name])) { + files[name] = [files[name]]; + } + files[name].push(file); + } else { + files[name] = file; + } + } else { + files[name] = file; + } + }) + .on('error', function(err) { + cb(err, fields, files); + }) + .on('end', function() { + cb(null, fields, files); + }); + } + + // Parse headers and setup the parser, ready to start listening for data. + this.writeHeaders(req.headers); + + // Start listening for data. + var self = this; + req + .on('error', function(err) { + self._error(err); + }) + .on('aborted', function() { + self.emit('aborted'); + self._error(new Error('Request aborted')); + }) + .on('data', function(buffer) { + self.write(buffer); + }) + .on('end', function() { + if (self.error) { + return; + } + + var err = self._parser.end(); + if (err) { + self._error(err); + } + }); + + return this; +}; + +IncomingForm.prototype.writeHeaders = function(headers) { + this.headers = headers; + this._parseContentLength(); + this._parseContentType(); +}; + +IncomingForm.prototype.write = function(buffer) { + if (this.error) { + return; + } + if (!this._parser) { + this._error(new Error('uninitialized parser')); + return; + } + + this.bytesReceived += buffer.length; + this.emit('progress', this.bytesReceived, this.bytesExpected); + + var bytesParsed = this._parser.write(buffer); + if (bytesParsed !== buffer.length) { + this._error(new Error('parser error, '+bytesParsed+' of '+buffer.length+' bytes parsed')); + } + + return bytesParsed; +}; + +IncomingForm.prototype.pause = function() { + // this does nothing, unless overwritten in IncomingForm.parse + return false; +}; + +IncomingForm.prototype.resume = function() { + // this does nothing, unless overwritten in IncomingForm.parse + return false; +}; + +IncomingForm.prototype.onPart = function(part) { + // this method can be overwritten by the user + this.handlePart(part); +}; + +IncomingForm.prototype.handlePart = function(part) { + var self = this; + + // This MUST check exactly for undefined. You can not change it to !part.filename. + if (part.filename === undefined) { + var value = '' + , decoder = new StringDecoder(this.encoding); + + part.on('data', function(buffer) { + self._fieldsSize += buffer.length; + if (self._fieldsSize > self.maxFieldsSize) { + self._error(new Error('maxFieldsSize exceeded, received '+self._fieldsSize+' bytes of field data')); + return; + } + value += decoder.write(buffer); + }); + + part.on('end', function() { + self.emit('field', part.name, value); + }); + return; + } + + this._flushing++; + + var file = new File({ + path: this._uploadPath(part.filename), + name: part.filename, + type: part.mime, + hash: self.hash + }); + + this.emit('fileBegin', part.name, file); + + file.open(); + this.openedFiles.push(file); + + part.on('data', function(buffer) { + self._fileSize += buffer.length; + if (self._fileSize > self.maxFileSize) { + self._error(new Error('maxFileSize exceeded, received '+self._fileSize+' bytes of file data')); + return; + } + if (buffer.length == 0) { + return; + } + self.pause(); + file.write(buffer, function() { + self.resume(); + }); + }); + + part.on('end', function() { + file.end(function() { + self._flushing--; + self.emit('file', part.name, file); + self._maybeEnd(); + }); + }); +}; + +function dummyParser(self) { + return { + end: function () { + self.ended = true; + self._maybeEnd(); + return null; + } + }; +} + +IncomingForm.prototype._parseContentType = function() { + if (this.bytesExpected === 0) { + this._parser = dummyParser(this); + return; + } + + if (!this.headers['content-type']) { + this._error(new Error('bad content-type header, no content-type')); + return; + } + + if (this.headers['content-type'].match(/octet-stream/i)) { + this._initOctetStream(); + return; + } + + if (this.headers['content-type'].match(/urlencoded/i)) { + this._initUrlencoded(); + return; + } + + if (this.headers['content-type'].match(/multipart/i)) { + var m = this.headers['content-type'].match(/boundary=(?:"([^"]+)"|([^;]+))/i); + if (m) { + this._initMultipart(m[1] || m[2]); + } else { + this._error(new Error('bad content-type header, no multipart boundary')); + } + return; + } + + if (this.headers['content-type'].match(/json/i)) { + this._initJSONencoded(); + return; + } + + this._error(new Error('bad content-type header, unknown content-type: '+this.headers['content-type'])); +}; + +IncomingForm.prototype._error = function(err) { + if (this.error || this.ended) { + return; + } + + this.error = err; + this.emit('error', err); + + if (Array.isArray(this.openedFiles)) { + this.openedFiles.forEach(function(file) { + file._writeStream.destroy(); + setTimeout(fs.unlink, 0, file.path, function(error) { }); + }); + } +}; + +IncomingForm.prototype._parseContentLength = function() { + this.bytesReceived = 0; + if (this.headers['content-length']) { + this.bytesExpected = parseInt(this.headers['content-length'], 10); + } else if (this.headers['transfer-encoding'] === undefined) { + this.bytesExpected = 0; + } + + if (this.bytesExpected !== null) { + this.emit('progress', this.bytesReceived, this.bytesExpected); + } +}; + +IncomingForm.prototype._newParser = function() { + return new MultipartParser(); +}; + +IncomingForm.prototype._initMultipart = function(boundary) { + this.type = 'multipart'; + + var parser = new MultipartParser(), + self = this, + headerField, + headerValue, + part; + + parser.initWithBoundary(boundary); + + parser.onPartBegin = function() { + part = new Stream(); + part.readable = true; + part.headers = {}; + part.name = null; + part.filename = null; + part.mime = null; + + part.transferEncoding = 'binary'; + part.transferBuffer = ''; + + headerField = ''; + headerValue = ''; + }; + + parser.onHeaderField = function(b, start, end) { + headerField += b.toString(self.encoding, start, end); + }; + + parser.onHeaderValue = function(b, start, end) { + headerValue += b.toString(self.encoding, start, end); + }; + + parser.onHeaderEnd = function() { + headerField = headerField.toLowerCase(); + part.headers[headerField] = headerValue; + + // matches either a quoted-string or a token (RFC 2616 section 19.5.1) + var m = headerValue.match(/\bname=("([^"]*)"|([^\(\)<>@,;:\\"\/\[\]\?=\{\}\s\t/]+))/i); + if (headerField == 'content-disposition') { + if (m) { + part.name = m[2] || m[3] || ''; + } + + part.filename = self._fileName(headerValue); + } else if (headerField == 'content-type') { + part.mime = headerValue; + } else if (headerField == 'content-transfer-encoding') { + part.transferEncoding = headerValue.toLowerCase(); + } + + headerField = ''; + headerValue = ''; + }; + + parser.onHeadersEnd = function() { + switch(part.transferEncoding){ + case 'binary': + case '7bit': + case '8bit': + parser.onPartData = function(b, start, end) { + part.emit('data', b.slice(start, end)); + }; + + parser.onPartEnd = function() { + part.emit('end'); + }; + break; + + case 'base64': + parser.onPartData = function(b, start, end) { + part.transferBuffer += b.slice(start, end).toString('ascii'); + + /* + four bytes (chars) in base64 converts to three bytes in binary + encoding. So we should always work with a number of bytes that + can be divided by 4, it will result in a number of buytes that + can be divided vy 3. + */ + var offset = parseInt(part.transferBuffer.length / 4, 10) * 4; + part.emit('data', new Buffer(part.transferBuffer.substring(0, offset), 'base64')); + part.transferBuffer = part.transferBuffer.substring(offset); + }; + + parser.onPartEnd = function() { + part.emit('data', new Buffer(part.transferBuffer, 'base64')); + part.emit('end'); + }; + break; + + default: + return self._error(new Error('unknown transfer-encoding')); + } + + self.onPart(part); + }; + + + parser.onEnd = function() { + self.ended = true; + self._maybeEnd(); + }; + + this._parser = parser; +}; + +IncomingForm.prototype._fileName = function(headerValue) { + // matches either a quoted-string or a token (RFC 2616 section 19.5.1) + var m = headerValue.match(/\bfilename=("(.*?)"|([^\(\)<>@,;:\\"\/\[\]\?=\{\}\s\t/]+))($|;\s)/i); + if (!m) return; + + var match = m[2] || m[3] || ''; + var filename = match.substr(match.lastIndexOf('\\') + 1); + filename = filename.replace(/%22/g, '"'); + filename = filename.replace(/&#([\d]{4});/g, function(m, code) { + return String.fromCharCode(code); + }); + return filename; +}; + +IncomingForm.prototype._initUrlencoded = function() { + this.type = 'urlencoded'; + + var parser = new QuerystringParser(this.maxFields) + , self = this; + + parser.onField = function(key, val) { + self.emit('field', key, val); + }; + + parser.onEnd = function() { + self.ended = true; + self._maybeEnd(); + }; + + this._parser = parser; +}; + +IncomingForm.prototype._initOctetStream = function() { + this.type = 'octet-stream'; + var filename = this.headers['x-file-name']; + var mime = this.headers['content-type']; + + var file = new File({ + path: this._uploadPath(filename), + name: filename, + type: mime + }); + + this.emit('fileBegin', filename, file); + file.open(); + this.openedFiles.push(file); + this._flushing++; + + var self = this; + + self._parser = new OctetParser(); + + //Keep track of writes that haven't finished so we don't emit the file before it's done being written + var outstandingWrites = 0; + + self._parser.on('data', function(buffer){ + self.pause(); + outstandingWrites++; + + file.write(buffer, function() { + outstandingWrites--; + self.resume(); + + if(self.ended){ + self._parser.emit('doneWritingFile'); + } + }); + }); + + self._parser.on('end', function(){ + self._flushing--; + self.ended = true; + + var done = function(){ + file.end(function() { + self.emit('file', 'file', file); + self._maybeEnd(); + }); + }; + + if(outstandingWrites === 0){ + done(); + } else { + self._parser.once('doneWritingFile', done); + } + }); +}; + +IncomingForm.prototype._initJSONencoded = function() { + this.type = 'json'; + + var parser = new JSONParser(this) + , self = this; + + parser.onField = function(key, val) { + self.emit('field', key, val); + }; + + parser.onEnd = function() { + self.ended = true; + self._maybeEnd(); + }; + + this._parser = parser; +}; + +IncomingForm.prototype._uploadPath = function(filename) { + var buf = crypto.randomBytes(16); + var name = 'upload_' + buf.toString('hex'); + + if (this.keepExtensions) { + var ext = path.extname(filename); + ext = ext.replace(/(\.[a-z0-9]+).*/i, '$1'); + + name += ext; + } + + return path.join(this.uploadDir, name); +}; + +IncomingForm.prototype._maybeEnd = function() { + if (!this.ended || this._flushing || this.error) { + return; + } + + this.emit('end'); +}; diff --git a/node_modules/formidable/lib/index.js b/node_modules/formidable/lib/index.js new file mode 100644 index 0000000..7a6e3e1 --- /dev/null +++ b/node_modules/formidable/lib/index.js @@ -0,0 +1,3 @@ +var IncomingForm = require('./incoming_form').IncomingForm; +IncomingForm.IncomingForm = IncomingForm; +module.exports = IncomingForm; diff --git a/node_modules/formidable/lib/json_parser.js b/node_modules/formidable/lib/json_parser.js new file mode 100644 index 0000000..28a23ba --- /dev/null +++ b/node_modules/formidable/lib/json_parser.js @@ -0,0 +1,30 @@ +if (global.GENTLY) require = GENTLY.hijack(require); + +var Buffer = require('buffer').Buffer; + +function JSONParser(parent) { + this.parent = parent; + this.chunks = []; + this.bytesWritten = 0; +} +exports.JSONParser = JSONParser; + +JSONParser.prototype.write = function(buffer) { + this.bytesWritten += buffer.length; + this.chunks.push(buffer); + return buffer.length; +}; + +JSONParser.prototype.end = function() { + try { + var fields = JSON.parse(Buffer.concat(this.chunks)); + for (var field in fields) { + this.onField(field, fields[field]); + } + } catch (e) { + this.parent.emit('error', e); + } + this.data = null; + + this.onEnd(); +}; diff --git a/node_modules/formidable/lib/multipart_parser.js b/node_modules/formidable/lib/multipart_parser.js new file mode 100644 index 0000000..36de2b0 --- /dev/null +++ b/node_modules/formidable/lib/multipart_parser.js @@ -0,0 +1,332 @@ +var Buffer = require('buffer').Buffer, + s = 0, + S = + { PARSER_UNINITIALIZED: s++, + START: s++, + START_BOUNDARY: s++, + HEADER_FIELD_START: s++, + HEADER_FIELD: s++, + HEADER_VALUE_START: s++, + HEADER_VALUE: s++, + HEADER_VALUE_ALMOST_DONE: s++, + HEADERS_ALMOST_DONE: s++, + PART_DATA_START: s++, + PART_DATA: s++, + PART_END: s++, + END: s++ + }, + + f = 1, + F = + { PART_BOUNDARY: f, + LAST_BOUNDARY: f *= 2 + }, + + LF = 10, + CR = 13, + SPACE = 32, + HYPHEN = 45, + COLON = 58, + A = 97, + Z = 122, + + lower = function(c) { + return c | 0x20; + }; + +for (s in S) { + exports[s] = S[s]; +} + +function MultipartParser() { + this.boundary = null; + this.boundaryChars = null; + this.lookbehind = null; + this.state = S.PARSER_UNINITIALIZED; + + this.index = null; + this.flags = 0; +} +exports.MultipartParser = MultipartParser; + +MultipartParser.stateToString = function(stateNumber) { + for (var state in S) { + var number = S[state]; + if (number === stateNumber) return state; + } +}; + +MultipartParser.prototype.initWithBoundary = function(str) { + this.boundary = new Buffer(str.length+4); + this.boundary.write('\r\n--', 0); + this.boundary.write(str, 4); + this.lookbehind = new Buffer(this.boundary.length+8); + this.state = S.START; + + this.boundaryChars = {}; + for (var i = 0; i < this.boundary.length; i++) { + this.boundaryChars[this.boundary[i]] = true; + } +}; + +MultipartParser.prototype.write = function(buffer) { + var self = this, + i = 0, + len = buffer.length, + prevIndex = this.index, + index = this.index, + state = this.state, + flags = this.flags, + lookbehind = this.lookbehind, + boundary = this.boundary, + boundaryChars = this.boundaryChars, + boundaryLength = this.boundary.length, + boundaryEnd = boundaryLength - 1, + bufferLength = buffer.length, + c, + cl, + + mark = function(name) { + self[name+'Mark'] = i; + }, + clear = function(name) { + delete self[name+'Mark']; + }, + callback = function(name, buffer, start, end) { + if (start !== undefined && start === end) { + return; + } + + var callbackSymbol = 'on'+name.substr(0, 1).toUpperCase()+name.substr(1); + if (callbackSymbol in self) { + self[callbackSymbol](buffer, start, end); + } + }, + dataCallback = function(name, clear) { + var markSymbol = name+'Mark'; + if (!(markSymbol in self)) { + return; + } + + if (!clear) { + callback(name, buffer, self[markSymbol], buffer.length); + self[markSymbol] = 0; + } else { + callback(name, buffer, self[markSymbol], i); + delete self[markSymbol]; + } + }; + + for (i = 0; i < len; i++) { + c = buffer[i]; + switch (state) { + case S.PARSER_UNINITIALIZED: + return i; + case S.START: + index = 0; + state = S.START_BOUNDARY; + case S.START_BOUNDARY: + if (index == boundary.length - 2) { + if (c == HYPHEN) { + flags |= F.LAST_BOUNDARY; + } else if (c != CR) { + return i; + } + index++; + break; + } else if (index - 1 == boundary.length - 2) { + if (flags & F.LAST_BOUNDARY && c == HYPHEN){ + callback('end'); + state = S.END; + flags = 0; + } else if (!(flags & F.LAST_BOUNDARY) && c == LF) { + index = 0; + callback('partBegin'); + state = S.HEADER_FIELD_START; + } else { + return i; + } + break; + } + + if (c != boundary[index+2]) { + index = -2; + } + if (c == boundary[index+2]) { + index++; + } + break; + case S.HEADER_FIELD_START: + state = S.HEADER_FIELD; + mark('headerField'); + index = 0; + case S.HEADER_FIELD: + if (c == CR) { + clear('headerField'); + state = S.HEADERS_ALMOST_DONE; + break; + } + + index++; + if (c == HYPHEN) { + break; + } + + if (c == COLON) { + if (index == 1) { + // empty header field + return i; + } + dataCallback('headerField', true); + state = S.HEADER_VALUE_START; + break; + } + + cl = lower(c); + if (cl < A || cl > Z) { + return i; + } + break; + case S.HEADER_VALUE_START: + if (c == SPACE) { + break; + } + + mark('headerValue'); + state = S.HEADER_VALUE; + case S.HEADER_VALUE: + if (c == CR) { + dataCallback('headerValue', true); + callback('headerEnd'); + state = S.HEADER_VALUE_ALMOST_DONE; + } + break; + case S.HEADER_VALUE_ALMOST_DONE: + if (c != LF) { + return i; + } + state = S.HEADER_FIELD_START; + break; + case S.HEADERS_ALMOST_DONE: + if (c != LF) { + return i; + } + + callback('headersEnd'); + state = S.PART_DATA_START; + break; + case S.PART_DATA_START: + state = S.PART_DATA; + mark('partData'); + case S.PART_DATA: + prevIndex = index; + + if (index === 0) { + // boyer-moore derrived algorithm to safely skip non-boundary data + i += boundaryEnd; + while (i < bufferLength && !(buffer[i] in boundaryChars)) { + i += boundaryLength; + } + i -= boundaryEnd; + c = buffer[i]; + } + + if (index < boundary.length) { + if (boundary[index] == c) { + if (index === 0) { + dataCallback('partData', true); + } + index++; + } else { + index = 0; + } + } else if (index == boundary.length) { + index++; + if (c == CR) { + // CR = part boundary + flags |= F.PART_BOUNDARY; + } else if (c == HYPHEN) { + // HYPHEN = end boundary + flags |= F.LAST_BOUNDARY; + } else { + index = 0; + } + } else if (index - 1 == boundary.length) { + if (flags & F.PART_BOUNDARY) { + index = 0; + if (c == LF) { + // unset the PART_BOUNDARY flag + flags &= ~F.PART_BOUNDARY; + callback('partEnd'); + callback('partBegin'); + state = S.HEADER_FIELD_START; + break; + } + } else if (flags & F.LAST_BOUNDARY) { + if (c == HYPHEN) { + callback('partEnd'); + callback('end'); + state = S.END; + flags = 0; + } else { + index = 0; + } + } else { + index = 0; + } + } + + if (index > 0) { + // when matching a possible boundary, keep a lookbehind reference + // in case it turns out to be a false lead + lookbehind[index-1] = c; + } else if (prevIndex > 0) { + // if our boundary turned out to be rubbish, the captured lookbehind + // belongs to partData + callback('partData', lookbehind, 0, prevIndex); + prevIndex = 0; + mark('partData'); + + // reconsider the current character even so it interrupted the sequence + // it could be the beginning of a new sequence + i--; + } + + break; + case S.END: + break; + default: + return i; + } + } + + dataCallback('headerField'); + dataCallback('headerValue'); + dataCallback('partData'); + + this.index = index; + this.state = state; + this.flags = flags; + + return len; +}; + +MultipartParser.prototype.end = function() { + var callback = function(self, name) { + var callbackSymbol = 'on'+name.substr(0, 1).toUpperCase()+name.substr(1); + if (callbackSymbol in self) { + self[callbackSymbol](); + } + }; + if ((this.state == S.HEADER_FIELD_START && this.index === 0) || + (this.state == S.PART_DATA && this.index == this.boundary.length)) { + callback(this, 'partEnd'); + callback(this, 'end'); + } else if (this.state != S.END) { + return new Error('MultipartParser.end(): stream ended unexpectedly: ' + this.explain()); + } +}; + +MultipartParser.prototype.explain = function() { + return 'state = ' + MultipartParser.stateToString(this.state); +}; diff --git a/node_modules/formidable/lib/octet_parser.js b/node_modules/formidable/lib/octet_parser.js new file mode 100644 index 0000000..6e8b551 --- /dev/null +++ b/node_modules/formidable/lib/octet_parser.js @@ -0,0 +1,20 @@ +var EventEmitter = require('events').EventEmitter + , util = require('util'); + +function OctetParser(options){ + if(!(this instanceof OctetParser)) return new OctetParser(options); + EventEmitter.call(this); +} + +util.inherits(OctetParser, EventEmitter); + +exports.OctetParser = OctetParser; + +OctetParser.prototype.write = function(buffer) { + this.emit('data', buffer); + return buffer.length; +}; + +OctetParser.prototype.end = function() { + this.emit('end'); +}; diff --git a/node_modules/formidable/lib/querystring_parser.js b/node_modules/formidable/lib/querystring_parser.js new file mode 100644 index 0000000..fcaffe0 --- /dev/null +++ b/node_modules/formidable/lib/querystring_parser.js @@ -0,0 +1,27 @@ +if (global.GENTLY) require = GENTLY.hijack(require); + +// This is a buffering parser, not quite as nice as the multipart one. +// If I find time I'll rewrite this to be fully streaming as well +var querystring = require('querystring'); + +function QuerystringParser(maxKeys) { + this.maxKeys = maxKeys; + this.buffer = ''; +} +exports.QuerystringParser = QuerystringParser; + +QuerystringParser.prototype.write = function(buffer) { + this.buffer += buffer.toString('ascii'); + return buffer.length; +}; + +QuerystringParser.prototype.end = function() { + var fields = querystring.parse(this.buffer, '&', '=', { maxKeys: this.maxKeys }); + for (var field in fields) { + this.onField(field, fields[field]); + } + this.buffer = ''; + + this.onEnd(); +}; + diff --git a/node_modules/formidable/package.json b/node_modules/formidable/package.json new file mode 100644 index 0000000..48ff861 --- /dev/null +++ b/node_modules/formidable/package.json @@ -0,0 +1,57 @@ +{ + "_from": "formidable@^1.1.1", + "_id": "formidable@1.2.1", + "_inBundle": false, + "_integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==", + "_location": "/formidable", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "formidable@^1.1.1", + "name": "formidable", + "escapedName": "formidable", + "rawSpec": "^1.1.1", + "saveSpec": null, + "fetchSpec": "^1.1.1" + }, + "_requiredBy": [ + "/koa-body" + ], + "_resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "_shasum": "70fb7ca0290ee6ff961090415f4b3df3d2082659", + "_spec": "formidable@^1.1.1", + "_where": "D:\\GitHub\\Gallery\\node_modules\\koa-body", + "bugs": { + "url": "http://github.com/felixge/node-formidable/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "A node.js module for parsing form data, especially file uploads.", + "devDependencies": { + "findit": "^0.1.2", + "gently": "^0.8.0", + "hashish": "^0.0.4", + "request": "^2.11.4", + "urun": "^0.0.6", + "utest": "^0.0.8" + }, + "directories": { + "lib": "./lib" + }, + "homepage": "https://github.com/felixge/node-formidable", + "license": "MIT", + "main": "./lib/index", + "name": "formidable", + "optionalDependencies": {}, + "repository": { + "type": "git", + "url": "git://github.com/felixge/node-formidable.git" + }, + "scripts": { + "clean": "rm test/tmp/*", + "test": "node test/run.js" + }, + "version": "1.2.1" +} diff --git a/node_modules/formidable/yarn.lock b/node_modules/formidable/yarn.lock new file mode 100644 index 0000000..a5cdcfe --- /dev/null +++ b/node_modules/formidable/yarn.lock @@ -0,0 +1,2891 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +ansi-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" + dependencies: + string-width "^1.0.1" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +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@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +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-exclude@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +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, array-uniq@^1.0.2: + 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" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +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" + +auto-bind@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1" + +ava-files@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ava-files/-/ava-files-0.2.0.tgz#c7b8b6e2e0cea63b57a6e27e0db145c7c19cfe20" + dependencies: + auto-bind "^0.1.0" + bluebird "^3.4.1" + globby "^6.0.0" + ignore-by-default "^1.0.1" + lodash.flatten "^4.2.0" + multimatch "^2.1.0" + slash "^1.0.0" + +ava-init@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.1.6.tgz#ef19ed0b24b6bf359dad6fbadf1a05d836395c91" + dependencies: + arr-exclude "^1.0.0" + cross-spawn "^4.0.0" + pinkie-promise "^2.0.0" + read-pkg-up "^1.0.1" + the-argv "^1.0.0" + write-pkg "^1.0.0" + +ava@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/ava/-/ava-0.17.0.tgz#359e2a89616801ef03929c3cf10a9d4f8e451d02" + dependencies: + arr-flatten "^1.0.1" + array-union "^1.0.1" + array-uniq "^1.0.2" + arrify "^1.0.0" + auto-bind "^0.1.0" + ava-files "^0.2.0" + ava-init "^0.1.0" + babel-code-frame "^6.16.0" + babel-core "^6.17.0" + babel-plugin-ava-throws-helper "^0.1.0" + babel-plugin-detective "^2.0.0" + babel-plugin-espower "^2.3.1" + babel-plugin-transform-runtime "^6.15.0" + babel-preset-es2015 "^6.16.0" + babel-preset-es2015-node4 "^2.1.0" + babel-preset-stage-2 "^6.17.0" + babel-runtime "^6.11.6" + bluebird "^3.0.0" + caching-transform "^1.0.0" + chalk "^1.0.0" + chokidar "^1.4.2" + clean-yaml-object "^0.1.0" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + cli-truncate "^0.2.0" + co-with-promise "^4.6.0" + common-path-prefix "^1.0.0" + convert-source-map "^1.2.0" + core-assert "^0.2.0" + currently-unhandled "^0.4.1" + debug "^2.2.0" + empower-core "^0.6.1" + figures "^1.4.0" + find-cache-dir "^0.1.1" + fn-name "^2.0.0" + get-port "^2.1.0" + has-flag "^2.0.0" + ignore-by-default "^1.0.0" + is-ci "^1.0.7" + is-generator-fn "^1.0.0" + is-obj "^1.0.0" + is-observable "^0.2.0" + is-promise "^2.1.0" + last-line-stream "^1.0.0" + lodash.debounce "^4.0.3" + lodash.difference "^4.3.0" + lodash.isequal "^4.4.0" + loud-rejection "^1.2.0" + matcher "^0.1.1" + max-timeout "^1.0.0" + md5-hex "^1.2.0" + meow "^3.7.0" + ms "^0.7.1" + object-assign "^4.0.1" + observable-to-promise "^0.4.0" + option-chain "^0.1.0" + package-hash "^1.1.0" + pkg-conf "^1.0.1" + plur "^2.0.0" + power-assert-context-formatter "^1.0.4" + power-assert-renderer-assertion "^1.0.1" + power-assert-renderer-succinct "^1.0.1" + pretty-ms "^2.0.0" + repeating "^2.0.0" + require-precompiled "^0.1.0" + resolve-cwd "^1.0.0" + semver "^5.3.0" + set-immediate-shim "^1.0.1" + source-map-support "^0.4.0" + stack-utils "^0.4.0" + strip-ansi "^3.0.1" + strip-bom "^2.0.0" + time-require "^0.1.2" + unique-temp-dir "^1.0.0" + update-notifier "^1.0.0" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-core@^6.17.0, babel-core@^6.18.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.21.0.tgz#75525480c21c803f826ef3867d22c19f080a3724" + dependencies: + babel-code-frame "^6.20.0" + babel-generator "^6.21.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-generator@^6.1.0, babel-generator@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.21.0.tgz#605f1269c489a1c75deeca7ea16d43d4656c8494" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-bindify-decorators@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" + dependencies: + babel-helper-explode-assignable-expression "^6.18.0" + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-call-delegate@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-explode-assignable-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" + dependencies: + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-explode-class@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" + dependencies: + babel-helper-bindify-decorators "^6.18.0" + babel-runtime "^6.0.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" + dependencies: + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helper-get-function-arity@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-hoist-variables@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-optimise-call-expression@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-helper-regex@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" + dependencies: + babel-runtime "^6.9.0" + babel-types "^6.18.0" + lodash "^4.2.0" + +babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: + version "6.20.3" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.20.3.tgz#9dd3b396f13e35ef63e538098500adc24c63c4e7" + dependencies: + babel-helper-function-name "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.20.0" + babel-types "^6.20.0" + +babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" + dependencies: + babel-helper-optimise-call-expression "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-ava-throws-helper@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.1.0.tgz#951107708a12208026bf8ca4cef18a87bc9b0cfe" + dependencies: + babel-template "^6.7.0" + babel-types "^6.7.2" + +babel-plugin-check-es2015-constants@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-detective@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-detective/-/babel-plugin-detective-2.0.0.tgz#6e642e83c22a335279754ebe2d754d2635f49f13" + +babel-plugin-espower@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" + dependencies: + babel-generator "^6.1.0" + babylon "^6.1.0" + call-matcher "^1.0.0" + core-js "^2.0.0" + espower-location-detector "^1.0.0" + espurify "^1.6.0" + estraverse "^4.1.1" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.3.13: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.20.0.tgz#442835e19179f45b87e92d477d70b9f1f18b5c4f" + +babel-plugin-transform-async-generator-functions@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" + dependencies: + babel-helper-remap-async-to-generator "^6.16.2" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-async-to-generator@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" + dependencies: + babel-helper-remap-async-to-generator "^6.16.0" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-class-properties@^6.18.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.19.0.tgz#1274b349abaadc835164e2004f4a2444a2788d5f" + dependencies: + babel-helper-function-name "^6.18.0" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.9.1" + babel-template "^6.15.0" + +babel-plugin-transform-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" + dependencies: + babel-helper-define-map "^6.8.0" + babel-helper-explode-class "^6.8.0" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + babel-types "^6.13.0" + +babel-plugin-transform-es2015-arrow-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-block-scoping@^6.18.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz#e840687f922e70fb2c42bb13501838c174a115ed" + dependencies: + babel-runtime "^6.20.0" + babel-template "^6.15.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" + dependencies: + babel-helper-define-map "^6.18.0" + babel-helper-function-name "^6.18.0" + babel-helper-optimise-call-expression "^6.18.0" + babel-helper-replace-supers "^6.18.0" + babel-messages "^6.8.0" + babel-runtime "^6.9.0" + babel-template "^6.14.0" + babel-traverse "^6.18.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-computed-properties@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" + dependencies: + babel-helper-define-map "^6.8.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-destructuring@^6.18.0, babel-plugin-transform-es2015-destructuring@^6.6.5: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz#ff1d911c4b3f4cab621bd66702a869acd1900533" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-for-of@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-function-name@^6.5.0, babel-plugin-transform-es2015-function-name@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" + dependencies: + babel-helper-function-name "^6.8.0" + babel-runtime "^6.9.0" + babel-types "^6.9.0" + +babel-plugin-transform-es2015-literals@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-modules-amd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.18.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.4: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" + dependencies: + babel-plugin-transform-strict-mode "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.18.0: + version "6.19.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz#50438136eba74527efa00a5b0fefaf1dc4071da6" + dependencies: + babel-helper-hoist-variables "^6.18.0" + babel-runtime "^6.11.6" + babel-template "^6.14.0" + +babel-plugin-transform-es2015-modules-umd@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-runtime "^6.0.0" + babel-template "^6.8.0" + +babel-plugin-transform-es2015-object-super@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" + dependencies: + babel-helper-replace-supers "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-parameters@^6.18.0, babel-plugin-transform-es2015-parameters@^6.7.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz#46a655e6864ef984091448cdf024d87b60b2a7d8" + dependencies: + babel-helper-call-delegate "^6.18.0" + babel-helper-get-function-arity "^6.18.0" + babel-runtime "^6.9.0" + babel-template "^6.16.0" + babel-traverse "^6.21.0" + babel-types "^6.21.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.18.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-plugin-transform-es2015-spread@^6.3.13, babel-plugin-transform-es2015-spread@^6.6.5: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-sticky-regex@^6.3.13, babel-plugin-transform-es2015-sticky-regex@^6.5.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + babel-types "^6.8.0" + +babel-plugin-transform-es2015-template-literals@^6.6.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" + dependencies: + babel-runtime "^6.0.0" + +babel-plugin-transform-es2015-unicode-regex@^6.3.13, babel-plugin-transform-es2015-unicode-regex@^6.5.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" + dependencies: + babel-helper-regex "^6.8.0" + babel-runtime "^6.0.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.3.13: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.0.0" + +babel-plugin-transform-object-rest-spread@^6.16.0: + version "6.20.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz#e816c55bba77b14c16365d87e2ae48c8fd18fc2e" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.20.0" + +babel-plugin-transform-regenerator@^6.16.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz#75d0c7e7f84f379358f508451c68a2c5fa5a9703" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-runtime@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.15.0.tgz#3d75b4d949ad81af157570273846fb59aeb0d57c" + dependencies: + babel-runtime "^6.9.0" + +babel-plugin-transform-strict-mode@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" + dependencies: + babel-runtime "^6.0.0" + babel-types "^6.18.0" + +babel-preset-es2015-node4@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015-node4/-/babel-preset-es2015-node4-2.1.1.tgz#e31f290859b58619c8cfa241d1b0bc900f941cdb" + dependencies: + babel-plugin-transform-es2015-destructuring "^6.6.5" + babel-plugin-transform-es2015-function-name "^6.5.0" + babel-plugin-transform-es2015-modules-commonjs "^6.7.4" + babel-plugin-transform-es2015-parameters "^6.7.0" + babel-plugin-transform-es2015-shorthand-properties "^6.5.0" + babel-plugin-transform-es2015-spread "^6.6.5" + babel-plugin-transform-es2015-sticky-regex "^6.5.0" + babel-plugin-transform-es2015-unicode-regex "^6.5.0" + +babel-preset-es2015@^6.16.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" + dependencies: + babel-plugin-check-es2015-constants "^6.3.13" + babel-plugin-transform-es2015-arrow-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" + babel-plugin-transform-es2015-block-scoping "^6.18.0" + babel-plugin-transform-es2015-classes "^6.18.0" + babel-plugin-transform-es2015-computed-properties "^6.3.13" + babel-plugin-transform-es2015-destructuring "^6.18.0" + babel-plugin-transform-es2015-duplicate-keys "^6.6.0" + babel-plugin-transform-es2015-for-of "^6.18.0" + babel-plugin-transform-es2015-function-name "^6.9.0" + babel-plugin-transform-es2015-literals "^6.3.13" + babel-plugin-transform-es2015-modules-amd "^6.18.0" + babel-plugin-transform-es2015-modules-commonjs "^6.18.0" + babel-plugin-transform-es2015-modules-systemjs "^6.18.0" + babel-plugin-transform-es2015-modules-umd "^6.18.0" + babel-plugin-transform-es2015-object-super "^6.3.13" + babel-plugin-transform-es2015-parameters "^6.18.0" + babel-plugin-transform-es2015-shorthand-properties "^6.18.0" + babel-plugin-transform-es2015-spread "^6.3.13" + babel-plugin-transform-es2015-sticky-regex "^6.3.13" + babel-plugin-transform-es2015-template-literals "^6.6.0" + babel-plugin-transform-es2015-typeof-symbol "^6.18.0" + babel-plugin-transform-es2015-unicode-regex "^6.3.13" + babel-plugin-transform-regenerator "^6.16.0" + +babel-preset-stage-2@^6.17.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.18.0" + babel-plugin-transform-decorators "^6.13.0" + babel-preset-stage-3 "^6.17.0" + +babel-preset-stage-3@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.3.13" + babel-plugin-transform-async-generator-functions "^6.17.0" + babel-plugin-transform-async-to-generator "^6.16.0" + babel-plugin-transform-exponentiation-operator "^6.3.13" + babel-plugin-transform-object-rest-spread "^6.16.0" + +babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.7.0, babel-template@^6.8.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.20.0, babel-traverse@^6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.21.0.tgz#69c6365804f1a4f69eb1213f85b00a818b8c21ad" + dependencies: + babel-code-frame "^6.20.0" + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.21.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.20.0, babel-types@^6.21.0, babel-types@^6.7.2, babel-types@^6.8.0, babel-types@^6.9.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.21.0.tgz#314b92168891ef6d3806b7f7a917fdf87c11a4b2" + dependencies: + babel-runtime "^6.20.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.1.0, babylon@^6.11.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +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" + +bluebird@^3.0.0, bluebird@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + +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" + +boxen@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" + dependencies: + ansi-align "^1.1.0" + camelcase "^2.1.0" + chalk "^1.1.1" + cli-boxes "^1.0.0" + filled-array "^1.0.0" + object-assign "^4.0.1" + repeating "^2.0.0" + string-width "^1.0.1" + widest-line "^1.0.0" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + 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" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +buf-compare@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caching-transform@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" + dependencies: + md5-hex "^1.2.0" + mkdirp "^0.5.1" + write-file-atomic "^1.1.4" + +call-matcher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" + dependencies: + core-js "^2.0.0" + deep-equal "^1.0.0" + espurify "^1.6.0" + estraverse "^4.0.0" + +call-signature@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^2.0.0, camelcase@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +"chainsaw@>=0.0.7 <0.1": + version "0.0.9" + resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.0.9.tgz#11a05102d1c4c785b6d0415d336d5a3a1612913e" + dependencies: + traverse ">=0.3.0 <0.4" + +chalk@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" + dependencies: + ansi-styles "~1.0.0" + has-color "~0.1.0" + strip-ansi "~0.1.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: + 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" + +chokidar@^1.4.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + 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" + +ci-info@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" + +clean-yaml-object@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + +cli-truncate@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + +co-with-promise@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" + dependencies: + pinkie-promise "^1.0.0" + +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" + +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.9.0, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +common-path-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +configstore@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" + dependencies: + dot-prop "^3.0.0" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + object-assign "^4.0.1" + os-tmpdir "^1.0.0" + osenv "^0.1.0" + uuid "^2.0.1" + write-file-atomic "^1.1.2" + xdg-basedir "^2.0.0" + +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" + +convert-source-map@^1.1.0, convert-source-map@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +core-assert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" + dependencies: + buf-compare "^1.0.0" + is-error "^2.2.0" + +core-js@^2.0.0, core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +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" + +create-error-class@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +cross-spawn@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +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" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +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" + +date-time@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" + +debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +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" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + dependencies: + is-obj "^1.0.0" + +duplexer2@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +eastasianwidth@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" + +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" + +empower-core@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" + dependencies: + call-signature "0.0.2" + core-js "^2.0.0" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, 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" + +espower-location-detector@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" + dependencies: + is-url "^1.2.1" + path-is-absolute "^1.0.0" + source-map "^0.5.0" + xtend "^4.0.0" + +espurify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" + dependencies: + core-js "^2.0.0" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: + 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" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +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" + +extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +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.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +figures@^1.4.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +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" + +filled-array@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/findit/-/findit-0.1.2.tgz#ac7fe600cd6a32a35672836b74cf6f1dde2e11f8" + dependencies: + seq ">=0.1.7" + +fn-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +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.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +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.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +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.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" + 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" + supports-color "^0.2.0" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +gently@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/gently/-/gently-0.8.0.tgz#bc385db99ec1994dd6a44368e0abeb482b192b2c" + +get-port@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" + dependencies: + pinkie-promise "^2.0.0" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + 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.5, glob@^7.0.3, glob@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.0.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globby@^6.0.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@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + 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" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^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-color@~0.1.0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +"hashish@>=0.0.2 <0.1", hashish@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/hashish/-/hashish-0.0.4.tgz#6d60bc6ffaf711b6afd60e426d077988014e6554" + dependencies: + traverse ">=0.2.4" + +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" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +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" + +ignore-by-default@^1.0.0, ignore-by-default@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +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.1, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +irregular-plurals@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +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.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-ci@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + dependencies: + ci-info "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +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-error@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" + +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-finite@^1.0.0, is-finite@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +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-generator-fn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" + +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-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + +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-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-observable@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" + dependencies: + symbol-observable "^0.2.2" + +is-plain-obj@^1.0.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-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +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: + 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" + +is-url@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +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" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +js-tokens@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +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" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +last-line-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" + dependencies: + through2 "^2.0.0" + +latest-version@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" + dependencies: + package-json "^2.0.0" + +lazy-req@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +load-json-file@^1.0.0, load-json-file@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basecreate@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash.create@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" + dependencies: + lodash._baseassign "^3.0.0" + lodash._basecreate "^3.0.0" + lodash._isiterateecall "^3.0.0" + +lodash.debounce@^4.0.3: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.difference@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isequal@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash@^4.2.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0, loud-rejection@^1.2.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.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" + +lru-cache@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +matcher@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" + dependencies: + escape-string-regexp "^1.0.4" + +max-timeout@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/max-timeout/-/max-timeout-1.0.0.tgz#b68f69a2f99e0b476fd4cb23e2059ca750715e1f" + +md5-hex@^1.2.0, md5-hex@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + dependencies: + md5-o-matic "^0.1.1" + +md5-o-matic@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +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.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + dependencies: + mime-db "~1.26.0" + +minimatch@^3.0.0, minimatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, 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" + +mocha@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" + dependencies: + browser-stdout "1.3.0" + commander "2.9.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.5" + glob "7.0.5" + growl "1.9.2" + json3 "3.3.2" + lodash.create "3.1.1" + mkdirp "0.5.1" + supports-color "3.1.2" + +ms@0.7.1, ms@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +multimatch@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" + dependencies: + array-differ "^1.0.0" + array-union "^1.0.1" + arrify "^1.0.0" + minimatch "^3.0.0" + +nan@^2.3.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" + +node-pre-gyp@^0.6.29: + version "0.6.32" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" + +nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + 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: + 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" + +observable-to-promise@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.4.0.tgz#28afe71645308f2d41d71f47ad3fece1a377e52b" + dependencies: + is-observable "^0.2.0" + symbol-observable "^0.2.2" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +option-chain@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" + dependencies: + object-assign "^4.0.1" + +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.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.0: + 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" + +package-hash@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" + dependencies: + md5-hex "^1.3.0" + +package-json@^2.0.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" + dependencies: + got "^5.0.0" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.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" + +parse-json@^2.1.0, parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-ms@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" + +parse-ms@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +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-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" + dependencies: + pinkie "^1.0.0" + +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@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-conf@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" + dependencies: + find-up "^1.0.0" + load-json-file "^1.1.0" + object-assign "^4.0.1" + symbol "^0.2.1" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +plur@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" + +plur@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + dependencies: + irregular-plurals "^1.0.0" + +power-assert-context-formatter@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz#edba352d3ed8a603114d667265acce60d689ccdf" + dependencies: + core-js "^2.0.0" + power-assert-context-traversal "^1.1.1" + +power-assert-context-traversal@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz#88cabca0d13b6359f07d3d3e8afa699264577ed9" + dependencies: + core-js "^2.0.0" + estraverse "^4.1.0" + +power-assert-renderer-assertion@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz#cbfc0e77e0086a8f96af3f1d8e67b9ee7e28ce98" + dependencies: + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.1.1" + +power-assert-renderer-base@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" + +power-assert-renderer-diagram@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.1.tgz#7e0c82cc08a84b155e51b5ae94f59709778a65fb" + dependencies: + core-js "^2.0.0" + power-assert-renderer-base "^1.1.1" + power-assert-util-string-width "^1.1.1" + stringifier "^1.3.0" + +power-assert-renderer-succinct@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.1.1.tgz#c2a468b23822abd6f80e2aba5322347b09df476e" + dependencies: + core-js "^2.0.0" + power-assert-renderer-diagram "^1.1.1" + +power-assert-util-string-width@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz#be659eb7937fdd2e6c9a77268daaf64bd5b7c592" + dependencies: + eastasianwidth "^0.1.1" + +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-ms@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" + dependencies: + parse-ms "^0.1.0" + +pretty-ms@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" + dependencies: + is-finite "^1.0.1" + parse-ms "^1.0.0" + plur "^1.0.0" + +private@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +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" + +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +rc@^1.0.1, rc@^1.1.6, rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + 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" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +registry-auth-token@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" + dependencies: + rc "^1.1.6" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + dependencies: + rc "^1.0.1" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +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" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@^2.11.4, request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + 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" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-precompiled@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" + +resolve-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" + dependencies: + resolve-from "^2.0.0" + +resolve-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + dependencies: + semver "^5.0.3" + +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +seq@>=0.1.7: + version "0.3.5" + resolved "https://registry.yarnpkg.com/seq/-/seq-0.3.5.tgz#ae02af3a424793d8ccbf212d69174e0c54dffe38" + dependencies: + chainsaw ">=0.0.7 <0.1" + hashish ">=0.0.2 <0.1" + +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" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +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" + +sort-keys@^1.1.1: + 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-support@^0.4.0, source-map-support@^0.4.2: + version "0.4.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.9.tgz#45eaa04f067e049d987b27599ed014a37750aaff" + dependencies: + source-map "^0.5.3" + +source-map@^0.5.0, source-map@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sshpk@^1.7.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + 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" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stack-utils@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" + +string-width@^1.0.1: + 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_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringifier@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.3.0.tgz#def18342f6933db0f2dbfc9aa02175b448c17959" + dependencies: + core-js "^2.0.0" + traverse "^0.6.6" + type-name "^2.0.1" + +stringstream@~0.0.4: + 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@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" + dependencies: + has-flag "^1.0.0" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +symbol-observable@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" + +symbol@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + 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@~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" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +the-argv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" + +through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +time-require@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" + dependencies: + chalk "^0.4.0" + date-time "^0.1.1" + pretty-ms "^0.2.1" + text-table "^0.2.0" + +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +traverse@>=0.2.4, traverse@^0.6.6: + version "0.6.6" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" + +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +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-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uid2@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" + +unique-temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" + dependencies: + mkdirp "^0.5.1" + os-tmpdir "^1.0.1" + uid2 "0.0.3" + +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +update-notifier@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" + dependencies: + boxen "^0.6.0" + chalk "^1.0.0" + configstore "^2.0.0" + is-npm "^1.0.0" + latest-version "^2.0.0" + lazy-req "^1.1.0" + semver-diff "^2.0.0" + xdg-basedir "^2.0.0" + +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" + +urun@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/urun/-/urun-0.0.6.tgz#e0fa856980367d86bf146e180bc3890320ab1d2f" + dependencies: + utest "0.0.2" + +utest@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/utest/-/utest-0.0.2.tgz#3862e2975309ea5de0940444a6c6ee0179726a16" + +utest@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/utest/-/utest-0.0.8.tgz#fc09451fe697b9008d0c432fe0db439d6cf37914" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +which@^1.2.9: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +widest-line@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" + dependencies: + string-width "^1.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-json-file@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-1.2.0.tgz#2d5dfe96abc3c889057c93971aa4005efb548134" + dependencies: + graceful-fs "^4.1.2" + mkdirp "^0.5.1" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + sort-keys "^1.1.1" + write-file-atomic "^1.1.2" + +write-pkg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-1.0.0.tgz#aeb8aa9d4d788e1d893dfb0854968b543a919f57" + dependencies: + write-json-file "^1.1.0" + +xdg-basedir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" + dependencies: + os-homedir "^1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yallist@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" diff --git a/node_modules/fs-extra/CHANGELOG.md b/node_modules/fs-extra/CHANGELOG.md new file mode 100644 index 0000000..3049b45 --- /dev/null +++ b/node_modules/fs-extra/CHANGELOG.md @@ -0,0 +1,864 @@ +8.1.0 / 2019-06-28 +------------------ + +- Add support for promisified `fs.realpath.native` in Node v9.2+ ([#650](https://github.com/jprichardson/node-fs-extra/issues/650), [#682](https://github.com/jprichardson/node-fs-extra/pull/682)) +- Update `graceful-fs` dependency ([#700](https://github.com/jprichardson/node-fs-extra/pull/700)) +- Use `graceful-fs` everywhere ([#700](https://github.com/jprichardson/node-fs-extra/pull/700)) + +8.0.1 / 2019-05-13 +------------------ + +- Fix bug `Maximum call stack size exceeded` error in `util/stat` ([#679](https://github.com/jprichardson/node-fs-extra/pull/679)) + +8.0.0 / 2019-05-11 +------------------ + +**NOTE:** Node.js v6 support is deprecated, and will be dropped in the next major release. + +- Use `renameSync()` under the hood in `moveSync()` +- Fix bug with bind-mounted directories in `copy*()` ([#613](https://github.com/jprichardson/node-fs-extra/issues/613), [#618](https://github.com/jprichardson/node-fs-extra/pull/618)) +- Fix bug in `move()` with case-insensitive file systems +- Use `fs.stat()`'s `bigint` option in `copy*()` & `move*()` where possible ([#657](https://github.com/jprichardson/node-fs-extra/issues/657)) + +7.0.1 / 2018-11-07 +------------------ + +- Fix `removeSync()` on Windows, in some cases, it would error out with `ENOTEMPTY` ([#646](https://github.com/jprichardson/node-fs-extra/pull/646)) +- Document `mode` option for `ensureDir*()` ([#587](https://github.com/jprichardson/node-fs-extra/pull/587)) +- Don't include documentation files in npm package tarball ([#642](https://github.com/jprichardson/node-fs-extra/issues/642), [#643](https://github.com/jprichardson/node-fs-extra/pull/643)) + +7.0.0 / 2018-07-16 +------------------ + +- **BREAKING:** Refine `copy*()` handling of symlinks to properly detect symlinks that point to the same file. ([#582](https://github.com/jprichardson/node-fs-extra/pull/582)) +- Fix bug with copying write-protected directories ([#600](https://github.com/jprichardson/node-fs-extra/pull/600)) +- Universalify `fs.lchmod()` ([#596](https://github.com/jprichardson/node-fs-extra/pull/596)) +- Add `engines` field to `package.json` ([#580](https://github.com/jprichardson/node-fs-extra/pull/580)) + +6.0.1 / 2018-05-09 +------------------ + +- Fix `fs.promises` `ExperimentalWarning` on Node v10.1.0 ([#578](https://github.com/jprichardson/node-fs-extra/pull/578)) + +6.0.0 / 2018-05-01 +------------------ + +- Drop support for Node.js versions 4, 5, & 7 ([#564](https://github.com/jprichardson/node-fs-extra/pull/564)) +- Rewrite `move` to use `fs.rename` where possible ([#549](https://github.com/jprichardson/node-fs-extra/pull/549)) +- Don't convert relative paths to absolute paths for `filter` ([#554](https://github.com/jprichardson/node-fs-extra/pull/554)) +- `copy*`'s behavior when `preserveTimestamps` is `false` has been OS-dependent since 5.0.0, but that's now explicitly noted in the docs ([#563](https://github.com/jprichardson/node-fs-extra/pull/563)) +- Fix subdirectory detection for `copy*` & `move*` ([#541](https://github.com/jprichardson/node-fs-extra/pull/541)) +- Handle case-insensitive paths correctly in `copy*` ([#568](https://github.com/jprichardson/node-fs-extra/pull/568)) + +5.0.0 / 2017-12-11 +------------------ + +Significant refactor of `copy()` & `copySync()`, including breaking changes. No changes to other functions in this release. + +Huge thanks to **[@manidlou](https://github.com/manidlou)** for doing most of the work on this release. + +- The `filter` option can no longer be a RegExp (must be a function). This was deprecated since fs-extra v1.0.0. [#512](https://github.com/jprichardson/node-fs-extra/pull/512) +- `copy()`'s `filter` option can now be a function that returns a Promise. [#518](https://github.com/jprichardson/node-fs-extra/pull/518) +- `copy()` & `copySync()` now use `fs.copyFile()`/`fs.copyFileSync()` in environments that support it (currently Node 8.5.0+). Older Node versions still get the old implementation. [#505](https://github.com/jprichardson/node-fs-extra/pull/505) +- Don't allow copying a directory into itself. [#83](https://github.com/jprichardson/node-fs-extra/issues/83) +- Handle copying between identical files. [#198](https://github.com/jprichardson/node-fs-extra/issues/198) +- Error out when copying an empty folder to a path that already exists. [#464](https://github.com/jprichardson/node-fs-extra/issues/464) +- Don't create `dest`'s parent if the `filter` function aborts the `copy()` operation. [#517](https://github.com/jprichardson/node-fs-extra/pull/517) +- Fix `writeStream` not being closed if there was an error in `copy()`. [#516](https://github.com/jprichardson/node-fs-extra/pull/516) + +4.0.3 / 2017-12-05 +------------------ + +- Fix wrong `chmod` values in `fs.remove()` [#501](https://github.com/jprichardson/node-fs-extra/pull/501) +- Fix `TypeError` on systems that don't have some `fs` operations like `lchown` [#520](https://github.com/jprichardson/node-fs-extra/pull/520) + +4.0.2 / 2017-09-12 +------------------ + +- Added `EOL` option to `writeJson*` & `outputJson*` (via upgrade to jsonfile v4) +- Added promise support to [`fs.copyFile()`](https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_flags_callback) in Node 8.5+ +- Added `.js` extension to `main` field in `package.json` for better tooling compatibility. [#485](https://github.com/jprichardson/node-fs-extra/pull/485) + +4.0.1 / 2017-07-31 +------------------ + +### Fixed + +- Previously, `ensureFile()` & `ensureFileSync()` would do nothing if the path was a directory. Now, they error out for consistency with `ensureDir()`. [#465](https://github.com/jprichardson/node-fs-extra/issues/465), [#466](https://github.com/jprichardson/node-fs-extra/pull/466), [#470](https://github.com/jprichardson/node-fs-extra/issues/470) + +4.0.0 / 2017-07-14 +------------------ + +### Changed + +- **BREAKING:** The promisified versions of `fs.read()` & `fs.write()` now return objects. See [the docs](docs/fs-read-write.md) for details. [#436](https://github.com/jprichardson/node-fs-extra/issues/436), [#449](https://github.com/jprichardson/node-fs-extra/pull/449) +- `fs.move()` now errors out when destination is a subdirectory of source. [#458](https://github.com/jprichardson/node-fs-extra/pull/458) +- Applied upstream fixes from `rimraf` to `fs.remove()` & `fs.removeSync()`. [#459](https://github.com/jprichardson/node-fs-extra/pull/459) + +### Fixed + +- Got `fs.outputJSONSync()` working again; it was broken due to refactoring. [#428](https://github.com/jprichardson/node-fs-extra/pull/428) + +Also clarified the docs in a few places. + +3.0.1 / 2017-05-04 +------------------ + +- Fix bug in `move()` & `moveSync()` when source and destination are the same, and source does not exist. [#415](https://github.com/jprichardson/node-fs-extra/pull/415) + +3.0.0 / 2017-04-27 +------------------ + +### Added + +- **BREAKING:** Added Promise support. All asynchronous native fs methods and fs-extra methods now return a promise if the callback is not passed. [#403](https://github.com/jprichardson/node-fs-extra/pull/403) +- `pathExists()`, a replacement for the deprecated `fs.exists`. `pathExists` has a normal error-first callback signature. Also added `pathExistsSync`, an alias to `fs.existsSync`, for completeness. [#406](https://github.com/jprichardson/node-fs-extra/pull/406) + +### Removed + +- **BREAKING:** Removed support for setting the default spaces for `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()`. This was undocumented. [#402](https://github.com/jprichardson/node-fs-extra/pull/402) + +### Changed + +- Upgraded jsonfile dependency to v3.0.0: + - **BREAKING:** Changed behavior of `throws` option for `readJsonSync()`; now does not throw filesystem errors when `throws` is `false`. +- **BREAKING:** `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()` now output minified JSON by default for consistency with `JSON.stringify()`; set the `spaces` option to `2` to override this new behavior. [#402](https://github.com/jprichardson/node-fs-extra/pull/402) +- Use `Buffer.allocUnsafe()` instead of `new Buffer()` in environments that support it. [#394](https://github.com/jprichardson/node-fs-extra/pull/394) + +### Fixed + +- `removeSync()` silently failed on Windows in some cases. Now throws an `EBUSY` error. [#408](https://github.com/jprichardson/node-fs-extra/pull/408) + +2.1.2 / 2017-03-16 +------------------ + +### Fixed + +- Weird windows bug that resulted in `ensureDir()`'s callback being called twice in some cases. This bug may have also affected `remove()`. See [#392](https://github.com/jprichardson/node-fs-extra/issues/392), [#393](https://github.com/jprichardson/node-fs-extra/pull/393) + +2.1.1 / 2017-03-15 +------------------ + +### Fixed + +- Reverted [`5597bd`](https://github.com/jprichardson/node-fs-extra/commit/5597bd5b67f7d060f5f5bf26e9635be48330f5d7), this broke compatibility with Node.js versions v4+ but less than `v4.5.0`. +- Remove `Buffer.alloc()` usage in `moveSync()`. + +2.1.0 / 2017-03-15 +------------------ + +Thanks to [Mani Maghsoudlou (@manidlou)](https://github.com/manidlou) & [Jan Peer Stöcklmair (@JPeer264)](https://github.com/JPeer264) for their extraordinary help with this release! + +### Added +- `moveSync()` See [#309], [#381](https://github.com/jprichardson/node-fs-extra/pull/381). ([@manidlou](https://github.com/manidlou)) +- `copy()` and `copySync()`'s `filter` option now gets the destination path passed as the second parameter. [#366](https://github.com/jprichardson/node-fs-extra/pull/366) ([@manidlou](https://github.com/manidlou)) + +### Changed +- Use `Buffer.alloc()` instead of deprecated `new Buffer()` in `copySync()`. [#380](https://github.com/jprichardson/node-fs-extra/pull/380) ([@manidlou](https://github.com/manidlou)) +- Refactored entire codebase to use ES6 features supported by Node.js v4+ [#355](https://github.com/jprichardson/node-fs-extra/issues/355). [(@JPeer264)](https://github.com/JPeer264) +- Refactored docs. ([@manidlou](https://github.com/manidlou)) + +### Fixed + +- `move()` shouldn't error out when source and dest are the same. [#377](https://github.com/jprichardson/node-fs-extra/issues/377), [#378](https://github.com/jprichardson/node-fs-extra/pull/378) ([@jdalton](https://github.com/jdalton)) + +2.0.0 / 2017-01-16 +------------------ + +### Removed +- **BREAKING:** Removed support for Node `v0.12`. The Node foundation stopped officially supporting it +on Jan 1st, 2017. +- **BREAKING:** Remove `walk()` and `walkSync()`. `walkSync()` was only part of `fs-extra` for a little +over two months. Use [klaw](https://github.com/jprichardson/node-klaw) instead of `walk()`, in fact, `walk()` was just +an alias to klaw. For `walkSync()` use [klaw-sync](https://github.com/mawni/node-klaw-sync). See: [#338], [#339] + +### Changed +- **BREAKING:** Renamed `clobber` to `overwrite`. This affects `copy()`, `copySync()`, and `move()`. [#330], [#333] +- Moved docs, to `docs/`. [#340] + +### Fixed +- Apply filters to directories in `copySync()` like in `copy()`. [#324] +- A specific condition when disk is under heavy use, `copy()` can fail. [#326] + + +1.0.0 / 2016-11-01 +------------------ + +After five years of development, we finally have reach the 1.0.0 milestone! Big thanks goes +to [Ryan Zim](https://github.com/RyanZim) for leading the charge on this release! + +### Added +- `walkSync()` + +### Changed +- **BREAKING**: dropped Node v0.10 support. +- disabled `rimaf` globbing, wasn't used. [#280] +- deprecate `copy()/copySync()` option `filter` if it's a `RegExp`. `filter` should now be a function. +- inline `rimraf`. This is temporary and was done because `rimraf` depended upon the beefy `glob` which `fs-extra` does not use. [#300] + +### Fixed +- bug fix proper closing of file handle on `utimesMillis()` [#271] +- proper escaping of files with dollar signs [#291] +- `copySync()` failed if user didn't own file. [#199], [#301] + + +0.30.0 / 2016-04-28 +------------------- +- Brought back Node v0.10 support. I didn't realize there was still demand. Official support will end **2016-10-01**. + +0.29.0 / 2016-04-27 +------------------- +- **BREAKING**: removed support for Node v0.10. If you still want to use Node v0.10, everything should work except for `ensureLink()/ensureSymlink()`. Node v0.12 is still supported but will be dropped in the near future as well. + +0.28.0 / 2016-04-17 +------------------- +- **BREAKING**: removed `createOutputStream()`. Use https://www.npmjs.com/package/create-output-stream. See: [#192][#192] +- `mkdirs()/mkdirsSync()` check for invalid win32 path chars. See: [#209][#209], [#237][#237] +- `mkdirs()/mkdirsSync()` if drive not mounted, error. See: [#93][#93] + +0.27.0 / 2016-04-15 +------------------- +- add `dereference` option to `copySync()`. [#235][#235] + +0.26.7 / 2016-03-16 +------------------- +- fixed `copy()` if source and dest are the same. [#230][#230] + +0.26.6 / 2016-03-15 +------------------- +- fixed if `emptyDir()` does not have a callback: [#229][#229] + +0.26.5 / 2016-01-27 +------------------- +- `copy()` with two arguments (w/o callback) was broken. See: [#215][#215] + +0.26.4 / 2016-01-05 +------------------- +- `copySync()` made `preserveTimestamps` default consistent with `copy()` which is `false`. See: [#208][#208] + +0.26.3 / 2015-12-17 +------------------- +- fixed `copy()` hangup in copying blockDevice / characterDevice / `/dev/null`. See: [#193][#193] + +0.26.2 / 2015-11-02 +------------------- +- fixed `outputJson{Sync}()` spacing adherence to `fs.spaces` + +0.26.1 / 2015-11-02 +------------------- +- fixed `copySync()` when `clogger=true` and the destination is read only. See: [#190][#190] + +0.26.0 / 2015-10-25 +------------------- +- extracted the `walk()` function into its own module [`klaw`](https://github.com/jprichardson/node-klaw). + +0.25.0 / 2015-10-24 +------------------- +- now has a file walker `walk()` + +0.24.0 / 2015-08-28 +------------------- +- removed alias `delete()` and `deleteSync()`. See: [#171][#171] + +0.23.1 / 2015-08-07 +------------------- +- Better handling of errors for `move()` when moving across devices. [#170][#170] +- `ensureSymlink()` and `ensureLink()` should not throw errors if link exists. [#169][#169] + +0.23.0 / 2015-08-06 +------------------- +- added `ensureLink{Sync}()` and `ensureSymlink{Sync}()`. See: [#165][#165] + +0.22.1 / 2015-07-09 +------------------- +- Prevent calling `hasMillisResSync()` on module load. See: [#149][#149]. +Fixes regression that was introduced in `0.21.0`. + +0.22.0 / 2015-07-09 +------------------- +- preserve permissions / ownership in `copy()`. See: [#54][#54] + +0.21.0 / 2015-07-04 +------------------- +- add option to preserve timestamps in `copy()` and `copySync()`. See: [#141][#141] +- updated `graceful-fs@3.x` to `4.x`. This brings in features from `amazing-graceful-fs` (much cleaner code / less hacks) + +0.20.1 / 2015-06-23 +------------------- +- fixed regression caused by latest jsonfile update: See: https://github.com/jprichardson/node-jsonfile/issues/26 + +0.20.0 / 2015-06-19 +------------------- +- removed `jsonfile` aliases with `File` in the name, they weren't documented and probably weren't in use e.g. +this package had both `fs.readJsonFile` and `fs.readJson` that were aliases to each other, now use `fs.readJson`. +- preliminary walker created. Intentionally not documented. If you use it, it will almost certainly change and break your code. +- started moving tests inline +- upgraded to `jsonfile@2.1.0`, can now pass JSON revivers/replacers to `readJson()`, `writeJson()`, `outputJson()` + +0.19.0 / 2015-06-08 +------------------- +- `fs.copy()` had support for Node v0.8, dropped support + +0.18.4 / 2015-05-22 +------------------- +- fixed license field according to this: [#136][#136] and https://github.com/npm/npm/releases/tag/v2.10.0 + +0.18.3 / 2015-05-08 +------------------- +- bugfix: handle `EEXIST` when clobbering on some Linux systems. [#134][#134] + +0.18.2 / 2015-04-17 +------------------- +- bugfix: allow `F_OK` ([#120][#120]) + +0.18.1 / 2015-04-15 +------------------- +- improved windows support for `move()` a bit. https://github.com/jprichardson/node-fs-extra/commit/92838980f25dc2ee4ec46b43ee14d3c4a1d30c1b +- fixed a lot of tests for Windows (appveyor) + +0.18.0 / 2015-03-31 +------------------- +- added `emptyDir()` and `emptyDirSync()` + +0.17.0 / 2015-03-28 +------------------- +- `copySync` added `clobber` option (before always would clobber, now if `clobber` is `false` it throws an error if the destination exists). +**Only works with files at the moment.** +- `createOutputStream()` added. See: [#118][#118] + +0.16.5 / 2015-03-08 +------------------- +- fixed `fs.move` when `clobber` is `true` and destination is a directory, it should clobber. [#114][#114] + +0.16.4 / 2015-03-01 +------------------- +- `fs.mkdirs` fix infinite loop on Windows. See: See https://github.com/substack/node-mkdirp/pull/74 and https://github.com/substack/node-mkdirp/issues/66 + +0.16.3 / 2015-01-28 +------------------- +- reverted https://github.com/jprichardson/node-fs-extra/commit/1ee77c8a805eba5b99382a2591ff99667847c9c9 + + +0.16.2 / 2015-01-28 +------------------- +- fixed `fs.copy` for Node v0.8 (support is temporary and will be removed in the near future) + +0.16.1 / 2015-01-28 +------------------- +- if `setImmediate` is not available, fall back to `process.nextTick` + +0.16.0 / 2015-01-28 +------------------- +- bugfix `fs.move()` into itself. Closes [#104] +- bugfix `fs.move()` moving directory across device. Closes [#108] +- added coveralls support +- bugfix: nasty multiple callback `fs.copy()` bug. Closes [#98] +- misc fs.copy code cleanups + +0.15.0 / 2015-01-21 +------------------- +- dropped `ncp`, imported code in +- because of previous, now supports `io.js` +- `graceful-fs` is now a dependency + +0.14.0 / 2015-01-05 +------------------- +- changed `copy`/`copySync` from `fs.copy(src, dest, [filters], callback)` to `fs.copy(src, dest, [options], callback)` [#100][#100] +- removed mockfs tests for mkdirp (this may be temporary, but was getting in the way of other tests) + +0.13.0 / 2014-12-10 +------------------- +- removed `touch` and `touchSync` methods (they didn't handle permissions like UNIX touch) +- updated `"ncp": "^0.6.0"` to `"ncp": "^1.0.1"` +- imported `mkdirp` => `minimist` and `mkdirp` are no longer dependences, should now appease people who wanted `mkdirp` to be `--use_strict` safe. See [#59]([#59][#59]) + +0.12.0 / 2014-09-22 +------------------- +- copy symlinks in `copySync()` [#85][#85] + +0.11.1 / 2014-09-02 +------------------- +- bugfix `copySync()` preserve file permissions [#80][#80] + +0.11.0 / 2014-08-11 +------------------- +- upgraded `"ncp": "^0.5.1"` to `"ncp": "^0.6.0"` +- upgrade `jsonfile": "^1.2.0"` to `jsonfile": "^2.0.0"` => on write, json files now have `\n` at end. Also adds `options.throws` to `readJsonSync()` +see https://github.com/jprichardson/node-jsonfile#readfilesyncfilename-options for more details. + +0.10.0 / 2014-06-29 +------------------ +* bugfix: upgaded `"jsonfile": "~1.1.0"` to `"jsonfile": "^1.2.0"`, bumped minor because of `jsonfile` dep change +from `~` to `^`. [#67] + +0.9.1 / 2014-05-22 +------------------ +* removed Node.js `0.8.x` support, `0.9.0` was published moments ago and should have been done there + +0.9.0 / 2014-05-22 +------------------ +* upgraded `ncp` from `~0.4.2` to `^0.5.1`, [#58] +* upgraded `rimraf` from `~2.2.6` to `^2.2.8` +* upgraded `mkdirp` from `0.3.x` to `^0.5.0` +* added methods `ensureFile()`, `ensureFileSync()` +* added methods `ensureDir()`, `ensureDirSync()` [#31] +* added `move()` method. From: https://github.com/andrewrk/node-mv + + +0.8.1 / 2013-10-24 +------------------ +* copy failed to return an error to the callback if a file doesn't exist (ulikoehler [#38], [#39]) + +0.8.0 / 2013-10-14 +------------------ +* `filter` implemented on `copy()` and `copySync()`. (Srirangan / [#36]) + +0.7.1 / 2013-10-12 +------------------ +* `copySync()` implemented (Srirangan / [#33]) +* updated to the latest `jsonfile` version `1.1.0` which gives `options` params for the JSON methods. Closes [#32] + +0.7.0 / 2013-10-07 +------------------ +* update readme conventions +* `copy()` now works if destination directory does not exist. Closes [#29] + +0.6.4 / 2013-09-05 +------------------ +* changed `homepage` field in package.json to remove NPM warning + +0.6.3 / 2013-06-28 +------------------ +* changed JSON spacing default from `4` to `2` to follow Node conventions +* updated `jsonfile` dep +* updated `rimraf` dep + +0.6.2 / 2013-06-28 +------------------ +* added .npmignore, [#25] + +0.6.1 / 2013-05-14 +------------------ +* modified for `strict` mode, closes [#24] +* added `outputJson()/outputJsonSync()`, closes [#23] + +0.6.0 / 2013-03-18 +------------------ +* removed node 0.6 support +* added node 0.10 support +* upgraded to latest `ncp` and `rimraf`. +* optional `graceful-fs` support. Closes [#17] + + +0.5.0 / 2013-02-03 +------------------ +* Removed `readTextFile`. +* Renamed `readJSONFile` to `readJSON` and `readJson`, same with write. +* Restructured documentation a bit. Added roadmap. + +0.4.0 / 2013-01-28 +------------------ +* Set default spaces in `jsonfile` from 4 to 2. +* Updated `testutil` deps for tests. +* Renamed `touch()` to `createFile()` +* Added `outputFile()` and `outputFileSync()` +* Changed creation of testing diretories so the /tmp dir is not littered. +* Added `readTextFile()` and `readTextFileSync()`. + +0.3.2 / 2012-11-01 +------------------ +* Added `touch()` and `touchSync()` methods. + +0.3.1 / 2012-10-11 +------------------ +* Fixed some stray globals. + +0.3.0 / 2012-10-09 +------------------ +* Removed all CoffeeScript from tests. +* Renamed `mkdir` to `mkdirs`/`mkdirp`. + +0.2.1 / 2012-09-11 +------------------ +* Updated `rimraf` dep. + +0.2.0 / 2012-09-10 +------------------ +* Rewrote module into JavaScript. (Must still rewrite tests into JavaScript) +* Added all methods of [jsonfile](https://github.com/jprichardson/node-jsonfile) +* Added Travis-CI. + +0.1.3 / 2012-08-13 +------------------ +* Added method `readJSONFile`. + +0.1.2 / 2012-06-15 +------------------ +* Bug fix: `deleteSync()` didn't exist. +* Verified Node v0.8 compatibility. + +0.1.1 / 2012-06-15 +------------------ +* Fixed bug in `remove()`/`delete()` that wouldn't execute the function if a callback wasn't passed. + +0.1.0 / 2012-05-31 +------------------ +* Renamed `copyFile()` to `copy()`. `copy()` can now copy directories (recursively) too. +* Renamed `rmrf()` to `remove()`. +* `remove()` aliased with `delete()`. +* Added `mkdirp` capabilities. Named: `mkdir()`. Hides Node.js native `mkdir()`. +* Instead of exporting the native `fs` module with new functions, I now copy over the native methods to a new object and export that instead. + +0.0.4 / 2012-03-14 +------------------ +* Removed CoffeeScript dependency + +0.0.3 / 2012-01-11 +------------------ +* Added methods rmrf and rmrfSync +* Moved tests from Jasmine to Mocha + + +[#344]: https://github.com/jprichardson/node-fs-extra/issues/344 "Licence Year" +[#343]: https://github.com/jprichardson/node-fs-extra/pull/343 "Add klaw-sync link to readme" +[#342]: https://github.com/jprichardson/node-fs-extra/pull/342 "allow preserveTimestamps when use move" +[#341]: https://github.com/jprichardson/node-fs-extra/issues/341 "mkdirp(path.dirname(dest) in move() logic needs cleaning up [question]" +[#340]: https://github.com/jprichardson/node-fs-extra/pull/340 "Move docs to seperate docs folder [documentation]" +[#339]: https://github.com/jprichardson/node-fs-extra/pull/339 "Remove walk() & walkSync() [feature-walk]" +[#338]: https://github.com/jprichardson/node-fs-extra/issues/338 "Remove walk() and walkSync() [feature-walk]" +[#337]: https://github.com/jprichardson/node-fs-extra/issues/337 "copy doesn't return a yieldable value" +[#336]: https://github.com/jprichardson/node-fs-extra/pull/336 "Docs enhanced walk sync [documentation, feature-walk]" +[#335]: https://github.com/jprichardson/node-fs-extra/pull/335 "Refactor move() tests [feature-move]" +[#334]: https://github.com/jprichardson/node-fs-extra/pull/334 "Cleanup lib/move/index.js [feature-move]" +[#333]: https://github.com/jprichardson/node-fs-extra/pull/333 "Rename clobber to overwrite [feature-copy, feature-move]" +[#332]: https://github.com/jprichardson/node-fs-extra/pull/332 "BREAKING: Drop Node v0.12 & io.js support" +[#331]: https://github.com/jprichardson/node-fs-extra/issues/331 "Add support for chmodr [enhancement, future]" +[#330]: https://github.com/jprichardson/node-fs-extra/pull/330 "BREAKING: Do not error when copy destination exists & clobber: false [feature-copy]" +[#329]: https://github.com/jprichardson/node-fs-extra/issues/329 "Does .walk() scale to large directories? [question]" +[#328]: https://github.com/jprichardson/node-fs-extra/issues/328 "Copying files corrupts [feature-copy, needs-confirmed]" +[#327]: https://github.com/jprichardson/node-fs-extra/pull/327 "Use writeStream 'finish' event instead of 'close' [bug, feature-copy]" +[#326]: https://github.com/jprichardson/node-fs-extra/issues/326 "fs.copy fails with chmod error when disk under heavy use [bug, feature-copy]" +[#325]: https://github.com/jprichardson/node-fs-extra/issues/325 "ensureDir is difficult to promisify [enhancement]" +[#324]: https://github.com/jprichardson/node-fs-extra/pull/324 "copySync() should apply filter to directories like copy() [bug, feature-copy]" +[#323]: https://github.com/jprichardson/node-fs-extra/issues/323 "Support for `dest` being a directory when using `copy*()`?" +[#322]: https://github.com/jprichardson/node-fs-extra/pull/322 "Add fs-promise as fs-extra-promise alternative" +[#321]: https://github.com/jprichardson/node-fs-extra/issues/321 "fs.copy() with clobber set to false return EEXIST error [feature-copy]" +[#320]: https://github.com/jprichardson/node-fs-extra/issues/320 "fs.copySync: Error: EPERM: operation not permitted, unlink " +[#319]: https://github.com/jprichardson/node-fs-extra/issues/319 "Create directory if not exists" +[#318]: https://github.com/jprichardson/node-fs-extra/issues/318 "Support glob patterns [enhancement, future]" +[#317]: https://github.com/jprichardson/node-fs-extra/pull/317 "Adding copy sync test for src file without write perms" +[#316]: https://github.com/jprichardson/node-fs-extra/pull/316 "Remove move()'s broken limit option [feature-move]" +[#315]: https://github.com/jprichardson/node-fs-extra/pull/315 "Fix move clobber tests to work around graceful-fs bug." +[#314]: https://github.com/jprichardson/node-fs-extra/issues/314 "move() limit option [documentation, enhancement, feature-move]" +[#313]: https://github.com/jprichardson/node-fs-extra/pull/313 "Test that remove() ignores glob characters." +[#312]: https://github.com/jprichardson/node-fs-extra/pull/312 "Enhance walkSync() to return items with path and stats [feature-walk]" +[#311]: https://github.com/jprichardson/node-fs-extra/issues/311 "move() not work when dest name not provided [feature-move]" +[#310]: https://github.com/jprichardson/node-fs-extra/issues/310 "Edit walkSync to return items like what walk emits [documentation, enhancement, feature-walk]" +[#309]: https://github.com/jprichardson/node-fs-extra/issues/309 "moveSync support [enhancement, feature-move]" +[#308]: https://github.com/jprichardson/node-fs-extra/pull/308 "Fix incorrect anchor link" +[#307]: https://github.com/jprichardson/node-fs-extra/pull/307 "Fix coverage" +[#306]: https://github.com/jprichardson/node-fs-extra/pull/306 "Update devDeps, fix lint error" +[#305]: https://github.com/jprichardson/node-fs-extra/pull/305 "Re-add Coveralls" +[#304]: https://github.com/jprichardson/node-fs-extra/pull/304 "Remove path-is-absolute [enhancement]" +[#303]: https://github.com/jprichardson/node-fs-extra/pull/303 "Document copySync filter inconsistency [documentation, feature-copy]" +[#302]: https://github.com/jprichardson/node-fs-extra/pull/302 "fix(console): depreciated -> deprecated" +[#301]: https://github.com/jprichardson/node-fs-extra/pull/301 "Remove chmod call from copySync [feature-copy]" +[#300]: https://github.com/jprichardson/node-fs-extra/pull/300 "Inline Rimraf [enhancement, feature-move, feature-remove]" +[#299]: https://github.com/jprichardson/node-fs-extra/pull/299 "Warn when filter is a RegExp [feature-copy]" +[#298]: https://github.com/jprichardson/node-fs-extra/issues/298 "API Docs [documentation]" +[#297]: https://github.com/jprichardson/node-fs-extra/pull/297 "Warn about using preserveTimestamps on 32-bit node" +[#296]: https://github.com/jprichardson/node-fs-extra/pull/296 "Improve EEXIST error message for copySync [enhancement]" +[#295]: https://github.com/jprichardson/node-fs-extra/pull/295 "Depreciate using regular expressions for copy's filter option [documentation]" +[#294]: https://github.com/jprichardson/node-fs-extra/pull/294 "BREAKING: Refactor lib/copy/ncp.js [feature-copy]" +[#293]: https://github.com/jprichardson/node-fs-extra/pull/293 "Update CI configs" +[#292]: https://github.com/jprichardson/node-fs-extra/issues/292 "Rewrite lib/copy/ncp.js [enhancement, feature-copy]" +[#291]: https://github.com/jprichardson/node-fs-extra/pull/291 "Escape '$' in replacement string for async file copying" +[#290]: https://github.com/jprichardson/node-fs-extra/issues/290 "Exclude files pattern while copying using copy.config.js [question]" +[#289]: https://github.com/jprichardson/node-fs-extra/pull/289 "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error" +[#288]: https://github.com/jprichardson/node-fs-extra/pull/288 "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error" +[#287]: https://github.com/jprichardson/node-fs-extra/issues/287 "emptyDir() callback arguments are inconsistent [enhancement, feature-remove]" +[#286]: https://github.com/jprichardson/node-fs-extra/pull/286 "Added walkSync function" +[#285]: https://github.com/jprichardson/node-fs-extra/issues/285 "CITGM test failing on s390" +[#284]: https://github.com/jprichardson/node-fs-extra/issues/284 "outputFile method is missing a check to determine if existing item is a folder or not" +[#283]: https://github.com/jprichardson/node-fs-extra/pull/283 "Apply filter also on directories and symlinks for copySync()" +[#282]: https://github.com/jprichardson/node-fs-extra/pull/282 "Apply filter also on directories and symlinks for copySync()" +[#281]: https://github.com/jprichardson/node-fs-extra/issues/281 "remove function executes 'successfully' but doesn't do anything?" +[#280]: https://github.com/jprichardson/node-fs-extra/pull/280 "Disable rimraf globbing" +[#279]: https://github.com/jprichardson/node-fs-extra/issues/279 "Some code is vendored instead of included [awaiting-reply]" +[#278]: https://github.com/jprichardson/node-fs-extra/issues/278 "copy() does not preserve file/directory ownership" +[#277]: https://github.com/jprichardson/node-fs-extra/pull/277 "Mention defaults for clobber and dereference options" +[#276]: https://github.com/jprichardson/node-fs-extra/issues/276 "Cannot connect to Shared Folder [awaiting-reply]" +[#275]: https://github.com/jprichardson/node-fs-extra/issues/275 "EMFILE, too many open files on Mac OS with JSON API" +[#274]: https://github.com/jprichardson/node-fs-extra/issues/274 "Use with memory-fs? [enhancement, future]" +[#273]: https://github.com/jprichardson/node-fs-extra/pull/273 "tests: rename `remote.test.js` to `remove.test.js`" +[#272]: https://github.com/jprichardson/node-fs-extra/issues/272 "Copy clobber flag never err even when true [bug, feature-copy]" +[#271]: https://github.com/jprichardson/node-fs-extra/issues/271 "Unclosed file handle on futimes error" +[#270]: https://github.com/jprichardson/node-fs-extra/issues/270 "copy not working as desired on Windows [feature-copy, platform-windows]" +[#269]: https://github.com/jprichardson/node-fs-extra/issues/269 "Copying with preserveTimeStamps: true is inaccurate using 32bit node [feature-copy]" +[#268]: https://github.com/jprichardson/node-fs-extra/pull/268 "port fix for mkdirp issue #111" +[#267]: https://github.com/jprichardson/node-fs-extra/issues/267 "WARN deprecated wrench@1.5.9: wrench.js is deprecated!" +[#266]: https://github.com/jprichardson/node-fs-extra/issues/266 "fs-extra" +[#265]: https://github.com/jprichardson/node-fs-extra/issues/265 "Link the `fs.stat fs.exists` etc. methods for replace the `fs` module forever?" +[#264]: https://github.com/jprichardson/node-fs-extra/issues/264 "Renaming a file using move fails when a file inside is open (at least on windows) [wont-fix]" +[#263]: https://github.com/jprichardson/node-fs-extra/issues/263 "ENOSYS: function not implemented, link [needs-confirmed]" +[#262]: https://github.com/jprichardson/node-fs-extra/issues/262 "Add .exists() and .existsSync()" +[#261]: https://github.com/jprichardson/node-fs-extra/issues/261 "Cannot read property 'prototype' of undefined" +[#260]: https://github.com/jprichardson/node-fs-extra/pull/260 "use more specific path for method require" +[#259]: https://github.com/jprichardson/node-fs-extra/issues/259 "Feature Request: isEmpty" +[#258]: https://github.com/jprichardson/node-fs-extra/issues/258 "copy files does not preserve file timestamp" +[#257]: https://github.com/jprichardson/node-fs-extra/issues/257 "Copying a file on windows fails" +[#256]: https://github.com/jprichardson/node-fs-extra/pull/256 "Updated Readme " +[#255]: https://github.com/jprichardson/node-fs-extra/issues/255 "Update rimraf required version" +[#254]: https://github.com/jprichardson/node-fs-extra/issues/254 "request for readTree, readTreeSync, walkSync method" +[#253]: https://github.com/jprichardson/node-fs-extra/issues/253 "outputFile does not touch mtime when file exists" +[#252]: https://github.com/jprichardson/node-fs-extra/pull/252 "Fixing problem when copying file with no write permission" +[#251]: https://github.com/jprichardson/node-fs-extra/issues/251 "Just wanted to say thank you" +[#250]: https://github.com/jprichardson/node-fs-extra/issues/250 "`fs.remove()` not removing files (works with `rm -rf`)" +[#249]: https://github.com/jprichardson/node-fs-extra/issues/249 "Just a Question ... Remove Servers" +[#248]: https://github.com/jprichardson/node-fs-extra/issues/248 "Allow option to not preserve permissions for copy" +[#247]: https://github.com/jprichardson/node-fs-extra/issues/247 "Add TypeScript typing directly in the fs-extra package" +[#246]: https://github.com/jprichardson/node-fs-extra/issues/246 "fse.remove() && fse.removeSync() don't throw error on ENOENT file" +[#245]: https://github.com/jprichardson/node-fs-extra/issues/245 "filter for empty dir [enhancement]" +[#244]: https://github.com/jprichardson/node-fs-extra/issues/244 "copySync doesn't apply the filter to directories" +[#243]: https://github.com/jprichardson/node-fs-extra/issues/243 "Can I request fs.walk() to be synchronous?" +[#242]: https://github.com/jprichardson/node-fs-extra/issues/242 "Accidentally truncates file names ending with $$ [bug, feature-copy]" +[#241]: https://github.com/jprichardson/node-fs-extra/pull/241 "Remove link to createOutputStream" +[#240]: https://github.com/jprichardson/node-fs-extra/issues/240 "walkSync request" +[#239]: https://github.com/jprichardson/node-fs-extra/issues/239 "Depreciate regular expressions for copy's filter [documentation, feature-copy]" +[#238]: https://github.com/jprichardson/node-fs-extra/issues/238 "Can't write to files while in a worker thread." +[#237]: https://github.com/jprichardson/node-fs-extra/issues/237 ".ensureDir(..) fails silently when passed an invalid path..." +[#236]: https://github.com/jprichardson/node-fs-extra/issues/236 "[Removed] Filed under wrong repo" +[#235]: https://github.com/jprichardson/node-fs-extra/pull/235 "Adds symlink dereference option to `fse.copySync` (#191)" +[#234]: https://github.com/jprichardson/node-fs-extra/issues/234 "ensureDirSync fails silent when EACCES: permission denied on travis-ci" +[#233]: https://github.com/jprichardson/node-fs-extra/issues/233 "please make sure the first argument in callback is error object [feature-copy]" +[#232]: https://github.com/jprichardson/node-fs-extra/issues/232 "Copy a folder content to its child folder. " +[#231]: https://github.com/jprichardson/node-fs-extra/issues/231 "Adding read/write/output functions for YAML" +[#230]: https://github.com/jprichardson/node-fs-extra/pull/230 "throw error if src and dest are the same to avoid zeroing out + test" +[#229]: https://github.com/jprichardson/node-fs-extra/pull/229 "fix 'TypeError: callback is not a function' in emptyDir" +[#228]: https://github.com/jprichardson/node-fs-extra/pull/228 "Throw error when target is empty so file is not accidentally zeroed out" +[#227]: https://github.com/jprichardson/node-fs-extra/issues/227 "Uncatchable errors when there are invalid arguments [feature-move]" +[#226]: https://github.com/jprichardson/node-fs-extra/issues/226 "Moving to the current directory" +[#225]: https://github.com/jprichardson/node-fs-extra/issues/225 "EBUSY: resource busy or locked, unlink" +[#224]: https://github.com/jprichardson/node-fs-extra/issues/224 "fse.copy ENOENT error" +[#223]: https://github.com/jprichardson/node-fs-extra/issues/223 "Suspicious behavior of fs.existsSync" +[#222]: https://github.com/jprichardson/node-fs-extra/pull/222 "A clearer description of emtpyDir function" +[#221]: https://github.com/jprichardson/node-fs-extra/pull/221 "Update README.md" +[#220]: https://github.com/jprichardson/node-fs-extra/pull/220 "Non-breaking feature: add option 'passStats' to copy methods." +[#219]: https://github.com/jprichardson/node-fs-extra/pull/219 "Add closing parenthesis in copySync example" +[#218]: https://github.com/jprichardson/node-fs-extra/pull/218 "fix #187 #70 options.filter bug" +[#217]: https://github.com/jprichardson/node-fs-extra/pull/217 "fix #187 #70 options.filter bug" +[#216]: https://github.com/jprichardson/node-fs-extra/pull/216 "fix #187 #70 options.filter bug" +[#215]: https://github.com/jprichardson/node-fs-extra/pull/215 "fse.copy throws error when only src and dest provided [bug, documentation, feature-copy]" +[#214]: https://github.com/jprichardson/node-fs-extra/pull/214 "Fixing copySync anchor tag" +[#213]: https://github.com/jprichardson/node-fs-extra/issues/213 "Merge extfs with this repo" +[#212]: https://github.com/jprichardson/node-fs-extra/pull/212 "Update year to 2016 in README.md and LICENSE" +[#211]: https://github.com/jprichardson/node-fs-extra/issues/211 "Not copying all files" +[#210]: https://github.com/jprichardson/node-fs-extra/issues/210 "copy/copySync behave differently when copying a symbolic file [bug, documentation, feature-copy]" +[#209]: https://github.com/jprichardson/node-fs-extra/issues/209 "In Windows invalid directory name causes infinite loop in ensureDir(). [bug]" +[#208]: https://github.com/jprichardson/node-fs-extra/pull/208 "fix options.preserveTimestamps to false in copy-sync by default [feature-copy]" +[#207]: https://github.com/jprichardson/node-fs-extra/issues/207 "Add `compare` suite of functions" +[#206]: https://github.com/jprichardson/node-fs-extra/issues/206 "outputFileSync" +[#205]: https://github.com/jprichardson/node-fs-extra/issues/205 "fix documents about copy/copySync [documentation, feature-copy]" +[#204]: https://github.com/jprichardson/node-fs-extra/pull/204 "allow copy of block and character device files" +[#203]: https://github.com/jprichardson/node-fs-extra/issues/203 "copy method's argument options couldn't be undefined [bug, feature-copy]" +[#202]: https://github.com/jprichardson/node-fs-extra/issues/202 "why there is not a walkSync method?" +[#201]: https://github.com/jprichardson/node-fs-extra/issues/201 "clobber for directories [feature-copy, future]" +[#200]: https://github.com/jprichardson/node-fs-extra/issues/200 "'copySync' doesn't work in sync" +[#199]: https://github.com/jprichardson/node-fs-extra/issues/199 "fs.copySync fails if user does not own file [bug, feature-copy]" +[#198]: https://github.com/jprichardson/node-fs-extra/issues/198 "handle copying between identical files [feature-copy]" +[#197]: https://github.com/jprichardson/node-fs-extra/issues/197 "Missing documentation for `outputFile` `options` 3rd parameter [documentation]" +[#196]: https://github.com/jprichardson/node-fs-extra/issues/196 "copy filter: async function and/or function called with `fs.stat` result [future]" +[#195]: https://github.com/jprichardson/node-fs-extra/issues/195 "How to override with outputFile?" +[#194]: https://github.com/jprichardson/node-fs-extra/pull/194 "allow ensureFile(Sync) to provide data to be written to created file" +[#193]: https://github.com/jprichardson/node-fs-extra/issues/193 "`fs.copy` fails silently if source file is /dev/null [bug, feature-copy]" +[#192]: https://github.com/jprichardson/node-fs-extra/issues/192 "Remove fs.createOutputStream()" +[#191]: https://github.com/jprichardson/node-fs-extra/issues/191 "How to copy symlinks to target as normal folders [feature-copy]" +[#190]: https://github.com/jprichardson/node-fs-extra/pull/190 "copySync to overwrite destination file if readonly and clobber true" +[#189]: https://github.com/jprichardson/node-fs-extra/pull/189 "move.test fix to support CRLF on Windows" +[#188]: https://github.com/jprichardson/node-fs-extra/issues/188 "move.test failing on windows platform" +[#187]: https://github.com/jprichardson/node-fs-extra/issues/187 "Not filter each file, stops on first false [feature-copy]" +[#186]: https://github.com/jprichardson/node-fs-extra/issues/186 "Do you need a .size() function in this module? [future]" +[#185]: https://github.com/jprichardson/node-fs-extra/issues/185 "Doesn't work on NodeJS v4.x" +[#184]: https://github.com/jprichardson/node-fs-extra/issues/184 "CLI equivalent for fs-extra" +[#183]: https://github.com/jprichardson/node-fs-extra/issues/183 "with clobber true, copy and copySync behave differently if destination file is read only [bug, feature-copy]" +[#182]: https://github.com/jprichardson/node-fs-extra/issues/182 "ensureDir(dir, callback) second callback parameter not specified" +[#181]: https://github.com/jprichardson/node-fs-extra/issues/181 "Add ability to remove file securely [enhancement, wont-fix]" +[#180]: https://github.com/jprichardson/node-fs-extra/issues/180 "Filter option doesn't work the same way in copy and copySync [bug, feature-copy]" +[#179]: https://github.com/jprichardson/node-fs-extra/issues/179 "Include opendir" +[#178]: https://github.com/jprichardson/node-fs-extra/issues/178 "ENOTEMPTY is thrown on removeSync " +[#177]: https://github.com/jprichardson/node-fs-extra/issues/177 "fix `remove()` wildcards (introduced by rimraf) [feature-remove]" +[#176]: https://github.com/jprichardson/node-fs-extra/issues/176 "createOutputStream doesn't emit 'end' event" +[#175]: https://github.com/jprichardson/node-fs-extra/issues/175 "[Feature Request].moveSync support [feature-move, future]" +[#174]: https://github.com/jprichardson/node-fs-extra/pull/174 "Fix copy formatting and document options.filter" +[#173]: https://github.com/jprichardson/node-fs-extra/issues/173 "Feature Request: writeJson should mkdirs" +[#172]: https://github.com/jprichardson/node-fs-extra/issues/172 "rename `clobber` flags to `overwrite`" +[#171]: https://github.com/jprichardson/node-fs-extra/issues/171 "remove unnecessary aliases" +[#170]: https://github.com/jprichardson/node-fs-extra/pull/170 "More robust handling of errors moving across virtual drives" +[#169]: https://github.com/jprichardson/node-fs-extra/pull/169 "suppress ensureLink & ensureSymlink dest exists error" +[#168]: https://github.com/jprichardson/node-fs-extra/pull/168 "suppress ensurelink dest exists error" +[#167]: https://github.com/jprichardson/node-fs-extra/pull/167 "Adds basic (string, buffer) support for ensureFile content [future]" +[#166]: https://github.com/jprichardson/node-fs-extra/pull/166 "Adds basic (string, buffer) support for ensureFile content" +[#165]: https://github.com/jprichardson/node-fs-extra/pull/165 "ensure for link & symlink" +[#164]: https://github.com/jprichardson/node-fs-extra/issues/164 "Feature Request: ensureFile to take optional argument for file content" +[#163]: https://github.com/jprichardson/node-fs-extra/issues/163 "ouputJson not formatted out of the box [bug]" +[#162]: https://github.com/jprichardson/node-fs-extra/pull/162 "ensure symlink & link" +[#161]: https://github.com/jprichardson/node-fs-extra/pull/161 "ensure symlink & link" +[#160]: https://github.com/jprichardson/node-fs-extra/pull/160 "ensure symlink & link" +[#159]: https://github.com/jprichardson/node-fs-extra/pull/159 "ensure symlink & link" +[#158]: https://github.com/jprichardson/node-fs-extra/issues/158 "Feature Request: ensureLink and ensureSymlink methods" +[#157]: https://github.com/jprichardson/node-fs-extra/issues/157 "writeJson isn't formatted" +[#156]: https://github.com/jprichardson/node-fs-extra/issues/156 "Promise.promisifyAll doesn't work for some methods" +[#155]: https://github.com/jprichardson/node-fs-extra/issues/155 "Readme" +[#154]: https://github.com/jprichardson/node-fs-extra/issues/154 "/tmp/millis-test-sync" +[#153]: https://github.com/jprichardson/node-fs-extra/pull/153 "Make preserveTimes also work on read-only files. Closes #152" +[#152]: https://github.com/jprichardson/node-fs-extra/issues/152 "fs.copy fails for read-only files with preserveTimestamp=true [feature-copy]" +[#151]: https://github.com/jprichardson/node-fs-extra/issues/151 "TOC does not work correctly on npm [documentation]" +[#150]: https://github.com/jprichardson/node-fs-extra/issues/150 "Remove test file fixtures, create with code." +[#149]: https://github.com/jprichardson/node-fs-extra/issues/149 "/tmp/millis-test-sync" +[#148]: https://github.com/jprichardson/node-fs-extra/issues/148 "split out `Sync` methods in documentation" +[#147]: https://github.com/jprichardson/node-fs-extra/issues/147 "Adding rmdirIfEmpty" +[#146]: https://github.com/jprichardson/node-fs-extra/pull/146 "ensure test.js works" +[#145]: https://github.com/jprichardson/node-fs-extra/issues/145 "Add `fs.exists` and `fs.existsSync` if it doesn't exist." +[#144]: https://github.com/jprichardson/node-fs-extra/issues/144 "tests failing" +[#143]: https://github.com/jprichardson/node-fs-extra/issues/143 "update graceful-fs" +[#142]: https://github.com/jprichardson/node-fs-extra/issues/142 "PrependFile Feature" +[#141]: https://github.com/jprichardson/node-fs-extra/pull/141 "Add option to preserve timestamps" +[#140]: https://github.com/jprichardson/node-fs-extra/issues/140 "Json file reading fails with 'utf8'" +[#139]: https://github.com/jprichardson/node-fs-extra/pull/139 "Preserve file timestamp on copy. Closes #138" +[#138]: https://github.com/jprichardson/node-fs-extra/issues/138 "Preserve timestamps on copying files" +[#137]: https://github.com/jprichardson/node-fs-extra/issues/137 "outputFile/outputJson: Unexpected end of input" +[#136]: https://github.com/jprichardson/node-fs-extra/pull/136 "Update license attribute" +[#135]: https://github.com/jprichardson/node-fs-extra/issues/135 "emptyDir throws Error if no callback is provided" +[#134]: https://github.com/jprichardson/node-fs-extra/pull/134 "Handle EEXIST error when clobbering dir" +[#133]: https://github.com/jprichardson/node-fs-extra/pull/133 "Travis runs with `sudo: false`" +[#132]: https://github.com/jprichardson/node-fs-extra/pull/132 "isDirectory method" +[#131]: https://github.com/jprichardson/node-fs-extra/issues/131 "copySync is not working iojs 1.8.4 on linux [feature-copy]" +[#130]: https://github.com/jprichardson/node-fs-extra/pull/130 "Please review additional features." +[#129]: https://github.com/jprichardson/node-fs-extra/pull/129 "can you review this feature?" +[#128]: https://github.com/jprichardson/node-fs-extra/issues/128 "fsExtra.move(filepath, newPath) broken;" +[#127]: https://github.com/jprichardson/node-fs-extra/issues/127 "consider using fs.access to remove deprecated warnings for fs.exists" +[#126]: https://github.com/jprichardson/node-fs-extra/issues/126 " TypeError: Object # has no method 'access'" +[#125]: https://github.com/jprichardson/node-fs-extra/issues/125 "Question: What do the *Sync function do different from non-sync" +[#124]: https://github.com/jprichardson/node-fs-extra/issues/124 "move with clobber option 'ENOTEMPTY'" +[#123]: https://github.com/jprichardson/node-fs-extra/issues/123 "Only copy the content of a directory" +[#122]: https://github.com/jprichardson/node-fs-extra/pull/122 "Update section links in README to match current section ids." +[#121]: https://github.com/jprichardson/node-fs-extra/issues/121 "emptyDir is undefined" +[#120]: https://github.com/jprichardson/node-fs-extra/issues/120 "usage bug caused by shallow cloning methods of 'graceful-fs'" +[#119]: https://github.com/jprichardson/node-fs-extra/issues/119 "mkdirs and ensureDir never invoke callback and consume CPU indefinitely if provided a path with invalid characters on Windows" +[#118]: https://github.com/jprichardson/node-fs-extra/pull/118 "createOutputStream" +[#117]: https://github.com/jprichardson/node-fs-extra/pull/117 "Fixed issue with slash separated paths on windows" +[#116]: https://github.com/jprichardson/node-fs-extra/issues/116 "copySync can only copy directories not files [documentation, feature-copy]" +[#115]: https://github.com/jprichardson/node-fs-extra/issues/115 ".Copy & .CopySync [feature-copy]" +[#114]: https://github.com/jprichardson/node-fs-extra/issues/114 "Fails to move (rename) directory to non-empty directory even with clobber: true" +[#113]: https://github.com/jprichardson/node-fs-extra/issues/113 "fs.copy seems to callback early if the destination file already exists" +[#112]: https://github.com/jprichardson/node-fs-extra/pull/112 "Copying a file into an existing directory" +[#111]: https://github.com/jprichardson/node-fs-extra/pull/111 "Moving a file into an existing directory " +[#110]: https://github.com/jprichardson/node-fs-extra/pull/110 "Moving a file into an existing directory" +[#109]: https://github.com/jprichardson/node-fs-extra/issues/109 "fs.move across windows drives fails" +[#108]: https://github.com/jprichardson/node-fs-extra/issues/108 "fse.move directories across multiple devices doesn't work" +[#107]: https://github.com/jprichardson/node-fs-extra/pull/107 "Check if dest path is an existing dir and copy or move source in it" +[#106]: https://github.com/jprichardson/node-fs-extra/issues/106 "fse.copySync crashes while copying across devices D: [feature-copy]" +[#105]: https://github.com/jprichardson/node-fs-extra/issues/105 "fs.copy hangs on iojs" +[#104]: https://github.com/jprichardson/node-fs-extra/issues/104 "fse.move deletes folders [bug]" +[#103]: https://github.com/jprichardson/node-fs-extra/issues/103 "Error: EMFILE with copy" +[#102]: https://github.com/jprichardson/node-fs-extra/issues/102 "touch / touchSync was removed ?" +[#101]: https://github.com/jprichardson/node-fs-extra/issues/101 "fs-extra promisified" +[#100]: https://github.com/jprichardson/node-fs-extra/pull/100 "copy: options object or filter to pass to ncp" +[#99]: https://github.com/jprichardson/node-fs-extra/issues/99 "ensureDir() modes [future]" +[#98]: https://github.com/jprichardson/node-fs-extra/issues/98 "fs.copy() incorrect async behavior [bug]" +[#97]: https://github.com/jprichardson/node-fs-extra/pull/97 "use path.join; fix copySync bug" +[#96]: https://github.com/jprichardson/node-fs-extra/issues/96 "destFolderExists in copySync is always undefined." +[#95]: https://github.com/jprichardson/node-fs-extra/pull/95 "Using graceful-ncp instead of ncp" +[#94]: https://github.com/jprichardson/node-fs-extra/issues/94 "Error: EEXIST, file already exists '../mkdirp/bin/cmd.js' on fs.copySync() [enhancement, feature-copy]" +[#93]: https://github.com/jprichardson/node-fs-extra/issues/93 "Confusing error if drive not mounted [enhancement]" +[#92]: https://github.com/jprichardson/node-fs-extra/issues/92 "Problems with Bluebird" +[#91]: https://github.com/jprichardson/node-fs-extra/issues/91 "fs.copySync('/test', '/haha') is different with 'cp -r /test /haha' [enhancement]" +[#90]: https://github.com/jprichardson/node-fs-extra/issues/90 "Folder creation and file copy is Happening in 64 bit machine but not in 32 bit machine" +[#89]: https://github.com/jprichardson/node-fs-extra/issues/89 "Error: EEXIST using fs-extra's fs.copy to copy a directory on Windows" +[#88]: https://github.com/jprichardson/node-fs-extra/issues/88 "Stacking those libraries" +[#87]: https://github.com/jprichardson/node-fs-extra/issues/87 "createWriteStream + outputFile = ?" +[#86]: https://github.com/jprichardson/node-fs-extra/issues/86 "no moveSync?" +[#85]: https://github.com/jprichardson/node-fs-extra/pull/85 "Copy symlinks in copySync" +[#84]: https://github.com/jprichardson/node-fs-extra/issues/84 "Push latest version to npm ?" +[#83]: https://github.com/jprichardson/node-fs-extra/issues/83 "Prevent copying a directory into itself [feature-copy]" +[#82]: https://github.com/jprichardson/node-fs-extra/pull/82 "README updates for move" +[#81]: https://github.com/jprichardson/node-fs-extra/issues/81 "fd leak after fs.move" +[#80]: https://github.com/jprichardson/node-fs-extra/pull/80 "Preserve file mode in copySync" +[#79]: https://github.com/jprichardson/node-fs-extra/issues/79 "fs.copy only .html file empty" +[#78]: https://github.com/jprichardson/node-fs-extra/pull/78 "copySync was not applying filters to directories" +[#77]: https://github.com/jprichardson/node-fs-extra/issues/77 "Create README reference to bluebird" +[#76]: https://github.com/jprichardson/node-fs-extra/issues/76 "Create README reference to typescript" +[#75]: https://github.com/jprichardson/node-fs-extra/issues/75 "add glob as a dep? [question]" +[#74]: https://github.com/jprichardson/node-fs-extra/pull/74 "including new emptydir module" +[#73]: https://github.com/jprichardson/node-fs-extra/pull/73 "add dependency status in readme" +[#72]: https://github.com/jprichardson/node-fs-extra/pull/72 "Use svg instead of png to get better image quality" +[#71]: https://github.com/jprichardson/node-fs-extra/issues/71 "fse.copy not working on Windows 7 x64 OS, but, copySync does work" +[#70]: https://github.com/jprichardson/node-fs-extra/issues/70 "Not filter each file, stops on first false [bug]" +[#69]: https://github.com/jprichardson/node-fs-extra/issues/69 "How to check if folder exist and read the folder name" +[#68]: https://github.com/jprichardson/node-fs-extra/issues/68 "consider flag to readJsonSync (throw false) [enhancement]" +[#67]: https://github.com/jprichardson/node-fs-extra/issues/67 "docs for readJson incorrectly states that is accepts options" +[#66]: https://github.com/jprichardson/node-fs-extra/issues/66 "ENAMETOOLONG" +[#65]: https://github.com/jprichardson/node-fs-extra/issues/65 "exclude filter in fs.copy" +[#64]: https://github.com/jprichardson/node-fs-extra/issues/64 "Announce: mfs - monitor your fs-extra calls" +[#63]: https://github.com/jprichardson/node-fs-extra/issues/63 "Walk" +[#62]: https://github.com/jprichardson/node-fs-extra/issues/62 "npm install fs-extra doesn't work" +[#61]: https://github.com/jprichardson/node-fs-extra/issues/61 "No longer supports node 0.8 due to use of `^` in package.json dependencies" +[#60]: https://github.com/jprichardson/node-fs-extra/issues/60 "chmod & chown for mkdirs" +[#59]: https://github.com/jprichardson/node-fs-extra/issues/59 "Consider including mkdirp and making fs-extra '--use_strict' safe [question]" +[#58]: https://github.com/jprichardson/node-fs-extra/issues/58 "Stack trace not included in fs.copy error" +[#57]: https://github.com/jprichardson/node-fs-extra/issues/57 "Possible to include wildcards in delete?" +[#56]: https://github.com/jprichardson/node-fs-extra/issues/56 "Crash when have no access to write to destination file in copy " +[#55]: https://github.com/jprichardson/node-fs-extra/issues/55 "Is it possible to have any console output similar to Grunt copy module?" +[#54]: https://github.com/jprichardson/node-fs-extra/issues/54 "`copy` does not preserve file ownership and permissons" +[#53]: https://github.com/jprichardson/node-fs-extra/issues/53 "outputFile() - ability to write data in appending mode" +[#52]: https://github.com/jprichardson/node-fs-extra/pull/52 "This fixes (what I think) is a bug in copySync" +[#51]: https://github.com/jprichardson/node-fs-extra/pull/51 "Add a Bitdeli Badge to README" +[#50]: https://github.com/jprichardson/node-fs-extra/issues/50 "Replace mechanism in createFile" +[#49]: https://github.com/jprichardson/node-fs-extra/pull/49 "update rimraf to v2.2.6" +[#48]: https://github.com/jprichardson/node-fs-extra/issues/48 "fs.copy issue [bug]" +[#47]: https://github.com/jprichardson/node-fs-extra/issues/47 "Bug in copy - callback called on readStream 'close' - Fixed in ncp 0.5.0" +[#46]: https://github.com/jprichardson/node-fs-extra/pull/46 "update copyright year" +[#45]: https://github.com/jprichardson/node-fs-extra/pull/45 "Added note about fse.outputFile() being the one that overwrites" +[#44]: https://github.com/jprichardson/node-fs-extra/pull/44 "Proposal: Stream support" +[#43]: https://github.com/jprichardson/node-fs-extra/issues/43 "Better error reporting " +[#42]: https://github.com/jprichardson/node-fs-extra/issues/42 "Performance issue?" +[#41]: https://github.com/jprichardson/node-fs-extra/pull/41 "There does seem to be a synchronous version now" +[#40]: https://github.com/jprichardson/node-fs-extra/issues/40 "fs.copy throw unexplained error ENOENT, utime " +[#39]: https://github.com/jprichardson/node-fs-extra/pull/39 "Added regression test for copy() return callback on error" +[#38]: https://github.com/jprichardson/node-fs-extra/pull/38 "Return err in copy() fstat cb, because stat could be undefined or null" +[#37]: https://github.com/jprichardson/node-fs-extra/issues/37 "Maybe include a line reader? [enhancement, question]" +[#36]: https://github.com/jprichardson/node-fs-extra/pull/36 "`filter` parameter `fs.copy` and `fs.copySync`" +[#35]: https://github.com/jprichardson/node-fs-extra/pull/35 "`filter` parameter `fs.copy` and `fs.copySync` " +[#34]: https://github.com/jprichardson/node-fs-extra/issues/34 "update docs to include options for JSON methods [enhancement]" +[#33]: https://github.com/jprichardson/node-fs-extra/pull/33 "fs_extra.copySync" +[#32]: https://github.com/jprichardson/node-fs-extra/issues/32 "update to latest jsonfile [enhancement]" +[#31]: https://github.com/jprichardson/node-fs-extra/issues/31 "Add ensure methods [enhancement]" +[#30]: https://github.com/jprichardson/node-fs-extra/issues/30 "update package.json optional dep `graceful-fs`" +[#29]: https://github.com/jprichardson/node-fs-extra/issues/29 "Copy failing if dest directory doesn't exist. Is this intended?" +[#28]: https://github.com/jprichardson/node-fs-extra/issues/28 "homepage field must be a string url. Deleted." +[#27]: https://github.com/jprichardson/node-fs-extra/issues/27 "Update Readme" +[#26]: https://github.com/jprichardson/node-fs-extra/issues/26 "Add readdir recursive method. [enhancement]" +[#25]: https://github.com/jprichardson/node-fs-extra/pull/25 "adding an `.npmignore` file" +[#24]: https://github.com/jprichardson/node-fs-extra/issues/24 "[bug] cannot run in strict mode [bug]" +[#23]: https://github.com/jprichardson/node-fs-extra/issues/23 "`writeJSON()` should create parent directories" +[#22]: https://github.com/jprichardson/node-fs-extra/pull/22 "Add a limit option to mkdirs()" +[#21]: https://github.com/jprichardson/node-fs-extra/issues/21 "touch() in 0.10.0" +[#20]: https://github.com/jprichardson/node-fs-extra/issues/20 "fs.remove yields callback before directory is really deleted" +[#19]: https://github.com/jprichardson/node-fs-extra/issues/19 "fs.copy err is empty array" +[#18]: https://github.com/jprichardson/node-fs-extra/pull/18 "Exposed copyFile Function" +[#17]: https://github.com/jprichardson/node-fs-extra/issues/17 "Use `require('graceful-fs')` if found instead of `require('fs')`" +[#16]: https://github.com/jprichardson/node-fs-extra/pull/16 "Update README.md" +[#15]: https://github.com/jprichardson/node-fs-extra/issues/15 "Implement cp -r but sync aka copySync. [enhancement]" +[#14]: https://github.com/jprichardson/node-fs-extra/issues/14 "fs.mkdirSync is broken in 0.3.1" +[#13]: https://github.com/jprichardson/node-fs-extra/issues/13 "Thoughts on including a directory tree / file watcher? [enhancement, question]" +[#12]: https://github.com/jprichardson/node-fs-extra/issues/12 "copyFile & copyFileSync are global" +[#11]: https://github.com/jprichardson/node-fs-extra/issues/11 "Thoughts on including a file walker? [enhancement, question]" +[#10]: https://github.com/jprichardson/node-fs-extra/issues/10 "move / moveFile API [enhancement]" +[#9]: https://github.com/jprichardson/node-fs-extra/issues/9 "don't import normal fs stuff into fs-extra" +[#8]: https://github.com/jprichardson/node-fs-extra/pull/8 "Update rimraf to latest version" +[#6]: https://github.com/jprichardson/node-fs-extra/issues/6 "Remove CoffeeScript development dependency" +[#5]: https://github.com/jprichardson/node-fs-extra/issues/5 "comments on naming" +[#4]: https://github.com/jprichardson/node-fs-extra/issues/4 "version bump to 0.2" +[#3]: https://github.com/jprichardson/node-fs-extra/pull/3 "Hi! I fixed some code for you!" +[#2]: https://github.com/jprichardson/node-fs-extra/issues/2 "Merge with fs.extra and mkdirp" +[#1]: https://github.com/jprichardson/node-fs-extra/issues/1 "file-extra npm !exist" diff --git a/node_modules/fs-extra/LICENSE b/node_modules/fs-extra/LICENSE new file mode 100644 index 0000000..93546df --- /dev/null +++ b/node_modules/fs-extra/LICENSE @@ -0,0 +1,15 @@ +(The MIT License) + +Copyright (c) 2011-2017 JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/fs-extra/README.md b/node_modules/fs-extra/README.md new file mode 100644 index 0000000..070a5e7 --- /dev/null +++ b/node_modules/fs-extra/README.md @@ -0,0 +1,261 @@ +Node.js: fs-extra +================= + +`fs-extra` adds file system methods that aren't included in the native `fs` module and adds promise support to the `fs` methods. It also uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs) to prevent `EMFILE` errors. It should be a drop in replacement for `fs`. + +[![npm Package](https://img.shields.io/npm/v/fs-extra.svg)](https://www.npmjs.org/package/fs-extra) +[![License](https://img.shields.io/npm/l/express.svg)](https://github.com/jprichardson/node-fs-extra/blob/master/LICENSE) +[![build status](https://img.shields.io/travis/jprichardson/node-fs-extra/master.svg)](http://travis-ci.org/jprichardson/node-fs-extra) +[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-fs-extra/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-fs-extra/branch/master) +[![downloads per month](http://img.shields.io/npm/dm/fs-extra.svg)](https://www.npmjs.org/package/fs-extra) +[![Coverage Status](https://img.shields.io/coveralls/github/jprichardson/node-fs-extra/master.svg)](https://coveralls.io/github/jprichardson/node-fs-extra) +[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) + +Why? +---- + +I got tired of including `mkdirp`, `rimraf`, and `ncp` in most of my projects. + + + + +Installation +------------ + + npm install fs-extra + + + +Usage +----- + +`fs-extra` is a drop in replacement for native `fs`. All methods in `fs` are attached to `fs-extra`. All `fs` methods return promises if the callback isn't passed. + +You don't ever need to include the original `fs` module again: + +```js +const fs = require('fs') // this is no longer necessary +``` + +you can now do this: + +```js +const fs = require('fs-extra') +``` + +or if you prefer to make it clear that you're using `fs-extra` and not `fs`, you may want +to name your `fs` variable `fse` like so: + +```js +const fse = require('fs-extra') +``` + +you can also keep both, but it's redundant: + +```js +const fs = require('fs') +const fse = require('fs-extra') +``` + +Sync vs Async vs Async/Await +------------- +Most methods are async by default. All async methods will return a promise if the callback isn't passed. + +Sync methods on the other hand will throw if an error occurs. + +Also Async/Await will throw an error if one occurs. + +Example: + +```js +const fs = require('fs-extra') + +// Async with promises: +fs.copy('/tmp/myfile', '/tmp/mynewfile') + .then(() => console.log('success!')) + .catch(err => console.error(err)) + +// Async with callbacks: +fs.copy('/tmp/myfile', '/tmp/mynewfile', err => { + if (err) return console.error(err) + console.log('success!') +}) + +// Sync: +try { + fs.copySync('/tmp/myfile', '/tmp/mynewfile') + console.log('success!') +} catch (err) { + console.error(err) +} + +// Async/Await: +async function copyFiles () { + try { + await fs.copy('/tmp/myfile', '/tmp/mynewfile') + console.log('success!') + } catch (err) { + console.error(err) + } +} + +copyFiles() +``` + + +Methods +------- + +### Async + +- [copy](docs/copy.md) +- [emptyDir](docs/emptyDir.md) +- [ensureFile](docs/ensureFile.md) +- [ensureDir](docs/ensureDir.md) +- [ensureLink](docs/ensureLink.md) +- [ensureSymlink](docs/ensureSymlink.md) +- [mkdirp](docs/ensureDir.md) +- [mkdirs](docs/ensureDir.md) +- [move](docs/move.md) +- [outputFile](docs/outputFile.md) +- [outputJson](docs/outputJson.md) +- [pathExists](docs/pathExists.md) +- [readJson](docs/readJson.md) +- [remove](docs/remove.md) +- [writeJson](docs/writeJson.md) + +### Sync + +- [copySync](docs/copy-sync.md) +- [emptyDirSync](docs/emptyDir-sync.md) +- [ensureFileSync](docs/ensureFile-sync.md) +- [ensureDirSync](docs/ensureDir-sync.md) +- [ensureLinkSync](docs/ensureLink-sync.md) +- [ensureSymlinkSync](docs/ensureSymlink-sync.md) +- [mkdirpSync](docs/ensureDir-sync.md) +- [mkdirsSync](docs/ensureDir-sync.md) +- [moveSync](docs/move-sync.md) +- [outputFileSync](docs/outputFile-sync.md) +- [outputJsonSync](docs/outputJson-sync.md) +- [pathExistsSync](docs/pathExists-sync.md) +- [readJsonSync](docs/readJson-sync.md) +- [removeSync](docs/remove-sync.md) +- [writeJsonSync](docs/writeJson-sync.md) + + +**NOTE:** You can still use the native Node.js methods. They are promisified and copied over to `fs-extra`. See [notes on `fs.read()` & `fs.write()`](docs/fs-read-write.md) + +### What happened to `walk()` and `walkSync()`? + +They were removed from `fs-extra` in v2.0.0. If you need the functionality, `walk` and `walkSync` are available as separate packages, [`klaw`](https://github.com/jprichardson/node-klaw) and [`klaw-sync`](https://github.com/manidlou/node-klaw-sync). + + +Third Party +----------- + + +### TypeScript + +If you like TypeScript, you can use `fs-extra` with it: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra + + +### File / Directory Watching + +If you want to watch for changes to files or directories, then you should use [chokidar](https://github.com/paulmillr/chokidar). + +### Obtain Filesystem (Devices, Partitions) Information + +[fs-filesystem](https://github.com/arthurintelligence/node-fs-filesystem) allows you to read the state of the filesystem of the host on which it is run. It returns information about both the devices and the partitions (volumes) of the system. + +### Misc. + +- [fs-extra-debug](https://github.com/jdxcode/fs-extra-debug) - Send your fs-extra calls to [debug](https://npmjs.org/package/debug). +- [mfs](https://github.com/cadorn/mfs) - Monitor your fs-extra calls. + + + +Hacking on fs-extra +------------------- + +Wanna hack on `fs-extra`? Great! Your help is needed! [fs-extra is one of the most depended upon Node.js packages](http://nodei.co/npm/fs-extra.png?downloads=true&downloadRank=true&stars=true). This project +uses [JavaScript Standard Style](https://github.com/feross/standard) - if the name or style choices bother you, +you're gonna have to get over it :) If `standard` is good enough for `npm`, it's good enough for `fs-extra`. + +[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) + +What's needed? +- First, take a look at existing issues. Those are probably going to be where the priority lies. +- More tests for edge cases. Specifically on different platforms. There can never be enough tests. +- Improve test coverage. See coveralls output for more info. + +Note: If you make any big changes, **you should definitely file an issue for discussion first.** + +### Running the Test Suite + +fs-extra contains hundreds of tests. + +- `npm run lint`: runs the linter ([standard](http://standardjs.com/)) +- `npm run unit`: runs the unit tests +- `npm test`: runs both the linter and the tests + + +### Windows + +If you run the tests on the Windows and receive a lot of symbolic link `EPERM` permission errors, it's +because on Windows you need elevated privilege to create symbolic links. You can add this to your Windows's +account by following the instructions here: http://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7 +However, I didn't have much luck doing this. + +Since I develop on Mac OS X, I use VMWare Fusion for Windows testing. I create a shared folder that I map to a drive on Windows. +I open the `Node.js command prompt` and run as `Administrator`. I then map the network drive running the following command: + + net use z: "\\vmware-host\Shared Folders" + +I can then navigate to my `fs-extra` directory and run the tests. + + +Naming +------ + +I put a lot of thought into the naming of these functions. Inspired by @coolaj86's request. So he deserves much of the credit for raising the issue. See discussion(s) here: + +* https://github.com/jprichardson/node-fs-extra/issues/2 +* https://github.com/flatiron/utile/issues/11 +* https://github.com/ryanmcgrath/wrench-js/issues/29 +* https://github.com/substack/node-mkdirp/issues/17 + +First, I believe that in as many cases as possible, the [Node.js naming schemes](http://nodejs.org/api/fs.html) should be chosen. However, there are problems with the Node.js own naming schemes. + +For example, `fs.readFile()` and `fs.readdir()`: the **F** is capitalized in *File* and the **d** is not capitalized in *dir*. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: `fs.mkdir()`, `fs.rmdir()`, `fs.chown()`, etc. + +We have a dilemma though. How do you consistently name methods that perform the following POSIX commands: `cp`, `cp -r`, `mkdir -p`, and `rm -rf`? + +My perspective: when in doubt, err on the side of simplicity. A directory is just a hierarchical grouping of directories and files. Consider that for a moment. So when you want to copy it or remove it, in most cases you'll want to copy or remove all of its contents. When you want to create a directory, if the directory that it's suppose to be contained in does not exist, then in most cases you'll want to create that too. + +So, if you want to remove a file or a directory regardless of whether it has contents, just call `fs.remove(path)`. If you want to copy a file or a directory whether it has contents, just call `fs.copy(source, destination)`. If you want to create a directory regardless of whether its parent directories exist, just call `fs.mkdirs(path)` or `fs.mkdirp(path)`. + + +Credit +------ + +`fs-extra` wouldn't be possible without using the modules from the following authors: + +- [Isaac Shlueter](https://github.com/isaacs) +- [Charlie McConnel](https://github.com/avianflu) +- [James Halliday](https://github.com/substack) +- [Andrew Kelley](https://github.com/andrewrk) + + + + +License +------- + +Licensed under MIT + +Copyright (c) 2011-2017 [JP Richardson](https://github.com/jprichardson) + +[1]: http://nodejs.org/docs/latest/api/fs.html + + +[jsonfile]: https://github.com/jprichardson/node-jsonfile diff --git a/node_modules/fs-extra/lib/copy-sync/copy-sync.js b/node_modules/fs-extra/lib/copy-sync/copy-sync.js new file mode 100644 index 0000000..f2831b3 --- /dev/null +++ b/node_modules/fs-extra/lib/copy-sync/copy-sync.js @@ -0,0 +1,164 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const mkdirpSync = require('../mkdirs').mkdirsSync +const utimesSync = require('../util/utimes.js').utimesMillisSync +const stat = require('../util/stat') + +function copySync (src, dest, opts) { + if (typeof opts === 'function') { + opts = { filter: opts } + } + + opts = opts || {} + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber + + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') { + console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n + see https://github.com/jprichardson/node-fs-extra/issues/269`) + } + + const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy') + stat.checkParentPathsSync(src, srcStat, dest, 'copy') + return handleFilterAndCopy(destStat, src, dest, opts) +} + +function handleFilterAndCopy (destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) return + const destParent = path.dirname(dest) + if (!fs.existsSync(destParent)) mkdirpSync(destParent) + return startCopy(destStat, src, dest, opts) +} + +function startCopy (destStat, src, dest, opts) { + if (opts.filter && !opts.filter(src, dest)) return + return getStats(destStat, src, dest, opts) +} + +function getStats (destStat, src, dest, opts) { + const statSync = opts.dereference ? fs.statSync : fs.lstatSync + const srcStat = statSync(src) + + if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts) + else if (srcStat.isFile() || + srcStat.isCharacterDevice() || + srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts) + else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts) +} + +function onFile (srcStat, destStat, src, dest, opts) { + if (!destStat) return copyFile(srcStat, src, dest, opts) + return mayCopyFile(srcStat, src, dest, opts) +} + +function mayCopyFile (srcStat, src, dest, opts) { + if (opts.overwrite) { + fs.unlinkSync(dest) + return copyFile(srcStat, src, dest, opts) + } else if (opts.errorOnExist) { + throw new Error(`'${dest}' already exists`) + } +} + +function copyFile (srcStat, src, dest, opts) { + if (typeof fs.copyFileSync === 'function') { + fs.copyFileSync(src, dest) + fs.chmodSync(dest, srcStat.mode) + if (opts.preserveTimestamps) { + return utimesSync(dest, srcStat.atime, srcStat.mtime) + } + return + } + return copyFileFallback(srcStat, src, dest, opts) +} + +function copyFileFallback (srcStat, src, dest, opts) { + const BUF_LENGTH = 64 * 1024 + const _buff = require('../util/buffer')(BUF_LENGTH) + + const fdr = fs.openSync(src, 'r') + const fdw = fs.openSync(dest, 'w', srcStat.mode) + let pos = 0 + + while (pos < srcStat.size) { + const bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) + fs.writeSync(fdw, _buff, 0, bytesRead) + pos += bytesRead + } + + if (opts.preserveTimestamps) fs.futimesSync(fdw, srcStat.atime, srcStat.mtime) + + fs.closeSync(fdr) + fs.closeSync(fdw) +} + +function onDir (srcStat, destStat, src, dest, opts) { + if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts) + if (destStat && !destStat.isDirectory()) { + throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`) + } + return copyDir(src, dest, opts) +} + +function mkDirAndCopy (srcStat, src, dest, opts) { + fs.mkdirSync(dest) + copyDir(src, dest, opts) + return fs.chmodSync(dest, srcStat.mode) +} + +function copyDir (src, dest, opts) { + fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts)) +} + +function copyDirItem (item, src, dest, opts) { + const srcItem = path.join(src, item) + const destItem = path.join(dest, item) + const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy') + return startCopy(destStat, srcItem, destItem, opts) +} + +function onLink (destStat, src, dest, opts) { + let resolvedSrc = fs.readlinkSync(src) + if (opts.dereference) { + resolvedSrc = path.resolve(process.cwd(), resolvedSrc) + } + + if (!destStat) { + return fs.symlinkSync(resolvedSrc, dest) + } else { + let resolvedDest + try { + resolvedDest = fs.readlinkSync(dest) + } catch (err) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest) + throw err + } + if (opts.dereference) { + resolvedDest = path.resolve(process.cwd(), resolvedDest) + } + if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { + throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`) + } + + // prevent copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { + throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`) + } + return copyLink(resolvedSrc, dest) + } +} + +function copyLink (resolvedSrc, dest) { + fs.unlinkSync(dest) + return fs.symlinkSync(resolvedSrc, dest) +} + +module.exports = copySync diff --git a/node_modules/fs-extra/lib/copy-sync/index.js b/node_modules/fs-extra/lib/copy-sync/index.js new file mode 100644 index 0000000..65945ae --- /dev/null +++ b/node_modules/fs-extra/lib/copy-sync/index.js @@ -0,0 +1,5 @@ +'use strict' + +module.exports = { + copySync: require('./copy-sync') +} diff --git a/node_modules/fs-extra/lib/copy/copy.js b/node_modules/fs-extra/lib/copy/copy.js new file mode 100644 index 0000000..411fc64 --- /dev/null +++ b/node_modules/fs-extra/lib/copy/copy.js @@ -0,0 +1,212 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const mkdirp = require('../mkdirs').mkdirs +const pathExists = require('../path-exists').pathExists +const utimes = require('../util/utimes').utimesMillis +const stat = require('../util/stat') + +function copy (src, dest, opts, cb) { + if (typeof opts === 'function' && !cb) { + cb = opts + opts = {} + } else if (typeof opts === 'function') { + opts = { filter: opts } + } + + cb = cb || function () {} + opts = opts || {} + + opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now + opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber + + // Warn about using preserveTimestamps on 32-bit node + if (opts.preserveTimestamps && process.arch === 'ia32') { + console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n + see https://github.com/jprichardson/node-fs-extra/issues/269`) + } + + stat.checkPaths(src, dest, 'copy', (err, stats) => { + if (err) return cb(err) + const { srcStat, destStat } = stats + stat.checkParentPaths(src, srcStat, dest, 'copy', err => { + if (err) return cb(err) + if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb) + return checkParentDir(destStat, src, dest, opts, cb) + }) + }) +} + +function checkParentDir (destStat, src, dest, opts, cb) { + const destParent = path.dirname(dest) + pathExists(destParent, (err, dirExists) => { + if (err) return cb(err) + if (dirExists) return startCopy(destStat, src, dest, opts, cb) + mkdirp(destParent, err => { + if (err) return cb(err) + return startCopy(destStat, src, dest, opts, cb) + }) + }) +} + +function handleFilter (onInclude, destStat, src, dest, opts, cb) { + Promise.resolve(opts.filter(src, dest)).then(include => { + if (include) return onInclude(destStat, src, dest, opts, cb) + return cb() + }, error => cb(error)) +} + +function startCopy (destStat, src, dest, opts, cb) { + if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb) + return getStats(destStat, src, dest, opts, cb) +} + +function getStats (destStat, src, dest, opts, cb) { + const stat = opts.dereference ? fs.stat : fs.lstat + stat(src, (err, srcStat) => { + if (err) return cb(err) + + if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb) + else if (srcStat.isFile() || + srcStat.isCharacterDevice() || + srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb) + else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb) + }) +} + +function onFile (srcStat, destStat, src, dest, opts, cb) { + if (!destStat) return copyFile(srcStat, src, dest, opts, cb) + return mayCopyFile(srcStat, src, dest, opts, cb) +} + +function mayCopyFile (srcStat, src, dest, opts, cb) { + if (opts.overwrite) { + fs.unlink(dest, err => { + if (err) return cb(err) + return copyFile(srcStat, src, dest, opts, cb) + }) + } else if (opts.errorOnExist) { + return cb(new Error(`'${dest}' already exists`)) + } else return cb() +} + +function copyFile (srcStat, src, dest, opts, cb) { + if (typeof fs.copyFile === 'function') { + return fs.copyFile(src, dest, err => { + if (err) return cb(err) + return setDestModeAndTimestamps(srcStat, dest, opts, cb) + }) + } + return copyFileFallback(srcStat, src, dest, opts, cb) +} + +function copyFileFallback (srcStat, src, dest, opts, cb) { + const rs = fs.createReadStream(src) + rs.on('error', err => cb(err)).once('open', () => { + const ws = fs.createWriteStream(dest, { mode: srcStat.mode }) + ws.on('error', err => cb(err)) + .on('open', () => rs.pipe(ws)) + .once('close', () => setDestModeAndTimestamps(srcStat, dest, opts, cb)) + }) +} + +function setDestModeAndTimestamps (srcStat, dest, opts, cb) { + fs.chmod(dest, srcStat.mode, err => { + if (err) return cb(err) + if (opts.preserveTimestamps) { + return utimes(dest, srcStat.atime, srcStat.mtime, cb) + } + return cb() + }) +} + +function onDir (srcStat, destStat, src, dest, opts, cb) { + if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts, cb) + if (destStat && !destStat.isDirectory()) { + return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)) + } + return copyDir(src, dest, opts, cb) +} + +function mkDirAndCopy (srcStat, src, dest, opts, cb) { + fs.mkdir(dest, err => { + if (err) return cb(err) + copyDir(src, dest, opts, err => { + if (err) return cb(err) + return fs.chmod(dest, srcStat.mode, cb) + }) + }) +} + +function copyDir (src, dest, opts, cb) { + fs.readdir(src, (err, items) => { + if (err) return cb(err) + return copyDirItems(items, src, dest, opts, cb) + }) +} + +function copyDirItems (items, src, dest, opts, cb) { + const item = items.pop() + if (!item) return cb() + return copyDirItem(items, item, src, dest, opts, cb) +} + +function copyDirItem (items, item, src, dest, opts, cb) { + const srcItem = path.join(src, item) + const destItem = path.join(dest, item) + stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => { + if (err) return cb(err) + const { destStat } = stats + startCopy(destStat, srcItem, destItem, opts, err => { + if (err) return cb(err) + return copyDirItems(items, src, dest, opts, cb) + }) + }) +} + +function onLink (destStat, src, dest, opts, cb) { + fs.readlink(src, (err, resolvedSrc) => { + if (err) return cb(err) + if (opts.dereference) { + resolvedSrc = path.resolve(process.cwd(), resolvedSrc) + } + + if (!destStat) { + return fs.symlink(resolvedSrc, dest, cb) + } else { + fs.readlink(dest, (err, resolvedDest) => { + if (err) { + // dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb) + return cb(err) + } + if (opts.dereference) { + resolvedDest = path.resolve(process.cwd(), resolvedDest) + } + if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) { + return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)) + } + + // do not copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) { + return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)) + } + return copyLink(resolvedSrc, dest, cb) + }) + } + }) +} + +function copyLink (resolvedSrc, dest, cb) { + fs.unlink(dest, err => { + if (err) return cb(err) + return fs.symlink(resolvedSrc, dest, cb) + }) +} + +module.exports = copy diff --git a/node_modules/fs-extra/lib/copy/index.js b/node_modules/fs-extra/lib/copy/index.js new file mode 100644 index 0000000..b7e4f7f --- /dev/null +++ b/node_modules/fs-extra/lib/copy/index.js @@ -0,0 +1,6 @@ +'use strict' + +const u = require('universalify').fromCallback +module.exports = { + copy: u(require('./copy')) +} diff --git a/node_modules/fs-extra/lib/empty/index.js b/node_modules/fs-extra/lib/empty/index.js new file mode 100644 index 0000000..204d53b --- /dev/null +++ b/node_modules/fs-extra/lib/empty/index.js @@ -0,0 +1,48 @@ +'use strict' + +const u = require('universalify').fromCallback +const fs = require('graceful-fs') +const path = require('path') +const mkdir = require('../mkdirs') +const remove = require('../remove') + +const emptyDir = u(function emptyDir (dir, callback) { + callback = callback || function () {} + fs.readdir(dir, (err, items) => { + if (err) return mkdir.mkdirs(dir, callback) + + items = items.map(item => path.join(dir, item)) + + deleteItem() + + function deleteItem () { + const item = items.pop() + if (!item) return callback() + remove.remove(item, err => { + if (err) return callback(err) + deleteItem() + }) + } + }) +}) + +function emptyDirSync (dir) { + let items + try { + items = fs.readdirSync(dir) + } catch (err) { + return mkdir.mkdirsSync(dir) + } + + items.forEach(item => { + item = path.join(dir, item) + remove.removeSync(item) + }) +} + +module.exports = { + emptyDirSync, + emptydirSync: emptyDirSync, + emptyDir, + emptydir: emptyDir +} diff --git a/node_modules/fs-extra/lib/ensure/file.js b/node_modules/fs-extra/lib/ensure/file.js new file mode 100644 index 0000000..67eed30 --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/file.js @@ -0,0 +1,49 @@ +'use strict' + +const u = require('universalify').fromCallback +const path = require('path') +const fs = require('graceful-fs') +const mkdir = require('../mkdirs') +const pathExists = require('../path-exists').pathExists + +function createFile (file, callback) { + function makeFile () { + fs.writeFile(file, '', err => { + if (err) return callback(err) + callback() + }) + } + + fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err + if (!err && stats.isFile()) return callback() + const dir = path.dirname(file) + pathExists(dir, (err, dirExists) => { + if (err) return callback(err) + if (dirExists) return makeFile() + mkdir.mkdirs(dir, err => { + if (err) return callback(err) + makeFile() + }) + }) + }) +} + +function createFileSync (file) { + let stats + try { + stats = fs.statSync(file) + } catch (e) {} + if (stats && stats.isFile()) return + + const dir = path.dirname(file) + if (!fs.existsSync(dir)) { + mkdir.mkdirsSync(dir) + } + + fs.writeFileSync(file, '') +} + +module.exports = { + createFile: u(createFile), + createFileSync +} diff --git a/node_modules/fs-extra/lib/ensure/index.js b/node_modules/fs-extra/lib/ensure/index.js new file mode 100644 index 0000000..c1f67b7 --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/index.js @@ -0,0 +1,23 @@ +'use strict' + +const file = require('./file') +const link = require('./link') +const symlink = require('./symlink') + +module.exports = { + // file + createFile: file.createFile, + createFileSync: file.createFileSync, + ensureFile: file.createFile, + ensureFileSync: file.createFileSync, + // link + createLink: link.createLink, + createLinkSync: link.createLinkSync, + ensureLink: link.createLink, + ensureLinkSync: link.createLinkSync, + // symlink + createSymlink: symlink.createSymlink, + createSymlinkSync: symlink.createSymlinkSync, + ensureSymlink: symlink.createSymlink, + ensureSymlinkSync: symlink.createSymlinkSync +} diff --git a/node_modules/fs-extra/lib/ensure/link.js b/node_modules/fs-extra/lib/ensure/link.js new file mode 100644 index 0000000..2cd4196 --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/link.js @@ -0,0 +1,61 @@ +'use strict' + +const u = require('universalify').fromCallback +const path = require('path') +const fs = require('graceful-fs') +const mkdir = require('../mkdirs') +const pathExists = require('../path-exists').pathExists + +function createLink (srcpath, dstpath, callback) { + function makeLink (srcpath, dstpath) { + fs.link(srcpath, dstpath, err => { + if (err) return callback(err) + callback(null) + }) + } + + pathExists(dstpath, (err, destinationExists) => { + if (err) return callback(err) + if (destinationExists) return callback(null) + fs.lstat(srcpath, (err) => { + if (err) { + err.message = err.message.replace('lstat', 'ensureLink') + return callback(err) + } + + const dir = path.dirname(dstpath) + pathExists(dir, (err, dirExists) => { + if (err) return callback(err) + if (dirExists) return makeLink(srcpath, dstpath) + mkdir.mkdirs(dir, err => { + if (err) return callback(err) + makeLink(srcpath, dstpath) + }) + }) + }) + }) +} + +function createLinkSync (srcpath, dstpath) { + const destinationExists = fs.existsSync(dstpath) + if (destinationExists) return undefined + + try { + fs.lstatSync(srcpath) + } catch (err) { + err.message = err.message.replace('lstat', 'ensureLink') + throw err + } + + const dir = path.dirname(dstpath) + const dirExists = fs.existsSync(dir) + if (dirExists) return fs.linkSync(srcpath, dstpath) + mkdir.mkdirsSync(dir) + + return fs.linkSync(srcpath, dstpath) +} + +module.exports = { + createLink: u(createLink), + createLinkSync +} diff --git a/node_modules/fs-extra/lib/ensure/symlink-paths.js b/node_modules/fs-extra/lib/ensure/symlink-paths.js new file mode 100644 index 0000000..24e7e1c --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/symlink-paths.js @@ -0,0 +1,99 @@ +'use strict' + +const path = require('path') +const fs = require('graceful-fs') +const pathExists = require('../path-exists').pathExists + +/** + * Function that returns two types of paths, one relative to symlink, and one + * relative to the current working directory. Checks if path is absolute or + * relative. If the path is relative, this function checks if the path is + * relative to symlink or relative to current working directory. This is an + * initiative to find a smarter `srcpath` to supply when building symlinks. + * This allows you to determine which path to use out of one of three possible + * types of source paths. The first is an absolute path. This is detected by + * `path.isAbsolute()`. When an absolute path is provided, it is checked to + * see if it exists. If it does it's used, if not an error is returned + * (callback)/ thrown (sync). The other two options for `srcpath` are a + * relative url. By default Node's `fs.symlink` works by creating a symlink + * using `dstpath` and expects the `srcpath` to be relative to the newly + * created symlink. If you provide a `srcpath` that does not exist on the file + * system it results in a broken symlink. To minimize this, the function + * checks to see if the 'relative to symlink' source file exists, and if it + * does it will use it. If it does not, it checks if there's a file that + * exists that is relative to the current working directory, if does its used. + * This preserves the expectations of the original fs.symlink spec and adds + * the ability to pass in `relative to current working direcotry` paths. + */ + +function symlinkPaths (srcpath, dstpath, callback) { + if (path.isAbsolute(srcpath)) { + return fs.lstat(srcpath, (err) => { + if (err) { + err.message = err.message.replace('lstat', 'ensureSymlink') + return callback(err) + } + return callback(null, { + 'toCwd': srcpath, + 'toDst': srcpath + }) + }) + } else { + const dstdir = path.dirname(dstpath) + const relativeToDst = path.join(dstdir, srcpath) + return pathExists(relativeToDst, (err, exists) => { + if (err) return callback(err) + if (exists) { + return callback(null, { + 'toCwd': relativeToDst, + 'toDst': srcpath + }) + } else { + return fs.lstat(srcpath, (err) => { + if (err) { + err.message = err.message.replace('lstat', 'ensureSymlink') + return callback(err) + } + return callback(null, { + 'toCwd': srcpath, + 'toDst': path.relative(dstdir, srcpath) + }) + }) + } + }) + } +} + +function symlinkPathsSync (srcpath, dstpath) { + let exists + if (path.isAbsolute(srcpath)) { + exists = fs.existsSync(srcpath) + if (!exists) throw new Error('absolute srcpath does not exist') + return { + 'toCwd': srcpath, + 'toDst': srcpath + } + } else { + const dstdir = path.dirname(dstpath) + const relativeToDst = path.join(dstdir, srcpath) + exists = fs.existsSync(relativeToDst) + if (exists) { + return { + 'toCwd': relativeToDst, + 'toDst': srcpath + } + } else { + exists = fs.existsSync(srcpath) + if (!exists) throw new Error('relative srcpath does not exist') + return { + 'toCwd': srcpath, + 'toDst': path.relative(dstdir, srcpath) + } + } + } +} + +module.exports = { + symlinkPaths, + symlinkPathsSync +} diff --git a/node_modules/fs-extra/lib/ensure/symlink-type.js b/node_modules/fs-extra/lib/ensure/symlink-type.js new file mode 100644 index 0000000..4f8787c --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/symlink-type.js @@ -0,0 +1,31 @@ +'use strict' + +const fs = require('graceful-fs') + +function symlinkType (srcpath, type, callback) { + callback = (typeof type === 'function') ? type : callback + type = (typeof type === 'function') ? false : type + if (type) return callback(null, type) + fs.lstat(srcpath, (err, stats) => { + if (err) return callback(null, 'file') + type = (stats && stats.isDirectory()) ? 'dir' : 'file' + callback(null, type) + }) +} + +function symlinkTypeSync (srcpath, type) { + let stats + + if (type) return type + try { + stats = fs.lstatSync(srcpath) + } catch (e) { + return 'file' + } + return (stats && stats.isDirectory()) ? 'dir' : 'file' +} + +module.exports = { + symlinkType, + symlinkTypeSync +} diff --git a/node_modules/fs-extra/lib/ensure/symlink.js b/node_modules/fs-extra/lib/ensure/symlink.js new file mode 100644 index 0000000..fe68b79 --- /dev/null +++ b/node_modules/fs-extra/lib/ensure/symlink.js @@ -0,0 +1,63 @@ +'use strict' + +const u = require('universalify').fromCallback +const path = require('path') +const fs = require('graceful-fs') +const _mkdirs = require('../mkdirs') +const mkdirs = _mkdirs.mkdirs +const mkdirsSync = _mkdirs.mkdirsSync + +const _symlinkPaths = require('./symlink-paths') +const symlinkPaths = _symlinkPaths.symlinkPaths +const symlinkPathsSync = _symlinkPaths.symlinkPathsSync + +const _symlinkType = require('./symlink-type') +const symlinkType = _symlinkType.symlinkType +const symlinkTypeSync = _symlinkType.symlinkTypeSync + +const pathExists = require('../path-exists').pathExists + +function createSymlink (srcpath, dstpath, type, callback) { + callback = (typeof type === 'function') ? type : callback + type = (typeof type === 'function') ? false : type + + pathExists(dstpath, (err, destinationExists) => { + if (err) return callback(err) + if (destinationExists) return callback(null) + symlinkPaths(srcpath, dstpath, (err, relative) => { + if (err) return callback(err) + srcpath = relative.toDst + symlinkType(relative.toCwd, type, (err, type) => { + if (err) return callback(err) + const dir = path.dirname(dstpath) + pathExists(dir, (err, dirExists) => { + if (err) return callback(err) + if (dirExists) return fs.symlink(srcpath, dstpath, type, callback) + mkdirs(dir, err => { + if (err) return callback(err) + fs.symlink(srcpath, dstpath, type, callback) + }) + }) + }) + }) + }) +} + +function createSymlinkSync (srcpath, dstpath, type) { + const destinationExists = fs.existsSync(dstpath) + if (destinationExists) return undefined + + const relative = symlinkPathsSync(srcpath, dstpath) + srcpath = relative.toDst + type = symlinkTypeSync(relative.toCwd, type) + const dir = path.dirname(dstpath) + const exists = fs.existsSync(dir) + if (exists) return fs.symlinkSync(srcpath, dstpath, type) + mkdirsSync(dir) + return fs.symlinkSync(srcpath, dstpath, type) +} + +module.exports = { + createSymlink: u(createSymlink), + createSymlinkSync +} diff --git a/node_modules/fs-extra/lib/fs/index.js b/node_modules/fs-extra/lib/fs/index.js new file mode 100644 index 0000000..a7b2292 --- /dev/null +++ b/node_modules/fs-extra/lib/fs/index.js @@ -0,0 +1,109 @@ +'use strict' +// This is adapted from https://github.com/normalize/mz +// Copyright (c) 2014-2016 Jonathan Ong me@jongleberry.com and Contributors +const u = require('universalify').fromCallback +const fs = require('graceful-fs') + +const api = [ + 'access', + 'appendFile', + 'chmod', + 'chown', + 'close', + 'copyFile', + 'fchmod', + 'fchown', + 'fdatasync', + 'fstat', + 'fsync', + 'ftruncate', + 'futimes', + 'lchown', + 'lchmod', + 'link', + 'lstat', + 'mkdir', + 'mkdtemp', + 'open', + 'readFile', + 'readdir', + 'readlink', + 'realpath', + 'rename', + 'rmdir', + 'stat', + 'symlink', + 'truncate', + 'unlink', + 'utimes', + 'writeFile' +].filter(key => { + // Some commands are not available on some systems. Ex: + // fs.copyFile was added in Node.js v8.5.0 + // fs.mkdtemp was added in Node.js v5.10.0 + // fs.lchown is not available on at least some Linux + return typeof fs[key] === 'function' +}) + +// Export all keys: +Object.keys(fs).forEach(key => { + if (key === 'promises') { + // fs.promises is a getter property that triggers ExperimentalWarning + // Don't re-export it here, the getter is defined in "lib/index.js" + return + } + exports[key] = fs[key] +}) + +// Universalify async methods: +api.forEach(method => { + exports[method] = u(fs[method]) +}) + +// We differ from mz/fs in that we still ship the old, broken, fs.exists() +// since we are a drop-in replacement for the native module +exports.exists = function (filename, callback) { + if (typeof callback === 'function') { + return fs.exists(filename, callback) + } + return new Promise(resolve => { + return fs.exists(filename, resolve) + }) +} + +// fs.read() & fs.write need special treatment due to multiple callback args + +exports.read = function (fd, buffer, offset, length, position, callback) { + if (typeof callback === 'function') { + return fs.read(fd, buffer, offset, length, position, callback) + } + return new Promise((resolve, reject) => { + fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => { + if (err) return reject(err) + resolve({ bytesRead, buffer }) + }) + }) +} + +// Function signature can be +// fs.write(fd, buffer[, offset[, length[, position]]], callback) +// OR +// fs.write(fd, string[, position[, encoding]], callback) +// We need to handle both cases, so we use ...args +exports.write = function (fd, buffer, ...args) { + if (typeof args[args.length - 1] === 'function') { + return fs.write(fd, buffer, ...args) + } + + return new Promise((resolve, reject) => { + fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => { + if (err) return reject(err) + resolve({ bytesWritten, buffer }) + }) + }) +} + +// fs.realpath.native only available in Node v9.2+ +if (typeof fs.realpath.native === 'function') { + exports.realpath.native = u(fs.realpath.native) +} diff --git a/node_modules/fs-extra/lib/index.js b/node_modules/fs-extra/lib/index.js new file mode 100644 index 0000000..40e37b1 --- /dev/null +++ b/node_modules/fs-extra/lib/index.js @@ -0,0 +1,28 @@ +'use strict' + +module.exports = Object.assign( + {}, + // Export promiseified graceful-fs: + require('./fs'), + // Export extra methods: + require('./copy-sync'), + require('./copy'), + require('./empty'), + require('./ensure'), + require('./json'), + require('./mkdirs'), + require('./move-sync'), + require('./move'), + require('./output'), + require('./path-exists'), + require('./remove') +) + +// Export fs.promises as a getter property so that we don't trigger +// ExperimentalWarning before fs.promises is actually accessed. +const fs = require('fs') +if (Object.getOwnPropertyDescriptor(fs, 'promises')) { + Object.defineProperty(module.exports, 'promises', { + get () { return fs.promises } + }) +} diff --git a/node_modules/fs-extra/lib/json/index.js b/node_modules/fs-extra/lib/json/index.js new file mode 100644 index 0000000..bae68d4 --- /dev/null +++ b/node_modules/fs-extra/lib/json/index.js @@ -0,0 +1,16 @@ +'use strict' + +const u = require('universalify').fromCallback +const jsonFile = require('./jsonfile') + +jsonFile.outputJson = u(require('./output-json')) +jsonFile.outputJsonSync = require('./output-json-sync') +// aliases +jsonFile.outputJSON = jsonFile.outputJson +jsonFile.outputJSONSync = jsonFile.outputJsonSync +jsonFile.writeJSON = jsonFile.writeJson +jsonFile.writeJSONSync = jsonFile.writeJsonSync +jsonFile.readJSON = jsonFile.readJson +jsonFile.readJSONSync = jsonFile.readJsonSync + +module.exports = jsonFile diff --git a/node_modules/fs-extra/lib/json/jsonfile.js b/node_modules/fs-extra/lib/json/jsonfile.js new file mode 100644 index 0000000..59cdb3e --- /dev/null +++ b/node_modules/fs-extra/lib/json/jsonfile.js @@ -0,0 +1,12 @@ +'use strict' + +const u = require('universalify').fromCallback +const jsonFile = require('jsonfile') + +module.exports = { + // jsonfile exports + readJson: u(jsonFile.readFile), + readJsonSync: jsonFile.readFileSync, + writeJson: u(jsonFile.writeFile), + writeJsonSync: jsonFile.writeFileSync +} diff --git a/node_modules/fs-extra/lib/json/output-json-sync.js b/node_modules/fs-extra/lib/json/output-json-sync.js new file mode 100644 index 0000000..6f76710 --- /dev/null +++ b/node_modules/fs-extra/lib/json/output-json-sync.js @@ -0,0 +1,18 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const mkdir = require('../mkdirs') +const jsonFile = require('./jsonfile') + +function outputJsonSync (file, data, options) { + const dir = path.dirname(file) + + if (!fs.existsSync(dir)) { + mkdir.mkdirsSync(dir) + } + + jsonFile.writeJsonSync(file, data, options) +} + +module.exports = outputJsonSync diff --git a/node_modules/fs-extra/lib/json/output-json.js b/node_modules/fs-extra/lib/json/output-json.js new file mode 100644 index 0000000..d45edb8 --- /dev/null +++ b/node_modules/fs-extra/lib/json/output-json.js @@ -0,0 +1,27 @@ +'use strict' + +const path = require('path') +const mkdir = require('../mkdirs') +const pathExists = require('../path-exists').pathExists +const jsonFile = require('./jsonfile') + +function outputJson (file, data, options, callback) { + if (typeof options === 'function') { + callback = options + options = {} + } + + const dir = path.dirname(file) + + pathExists(dir, (err, itDoes) => { + if (err) return callback(err) + if (itDoes) return jsonFile.writeJson(file, data, options, callback) + + mkdir.mkdirs(dir, err => { + if (err) return callback(err) + jsonFile.writeJson(file, data, options, callback) + }) + }) +} + +module.exports = outputJson diff --git a/node_modules/fs-extra/lib/mkdirs/index.js b/node_modules/fs-extra/lib/mkdirs/index.js new file mode 100644 index 0000000..d6e7e5b --- /dev/null +++ b/node_modules/fs-extra/lib/mkdirs/index.js @@ -0,0 +1,14 @@ +'use strict' +const u = require('universalify').fromCallback +const mkdirs = u(require('./mkdirs')) +const mkdirsSync = require('./mkdirs-sync') + +module.exports = { + mkdirs, + mkdirsSync, + // alias + mkdirp: mkdirs, + mkdirpSync: mkdirsSync, + ensureDir: mkdirs, + ensureDirSync: mkdirsSync +} diff --git a/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js b/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js new file mode 100644 index 0000000..a34acb9 --- /dev/null +++ b/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js @@ -0,0 +1,54 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const invalidWin32Path = require('./win32').invalidWin32Path + +const o777 = parseInt('0777', 8) + +function mkdirsSync (p, opts, made) { + if (!opts || typeof opts !== 'object') { + opts = { mode: opts } + } + + let mode = opts.mode + const xfs = opts.fs || fs + + if (process.platform === 'win32' && invalidWin32Path(p)) { + const errInval = new Error(p + ' contains invalid WIN32 path characters.') + errInval.code = 'EINVAL' + throw errInval + } + + if (mode === undefined) { + mode = o777 & (~process.umask()) + } + if (!made) made = null + + p = path.resolve(p) + + try { + xfs.mkdirSync(p, mode) + made = made || p + } catch (err0) { + if (err0.code === 'ENOENT') { + if (path.dirname(p) === p) throw err0 + made = mkdirsSync(path.dirname(p), opts, made) + mkdirsSync(p, opts, made) + } else { + // In the case of any other error, just see if there's a dir there + // already. If so, then hooray! If not, then something is borked. + let stat + try { + stat = xfs.statSync(p) + } catch (err1) { + throw err0 + } + if (!stat.isDirectory()) throw err0 + } + } + + return made +} + +module.exports = mkdirsSync diff --git a/node_modules/fs-extra/lib/mkdirs/mkdirs.js b/node_modules/fs-extra/lib/mkdirs/mkdirs.js new file mode 100644 index 0000000..1897533 --- /dev/null +++ b/node_modules/fs-extra/lib/mkdirs/mkdirs.js @@ -0,0 +1,63 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const invalidWin32Path = require('./win32').invalidWin32Path + +const o777 = parseInt('0777', 8) + +function mkdirs (p, opts, callback, made) { + if (typeof opts === 'function') { + callback = opts + opts = {} + } else if (!opts || typeof opts !== 'object') { + opts = { mode: opts } + } + + if (process.platform === 'win32' && invalidWin32Path(p)) { + const errInval = new Error(p + ' contains invalid WIN32 path characters.') + errInval.code = 'EINVAL' + return callback(errInval) + } + + let mode = opts.mode + const xfs = opts.fs || fs + + if (mode === undefined) { + mode = o777 & (~process.umask()) + } + if (!made) made = null + + callback = callback || function () {} + p = path.resolve(p) + + xfs.mkdir(p, mode, er => { + if (!er) { + made = made || p + return callback(null, made) + } + switch (er.code) { + case 'ENOENT': + if (path.dirname(p) === p) return callback(er) + mkdirs(path.dirname(p), opts, (er, made) => { + if (er) callback(er, made) + else mkdirs(p, opts, callback, made) + }) + break + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + xfs.stat(p, (er2, stat) => { + // if the stat fails, then that's super weird. + // let the original error be the failure reason. + if (er2 || !stat.isDirectory()) callback(er, made) + else callback(null, made) + }) + break + } + }) +} + +module.exports = mkdirs diff --git a/node_modules/fs-extra/lib/mkdirs/win32.js b/node_modules/fs-extra/lib/mkdirs/win32.js new file mode 100644 index 0000000..99b3920 --- /dev/null +++ b/node_modules/fs-extra/lib/mkdirs/win32.js @@ -0,0 +1,25 @@ +'use strict' + +const path = require('path') + +// get drive on windows +function getRootPath (p) { + p = path.normalize(path.resolve(p)).split(path.sep) + if (p.length > 0) return p[0] + return null +} + +// http://stackoverflow.com/a/62888/10333 contains more accurate +// TODO: expand to include the rest +const INVALID_PATH_CHARS = /[<>:"|?*]/ + +function invalidWin32Path (p) { + const rp = getRootPath(p) + p = p.replace(rp, '') + return INVALID_PATH_CHARS.test(p) +} + +module.exports = { + getRootPath, + invalidWin32Path +} diff --git a/node_modules/fs-extra/lib/move-sync/index.js b/node_modules/fs-extra/lib/move-sync/index.js new file mode 100644 index 0000000..af90b06 --- /dev/null +++ b/node_modules/fs-extra/lib/move-sync/index.js @@ -0,0 +1,5 @@ +'use strict' + +module.exports = { + moveSync: require('./move-sync') +} diff --git a/node_modules/fs-extra/lib/move-sync/move-sync.js b/node_modules/fs-extra/lib/move-sync/move-sync.js new file mode 100644 index 0000000..20f910c --- /dev/null +++ b/node_modules/fs-extra/lib/move-sync/move-sync.js @@ -0,0 +1,47 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const copySync = require('../copy-sync').copySync +const removeSync = require('../remove').removeSync +const mkdirpSync = require('../mkdirs').mkdirpSync +const stat = require('../util/stat') + +function moveSync (src, dest, opts) { + opts = opts || {} + const overwrite = opts.overwrite || opts.clobber || false + + const { srcStat } = stat.checkPathsSync(src, dest, 'move') + stat.checkParentPathsSync(src, srcStat, dest, 'move') + mkdirpSync(path.dirname(dest)) + return doRename(src, dest, overwrite) +} + +function doRename (src, dest, overwrite) { + if (overwrite) { + removeSync(dest) + return rename(src, dest, overwrite) + } + if (fs.existsSync(dest)) throw new Error('dest already exists.') + return rename(src, dest, overwrite) +} + +function rename (src, dest, overwrite) { + try { + fs.renameSync(src, dest) + } catch (err) { + if (err.code !== 'EXDEV') throw err + return moveAcrossDevice(src, dest, overwrite) + } +} + +function moveAcrossDevice (src, dest, overwrite) { + const opts = { + overwrite, + errorOnExist: true + } + copySync(src, dest, opts) + return removeSync(src) +} + +module.exports = moveSync diff --git a/node_modules/fs-extra/lib/move/index.js b/node_modules/fs-extra/lib/move/index.js new file mode 100644 index 0000000..3785345 --- /dev/null +++ b/node_modules/fs-extra/lib/move/index.js @@ -0,0 +1,6 @@ +'use strict' + +const u = require('universalify').fromCallback +module.exports = { + move: u(require('./move')) +} diff --git a/node_modules/fs-extra/lib/move/move.js b/node_modules/fs-extra/lib/move/move.js new file mode 100644 index 0000000..fa3ea61 --- /dev/null +++ b/node_modules/fs-extra/lib/move/move.js @@ -0,0 +1,65 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const copy = require('../copy').copy +const remove = require('../remove').remove +const mkdirp = require('../mkdirs').mkdirp +const pathExists = require('../path-exists').pathExists +const stat = require('../util/stat') + +function move (src, dest, opts, cb) { + if (typeof opts === 'function') { + cb = opts + opts = {} + } + + const overwrite = opts.overwrite || opts.clobber || false + + stat.checkPaths(src, dest, 'move', (err, stats) => { + if (err) return cb(err) + const { srcStat } = stats + stat.checkParentPaths(src, srcStat, dest, 'move', err => { + if (err) return cb(err) + mkdirp(path.dirname(dest), err => { + if (err) return cb(err) + return doRename(src, dest, overwrite, cb) + }) + }) + }) +} + +function doRename (src, dest, overwrite, cb) { + if (overwrite) { + return remove(dest, err => { + if (err) return cb(err) + return rename(src, dest, overwrite, cb) + }) + } + pathExists(dest, (err, destExists) => { + if (err) return cb(err) + if (destExists) return cb(new Error('dest already exists.')) + return rename(src, dest, overwrite, cb) + }) +} + +function rename (src, dest, overwrite, cb) { + fs.rename(src, dest, err => { + if (!err) return cb() + if (err.code !== 'EXDEV') return cb(err) + return moveAcrossDevice(src, dest, overwrite, cb) + }) +} + +function moveAcrossDevice (src, dest, overwrite, cb) { + const opts = { + overwrite, + errorOnExist: true + } + copy(src, dest, opts, err => { + if (err) return cb(err) + return remove(src, cb) + }) +} + +module.exports = move diff --git a/node_modules/fs-extra/lib/output/index.js b/node_modules/fs-extra/lib/output/index.js new file mode 100644 index 0000000..92297ca --- /dev/null +++ b/node_modules/fs-extra/lib/output/index.js @@ -0,0 +1,40 @@ +'use strict' + +const u = require('universalify').fromCallback +const fs = require('graceful-fs') +const path = require('path') +const mkdir = require('../mkdirs') +const pathExists = require('../path-exists').pathExists + +function outputFile (file, data, encoding, callback) { + if (typeof encoding === 'function') { + callback = encoding + encoding = 'utf8' + } + + const dir = path.dirname(file) + pathExists(dir, (err, itDoes) => { + if (err) return callback(err) + if (itDoes) return fs.writeFile(file, data, encoding, callback) + + mkdir.mkdirs(dir, err => { + if (err) return callback(err) + + fs.writeFile(file, data, encoding, callback) + }) + }) +} + +function outputFileSync (file, ...args) { + const dir = path.dirname(file) + if (fs.existsSync(dir)) { + return fs.writeFileSync(file, ...args) + } + mkdir.mkdirsSync(dir) + fs.writeFileSync(file, ...args) +} + +module.exports = { + outputFile: u(outputFile), + outputFileSync +} diff --git a/node_modules/fs-extra/lib/path-exists/index.js b/node_modules/fs-extra/lib/path-exists/index.js new file mode 100644 index 0000000..ddd9bc7 --- /dev/null +++ b/node_modules/fs-extra/lib/path-exists/index.js @@ -0,0 +1,12 @@ +'use strict' +const u = require('universalify').fromPromise +const fs = require('../fs') + +function pathExists (path) { + return fs.access(path).then(() => true).catch(() => false) +} + +module.exports = { + pathExists: u(pathExists), + pathExistsSync: fs.existsSync +} diff --git a/node_modules/fs-extra/lib/remove/index.js b/node_modules/fs-extra/lib/remove/index.js new file mode 100644 index 0000000..cee5340 --- /dev/null +++ b/node_modules/fs-extra/lib/remove/index.js @@ -0,0 +1,9 @@ +'use strict' + +const u = require('universalify').fromCallback +const rimraf = require('./rimraf') + +module.exports = { + remove: u(rimraf), + removeSync: rimraf.sync +} diff --git a/node_modules/fs-extra/lib/remove/rimraf.js b/node_modules/fs-extra/lib/remove/rimraf.js new file mode 100644 index 0000000..f287e4e --- /dev/null +++ b/node_modules/fs-extra/lib/remove/rimraf.js @@ -0,0 +1,314 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') +const assert = require('assert') + +const isWindows = (process.platform === 'win32') + +function defaults (options) { + const methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(m => { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) + + options.maxBusyTries = options.maxBusyTries || 3 +} + +function rimraf (p, options, cb) { + let busyTries = 0 + + if (typeof options === 'function') { + cb = options + options = {} + } + + assert(p, 'rimraf: missing path') + assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string') + assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required') + assert(options, 'rimraf: invalid options argument provided') + assert.strictEqual(typeof options, 'object', 'rimraf: options should be object') + + defaults(options) + + rimraf_(p, options, function CB (er) { + if (er) { + if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') && + busyTries < options.maxBusyTries) { + busyTries++ + const time = busyTries * 100 + // try again, with the same exact callback as this one. + return setTimeout(() => rimraf_(p, options, CB), time) + } + + // already gone + if (er.code === 'ENOENT') er = null + } + + cb(er) + }) +} + +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +function rimraf_ (p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, (er, st) => { + if (er && er.code === 'ENOENT') { + return cb(null) + } + + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === 'EPERM' && isWindows) { + return fixWinEPERM(p, options, er, cb) + } + + if (st && st.isDirectory()) { + return rmdir(p, options, er, cb) + } + + options.unlink(p, er => { + if (er) { + if (er.code === 'ENOENT') { + return cb(null) + } + if (er.code === 'EPERM') { + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + } + if (er.code === 'EISDIR') { + return rmdir(p, options, er, cb) + } + } + return cb(er) + }) + }) +} + +function fixWinEPERM (p, options, er, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + if (er) { + assert(er instanceof Error) + } + + options.chmod(p, 0o666, er2 => { + if (er2) { + cb(er2.code === 'ENOENT' ? null : er) + } else { + options.stat(p, (er3, stats) => { + if (er3) { + cb(er3.code === 'ENOENT' ? null : er) + } else if (stats.isDirectory()) { + rmdir(p, options, er, cb) + } else { + options.unlink(p, cb) + } + }) + } + }) +} + +function fixWinEPERMSync (p, options, er) { + let stats + + assert(p) + assert(options) + if (er) { + assert(er instanceof Error) + } + + try { + options.chmodSync(p, 0o666) + } catch (er2) { + if (er2.code === 'ENOENT') { + return + } else { + throw er + } + } + + try { + stats = options.statSync(p) + } catch (er3) { + if (er3.code === 'ENOENT') { + return + } else { + throw er + } + } + + if (stats.isDirectory()) { + rmdirSync(p, options, er) + } else { + options.unlinkSync(p) + } +} + +function rmdir (p, options, originalEr, cb) { + assert(p) + assert(options) + if (originalEr) { + assert(originalEr instanceof Error) + } + assert(typeof cb === 'function') + + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, er => { + if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) { + rmkids(p, options, cb) + } else if (er && er.code === 'ENOTDIR') { + cb(originalEr) + } else { + cb(er) + } + }) +} + +function rmkids (p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.readdir(p, (er, files) => { + if (er) return cb(er) + + let n = files.length + let errState + + if (n === 0) return options.rmdir(p, cb) + + files.forEach(f => { + rimraf(path.join(p, f), options, er => { + if (errState) { + return + } + if (er) return cb(errState = er) + if (--n === 0) { + options.rmdir(p, cb) + } + }) + }) + }) +} + +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +function rimrafSync (p, options) { + let st + + options = options || {} + defaults(options) + + assert(p, 'rimraf: missing path') + assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.strictEqual(typeof options, 'object', 'rimraf: options should be object') + + try { + st = options.lstatSync(p) + } catch (er) { + if (er.code === 'ENOENT') { + return + } + + // Windows can EPERM on stat. Life is suffering. + if (er.code === 'EPERM' && isWindows) { + fixWinEPERMSync(p, options, er) + } + } + + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) { + rmdirSync(p, options, null) + } else { + options.unlinkSync(p) + } + } catch (er) { + if (er.code === 'ENOENT') { + return + } else if (er.code === 'EPERM') { + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + } else if (er.code !== 'EISDIR') { + throw er + } + rmdirSync(p, options, er) + } +} + +function rmdirSync (p, options, originalEr) { + assert(p) + assert(options) + if (originalEr) { + assert(originalEr instanceof Error) + } + + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === 'ENOTDIR') { + throw originalEr + } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') { + rmkidsSync(p, options) + } else if (er.code !== 'ENOENT') { + throw er + } + } +} + +function rmkidsSync (p, options) { + assert(p) + assert(options) + options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options)) + + if (isWindows) { + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + const startTime = Date.now() + do { + try { + const ret = options.rmdirSync(p, options) + return ret + } catch (er) { } + } while (Date.now() - startTime < 500) // give up after 500ms + } else { + const ret = options.rmdirSync(p, options) + return ret + } +} + +module.exports = rimraf +rimraf.sync = rimrafSync diff --git a/node_modules/fs-extra/lib/util/buffer.js b/node_modules/fs-extra/lib/util/buffer.js new file mode 100644 index 0000000..dabf288 --- /dev/null +++ b/node_modules/fs-extra/lib/util/buffer.js @@ -0,0 +1,12 @@ +'use strict' +/* eslint-disable node/no-deprecated-api */ +module.exports = function (size) { + if (typeof Buffer.allocUnsafe === 'function') { + try { + return Buffer.allocUnsafe(size) + } catch (e) { + return new Buffer(size) + } + } + return new Buffer(size) +} diff --git a/node_modules/fs-extra/lib/util/stat.js b/node_modules/fs-extra/lib/util/stat.js new file mode 100644 index 0000000..350cb9f --- /dev/null +++ b/node_modules/fs-extra/lib/util/stat.js @@ -0,0 +1,172 @@ +'use strict' + +const fs = require('graceful-fs') +const path = require('path') + +const NODE_VERSION_MAJOR_WITH_BIGINT = 10 +const NODE_VERSION_MINOR_WITH_BIGINT = 5 +const NODE_VERSION_PATCH_WITH_BIGINT = 0 +const nodeVersion = process.versions.node.split('.') +const nodeVersionMajor = Number.parseInt(nodeVersion[0], 10) +const nodeVersionMinor = Number.parseInt(nodeVersion[1], 10) +const nodeVersionPatch = Number.parseInt(nodeVersion[2], 10) + +function nodeSupportsBigInt () { + if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) { + return true + } else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) { + if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) { + return true + } else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) { + if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) { + return true + } + } + } + return false +} + +function getStats (src, dest, cb) { + if (nodeSupportsBigInt()) { + fs.stat(src, { bigint: true }, (err, srcStat) => { + if (err) return cb(err) + fs.stat(dest, { bigint: true }, (err, destStat) => { + if (err) { + if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null }) + return cb(err) + } + return cb(null, { srcStat, destStat }) + }) + }) + } else { + fs.stat(src, (err, srcStat) => { + if (err) return cb(err) + fs.stat(dest, (err, destStat) => { + if (err) { + if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null }) + return cb(err) + } + return cb(null, { srcStat, destStat }) + }) + }) + } +} + +function getStatsSync (src, dest) { + let srcStat, destStat + if (nodeSupportsBigInt()) { + srcStat = fs.statSync(src, { bigint: true }) + } else { + srcStat = fs.statSync(src) + } + try { + if (nodeSupportsBigInt()) { + destStat = fs.statSync(dest, { bigint: true }) + } else { + destStat = fs.statSync(dest) + } + } catch (err) { + if (err.code === 'ENOENT') return { srcStat, destStat: null } + throw err + } + return { srcStat, destStat } +} + +function checkPaths (src, dest, funcName, cb) { + getStats(src, dest, (err, stats) => { + if (err) return cb(err) + const { srcStat, destStat } = stats + if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error('Source and destination must not be the same.')) + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + return cb(new Error(errMsg(src, dest, funcName))) + } + return cb(null, { srcStat, destStat }) + }) +} + +function checkPathsSync (src, dest, funcName) { + const { srcStat, destStat } = getStatsSync(src, dest) + if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + throw new Error('Source and destination must not be the same.') + } + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + throw new Error(errMsg(src, dest, funcName)) + } + return { srcStat, destStat } +} + +// recursively check if dest parent is a subdirectory of src. +// It works for all file types including symlinks since it +// checks the src and dest inodes. It starts from the deepest +// parent and stops once it reaches the src parent or the root path. +function checkParentPaths (src, srcStat, dest, funcName, cb) { + const srcParent = path.resolve(path.dirname(src)) + const destParent = path.resolve(path.dirname(dest)) + if (destParent === srcParent || destParent === path.parse(destParent).root) return cb() + if (nodeSupportsBigInt()) { + fs.stat(destParent, { bigint: true }, (err, destStat) => { + if (err) { + if (err.code === 'ENOENT') return cb() + return cb(err) + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error(errMsg(src, dest, funcName))) + } + return checkParentPaths(src, srcStat, destParent, funcName, cb) + }) + } else { + fs.stat(destParent, (err, destStat) => { + if (err) { + if (err.code === 'ENOENT') return cb() + return cb(err) + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + return cb(new Error(errMsg(src, dest, funcName))) + } + return checkParentPaths(src, srcStat, destParent, funcName, cb) + }) + } +} + +function checkParentPathsSync (src, srcStat, dest, funcName) { + const srcParent = path.resolve(path.dirname(src)) + const destParent = path.resolve(path.dirname(dest)) + if (destParent === srcParent || destParent === path.parse(destParent).root) return + let destStat + try { + if (nodeSupportsBigInt()) { + destStat = fs.statSync(destParent, { bigint: true }) + } else { + destStat = fs.statSync(destParent) + } + } catch (err) { + if (err.code === 'ENOENT') return + throw err + } + if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) { + throw new Error(errMsg(src, dest, funcName)) + } + return checkParentPathsSync(src, srcStat, destParent, funcName) +} + +// return true if dest is a subdir of src, otherwise false. +// It only checks the path strings. +function isSrcSubdir (src, dest) { + const srcArr = path.resolve(src).split(path.sep).filter(i => i) + const destArr = path.resolve(dest).split(path.sep).filter(i => i) + return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true) +} + +function errMsg (src, dest, funcName) { + return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.` +} + +module.exports = { + checkPaths, + checkPathsSync, + checkParentPaths, + checkParentPathsSync, + isSrcSubdir +} diff --git a/node_modules/fs-extra/lib/util/utimes.js b/node_modules/fs-extra/lib/util/utimes.js new file mode 100644 index 0000000..8916a1b --- /dev/null +++ b/node_modules/fs-extra/lib/util/utimes.js @@ -0,0 +1,79 @@ +'use strict' + +const fs = require('graceful-fs') +const os = require('os') +const path = require('path') + +// HFS, ext{2,3}, FAT do not, Node.js v0.10 does not +function hasMillisResSync () { + let tmpfile = path.join('millis-test-sync' + Date.now().toString() + Math.random().toString().slice(2)) + tmpfile = path.join(os.tmpdir(), tmpfile) + + // 550 millis past UNIX epoch + const d = new Date(1435410243862) + fs.writeFileSync(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141') + const fd = fs.openSync(tmpfile, 'r+') + fs.futimesSync(fd, d, d) + fs.closeSync(fd) + return fs.statSync(tmpfile).mtime > 1435410243000 +} + +function hasMillisRes (callback) { + let tmpfile = path.join('millis-test' + Date.now().toString() + Math.random().toString().slice(2)) + tmpfile = path.join(os.tmpdir(), tmpfile) + + // 550 millis past UNIX epoch + const d = new Date(1435410243862) + fs.writeFile(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141', err => { + if (err) return callback(err) + fs.open(tmpfile, 'r+', (err, fd) => { + if (err) return callback(err) + fs.futimes(fd, d, d, err => { + if (err) return callback(err) + fs.close(fd, err => { + if (err) return callback(err) + fs.stat(tmpfile, (err, stats) => { + if (err) return callback(err) + callback(null, stats.mtime > 1435410243000) + }) + }) + }) + }) + }) +} + +function timeRemoveMillis (timestamp) { + if (typeof timestamp === 'number') { + return Math.floor(timestamp / 1000) * 1000 + } else if (timestamp instanceof Date) { + return new Date(Math.floor(timestamp.getTime() / 1000) * 1000) + } else { + throw new Error('fs-extra: timeRemoveMillis() unknown parameter type') + } +} + +function utimesMillis (path, atime, mtime, callback) { + // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback) + fs.open(path, 'r+', (err, fd) => { + if (err) return callback(err) + fs.futimes(fd, atime, mtime, futimesErr => { + fs.close(fd, closeErr => { + if (callback) callback(futimesErr || closeErr) + }) + }) + }) +} + +function utimesMillisSync (path, atime, mtime) { + const fd = fs.openSync(path, 'r+') + fs.futimesSync(fd, atime, mtime) + return fs.closeSync(fd) +} + +module.exports = { + hasMillisRes, + hasMillisResSync, + timeRemoveMillis, + utimesMillis, + utimesMillisSync +} diff --git a/node_modules/fs-extra/package.json b/node_modules/fs-extra/package.json new file mode 100644 index 0000000..13d3c6e --- /dev/null +++ b/node_modules/fs-extra/package.json @@ -0,0 +1,101 @@ +{ + "_from": "fs-extra", + "_id": "fs-extra@8.1.0", + "_inBundle": false, + "_integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "_location": "/fs-extra", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "fs-extra", + "name": "fs-extra", + "escapedName": "fs-extra", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "_shasum": "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0", + "_spec": "fs-extra", + "_where": "D:\\GitHub\\Gallery", + "author": { + "name": "JP Richardson", + "email": "jprichardson@gmail.com" + }, + "bugs": { + "url": "https://github.com/jprichardson/node-fs-extra/issues" + }, + "bundleDependencies": false, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "deprecated": false, + "description": "fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.", + "devDependencies": { + "coveralls": "^3.0.0", + "istanbul": "^0.4.5", + "klaw": "^2.1.1", + "klaw-sync": "^3.0.2", + "minimist": "^1.1.1", + "mocha": "^5.0.5", + "proxyquire": "^2.0.1", + "read-dir-files": "^0.1.1", + "semver": "^5.3.0", + "standard": "^12.0.1" + }, + "engines": { + "node": ">=6 <7 || >=8" + }, + "files": [ + "lib/", + "!lib/**/__tests__/" + ], + "homepage": "https://github.com/jprichardson/node-fs-extra", + "keywords": [ + "fs", + "file", + "file system", + "copy", + "directory", + "extra", + "mkdirp", + "mkdir", + "mkdirs", + "recursive", + "json", + "read", + "write", + "extra", + "delete", + "remove", + "touch", + "create", + "text", + "output", + "move" + ], + "license": "MIT", + "main": "./lib/index.js", + "name": "fs-extra", + "repository": { + "type": "git", + "url": "git+https://github.com/jprichardson/node-fs-extra.git" + }, + "scripts": { + "coverage": "istanbul cover -i 'lib/**' -x '**/__tests__/**' test.js", + "coveralls": "coveralls < coverage/lcov.info", + "full-ci": "npm run lint && npm run coverage", + "lint": "standard", + "test": "npm run lint && npm run unit", + "test-find": "find ./lib/**/__tests__ -name *.test.js | xargs mocha", + "unit": "node test.js" + }, + "version": "8.1.0" +} diff --git a/node_modules/graceful-fs/LICENSE b/node_modules/graceful-fs/LICENSE new file mode 100644 index 0000000..9d2c803 --- /dev/null +++ b/node_modules/graceful-fs/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/graceful-fs/README.md b/node_modules/graceful-fs/README.md new file mode 100644 index 0000000..5273a50 --- /dev/null +++ b/node_modules/graceful-fs/README.md @@ -0,0 +1,133 @@ +# graceful-fs + +graceful-fs functions as a drop-in replacement for the fs module, +making various improvements. + +The improvements are meant to normalize behavior across different +platforms and environments, and to make filesystem access more +resilient to errors. + +## Improvements over [fs module](https://nodejs.org/api/fs.html) + +* Queues up `open` and `readdir` calls, and retries them once + something closes if there is an EMFILE error from too many file + descriptors. +* fixes `lchmod` for Node versions prior to 0.6.2. +* implements `fs.lutimes` if possible. Otherwise it becomes a noop. +* ignores `EINVAL` and `EPERM` errors in `chown`, `fchown` or + `lchown` if the user isn't root. +* makes `lchmod` and `lchown` become noops, if not available. +* retries reading a file if `read` results in EAGAIN error. + +On Windows, it retries renaming a file for up to one second if `EACCESS` +or `EPERM` error occurs, likely because antivirus software has locked +the directory. + +## USAGE + +```javascript +// use just like fs +var fs = require('graceful-fs') + +// now go and do stuff with it... +fs.readFileSync('some-file-or-whatever') +``` + +## Global Patching + +If you want to patch the global fs module (or any other fs-like +module) you can do this: + +```javascript +// Make sure to read the caveat below. +var realFs = require('fs') +var gracefulFs = require('graceful-fs') +gracefulFs.gracefulify(realFs) +``` + +This should only ever be done at the top-level application layer, in +order to delay on EMFILE errors from any fs-using dependencies. You +should **not** do this in a library, because it can cause unexpected +delays in other parts of the program. + +## Changes + +This module is fairly stable at this point, and used by a lot of +things. That being said, because it implements a subtle behavior +change in a core part of the node API, even modest changes can be +extremely breaking, and the versioning is thus biased towards +bumping the major when in doubt. + +The main change between major versions has been switching between +providing a fully-patched `fs` module vs monkey-patching the node core +builtin, and the approach by which a non-monkey-patched `fs` was +created. + +The goal is to trade `EMFILE` errors for slower fs operations. So, if +you try to open a zillion files, rather than crashing, `open` +operations will be queued up and wait for something else to `close`. + +There are advantages to each approach. Monkey-patching the fs means +that no `EMFILE` errors can possibly occur anywhere in your +application, because everything is using the same core `fs` module, +which is patched. However, it can also obviously cause undesirable +side-effects, especially if the module is loaded multiple times. + +Implementing a separate-but-identical patched `fs` module is more +surgical (and doesn't run the risk of patching multiple times), but +also imposes the challenge of keeping in sync with the core module. + +The current approach loads the `fs` module, and then creates a +lookalike object that has all the same methods, except a few that are +patched. It is safe to use in all versions of Node from 0.8 through +7.0. + +### v4 + +* Do not monkey-patch the fs module. This module may now be used as a + drop-in dep, and users can opt into monkey-patching the fs builtin + if their app requires it. + +### v3 + +* Monkey-patch fs, because the eval approach no longer works on recent + node. +* fixed possible type-error throw if rename fails on windows +* verify that we *never* get EMFILE errors +* Ignore ENOSYS from chmod/chown +* clarify that graceful-fs must be used as a drop-in + +### v2.1.0 + +* Use eval rather than monkey-patching fs. +* readdir: Always sort the results +* win32: requeue a file if error has an OK status + +### v2.0 + +* A return to monkey patching +* wrap process.cwd + +### v1.1 + +* wrap readFile +* Wrap fs.writeFile. +* readdir protection +* Don't clobber the fs builtin +* Handle fs.read EAGAIN errors by trying again +* Expose the curOpen counter +* No-op lchown/lchmod if not implemented +* fs.rename patch only for win32 +* Patch fs.rename to handle AV software on Windows +* Close #4 Chown should not fail on einval or eperm if non-root +* Fix isaacs/fstream#1 Only wrap fs one time +* Fix #3 Start at 1024 max files, then back off on EMFILE +* lutimes that doens't blow up on Linux +* A full on-rewrite using a queue instead of just swallowing the EMFILE error +* Wrap Read/Write streams as well + +### 1.0 + +* Update engines for node 0.6 +* Be lstat-graceful on Windows +* first diff --git a/node_modules/graceful-fs/clone.js b/node_modules/graceful-fs/clone.js new file mode 100644 index 0000000..028356c --- /dev/null +++ b/node_modules/graceful-fs/clone.js @@ -0,0 +1,19 @@ +'use strict' + +module.exports = clone + +function clone (obj) { + if (obj === null || typeof obj !== 'object') + return obj + + if (obj instanceof Object) + var copy = { __proto__: obj.__proto__ } + else + var copy = Object.create(null) + + Object.getOwnPropertyNames(obj).forEach(function (key) { + Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key)) + }) + + return copy +} diff --git a/node_modules/graceful-fs/graceful-fs.js b/node_modules/graceful-fs/graceful-fs.js new file mode 100644 index 0000000..8c75ee2 --- /dev/null +++ b/node_modules/graceful-fs/graceful-fs.js @@ -0,0 +1,346 @@ +var fs = require('fs') +var polyfills = require('./polyfills.js') +var legacy = require('./legacy-streams.js') +var clone = require('./clone.js') + +var util = require('util') + +/* istanbul ignore next - node 0.x polyfill */ +var gracefulQueue +var previousSymbol + +/* istanbul ignore else - node 0.x polyfill */ +if (typeof Symbol === 'function' && typeof Symbol.for === 'function') { + gracefulQueue = Symbol.for('graceful-fs.queue') + // This is used in testing by future versions + previousSymbol = Symbol.for('graceful-fs.previous') +} else { + gracefulQueue = '___graceful-fs.queue' + previousSymbol = '___graceful-fs.previous' +} + +function noop () {} + +var debug = noop +if (util.debuglog) + debug = util.debuglog('gfs4') +else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) + debug = function() { + var m = util.format.apply(util, arguments) + m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') + console.error(m) + } + +// Once time initialization +if (!global[gracefulQueue]) { + // This queue can be shared by multiple loaded instances + var queue = [] + Object.defineProperty(global, gracefulQueue, { + get: function() { + return queue + } + }) + + // Patch fs.close/closeSync to shared queue version, because we need + // to retry() whenever a close happens *anywhere* in the program. + // This is essential when multiple graceful-fs instances are + // in play at the same time. + fs.close = (function (fs$close) { + function close (fd, cb) { + return fs$close.call(fs, fd, function (err) { + // This function uses the graceful-fs shared queue + if (!err) { + retry() + } + + if (typeof cb === 'function') + cb.apply(this, arguments) + }) + } + + Object.defineProperty(close, previousSymbol, { + value: fs$close + }) + return close + })(fs.close) + + fs.closeSync = (function (fs$closeSync) { + function closeSync (fd) { + // This function uses the graceful-fs shared queue + fs$closeSync.apply(fs, arguments) + retry() + } + + Object.defineProperty(closeSync, previousSymbol, { + value: fs$closeSync + }) + return closeSync + })(fs.closeSync) + + if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { + process.on('exit', function() { + debug(global[gracefulQueue]) + require('assert').equal(global[gracefulQueue].length, 0) + }) + } +} + +module.exports = patch(clone(fs)) +if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) { + module.exports = patch(fs) + fs.__patched = true; +} + +function patch (fs) { + // Everything that references the open() function needs to be in here + polyfills(fs) + fs.gracefulify = patch + + fs.createReadStream = createReadStream + fs.createWriteStream = createWriteStream + var fs$readFile = fs.readFile + fs.readFile = readFile + function readFile (path, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$readFile(path, options, cb) + + function go$readFile (path, options, cb) { + return fs$readFile(path, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$readFile, [path, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$writeFile = fs.writeFile + fs.writeFile = writeFile + function writeFile (path, data, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$writeFile(path, data, options, cb) + + function go$writeFile (path, data, options, cb) { + return fs$writeFile(path, data, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$writeFile, [path, data, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$appendFile = fs.appendFile + if (fs$appendFile) + fs.appendFile = appendFile + function appendFile (path, data, options, cb) { + if (typeof options === 'function') + cb = options, options = null + + return go$appendFile(path, data, options, cb) + + function go$appendFile (path, data, options, cb) { + return fs$appendFile(path, data, options, function (err) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$appendFile, [path, data, options, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + var fs$readdir = fs.readdir + fs.readdir = readdir + function readdir (path, options, cb) { + var args = [path] + if (typeof options !== 'function') { + args.push(options) + } else { + cb = options + } + args.push(go$readdir$cb) + + return go$readdir(args) + + function go$readdir$cb (err, files) { + if (files && files.sort) + files.sort() + + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$readdir, [args]]) + + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + } + } + + function go$readdir (args) { + return fs$readdir.apply(fs, args) + } + + if (process.version.substr(0, 4) === 'v0.8') { + var legStreams = legacy(fs) + ReadStream = legStreams.ReadStream + WriteStream = legStreams.WriteStream + } + + var fs$ReadStream = fs.ReadStream + if (fs$ReadStream) { + ReadStream.prototype = Object.create(fs$ReadStream.prototype) + ReadStream.prototype.open = ReadStream$open + } + + var fs$WriteStream = fs.WriteStream + if (fs$WriteStream) { + WriteStream.prototype = Object.create(fs$WriteStream.prototype) + WriteStream.prototype.open = WriteStream$open + } + + Object.defineProperty(fs, 'ReadStream', { + get: function () { + return ReadStream + }, + set: function (val) { + ReadStream = val + }, + enumerable: true, + configurable: true + }) + Object.defineProperty(fs, 'WriteStream', { + get: function () { + return WriteStream + }, + set: function (val) { + WriteStream = val + }, + enumerable: true, + configurable: true + }) + + // legacy names + var FileReadStream = ReadStream + Object.defineProperty(fs, 'FileReadStream', { + get: function () { + return FileReadStream + }, + set: function (val) { + FileReadStream = val + }, + enumerable: true, + configurable: true + }) + var FileWriteStream = WriteStream + Object.defineProperty(fs, 'FileWriteStream', { + get: function () { + return FileWriteStream + }, + set: function (val) { + FileWriteStream = val + }, + enumerable: true, + configurable: true + }) + + function ReadStream (path, options) { + if (this instanceof ReadStream) + return fs$ReadStream.apply(this, arguments), this + else + return ReadStream.apply(Object.create(ReadStream.prototype), arguments) + } + + function ReadStream$open () { + var that = this + open(that.path, that.flags, that.mode, function (err, fd) { + if (err) { + if (that.autoClose) + that.destroy() + + that.emit('error', err) + } else { + that.fd = fd + that.emit('open', fd) + that.read() + } + }) + } + + function WriteStream (path, options) { + if (this instanceof WriteStream) + return fs$WriteStream.apply(this, arguments), this + else + return WriteStream.apply(Object.create(WriteStream.prototype), arguments) + } + + function WriteStream$open () { + var that = this + open(that.path, that.flags, that.mode, function (err, fd) { + if (err) { + that.destroy() + that.emit('error', err) + } else { + that.fd = fd + that.emit('open', fd) + } + }) + } + + function createReadStream (path, options) { + return new fs.ReadStream(path, options) + } + + function createWriteStream (path, options) { + return new fs.WriteStream(path, options) + } + + var fs$open = fs.open + fs.open = open + function open (path, flags, mode, cb) { + if (typeof mode === 'function') + cb = mode, mode = null + + return go$open(path, flags, mode, cb) + + function go$open (path, flags, mode, cb) { + return fs$open(path, flags, mode, function (err, fd) { + if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) + enqueue([go$open, [path, flags, mode, cb]]) + else { + if (typeof cb === 'function') + cb.apply(this, arguments) + retry() + } + }) + } + } + + return fs +} + +function enqueue (elem) { + debug('ENQUEUE', elem[0].name, elem[1]) + global[gracefulQueue].push(elem) +} + +function retry () { + var elem = global[gracefulQueue].shift() + if (elem) { + debug('RETRY', elem[0].name, elem[1]) + elem[0].apply(null, elem[1]) + } +} diff --git a/node_modules/graceful-fs/legacy-streams.js b/node_modules/graceful-fs/legacy-streams.js new file mode 100644 index 0000000..d617b50 --- /dev/null +++ b/node_modules/graceful-fs/legacy-streams.js @@ -0,0 +1,118 @@ +var Stream = require('stream').Stream + +module.exports = legacy + +function legacy (fs) { + return { + ReadStream: ReadStream, + WriteStream: WriteStream + } + + function ReadStream (path, options) { + if (!(this instanceof ReadStream)) return new ReadStream(path, options); + + Stream.call(this); + + var self = this; + + this.path = path; + this.fd = null; + this.readable = true; + this.paused = false; + + this.flags = 'r'; + this.mode = 438; /*=0666*/ + this.bufferSize = 64 * 1024; + + options = options || {}; + + // Mixin options into this + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + + if (this.encoding) this.setEncoding(this.encoding); + + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.end === undefined) { + this.end = Infinity; + } else if ('number' !== typeof this.end) { + throw TypeError('end must be a Number'); + } + + if (this.start > this.end) { + throw new Error('start must be <= end'); + } + + this.pos = this.start; + } + + if (this.fd !== null) { + process.nextTick(function() { + self._read(); + }); + return; + } + + fs.open(this.path, this.flags, this.mode, function (err, fd) { + if (err) { + self.emit('error', err); + self.readable = false; + return; + } + + self.fd = fd; + self.emit('open', fd); + self._read(); + }) + } + + function WriteStream (path, options) { + if (!(this instanceof WriteStream)) return new WriteStream(path, options); + + Stream.call(this); + + this.path = path; + this.fd = null; + this.writable = true; + + this.flags = 'w'; + this.encoding = 'binary'; + this.mode = 438; /*=0666*/ + this.bytesWritten = 0; + + options = options || {}; + + // Mixin options into this + var keys = Object.keys(options); + for (var index = 0, length = keys.length; index < length; index++) { + var key = keys[index]; + this[key] = options[key]; + } + + if (this.start !== undefined) { + if ('number' !== typeof this.start) { + throw TypeError('start must be a Number'); + } + if (this.start < 0) { + throw new Error('start must be >= zero'); + } + + this.pos = this.start; + } + + this.busy = false; + this._queue = []; + + if (this.fd === null) { + this._open = fs.open; + this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); + this.flush(); + } + } +} diff --git a/node_modules/graceful-fs/package.json b/node_modules/graceful-fs/package.json new file mode 100644 index 0000000..c473fb1 --- /dev/null +++ b/node_modules/graceful-fs/package.json @@ -0,0 +1,80 @@ +{ + "_from": "graceful-fs@^4.2.0", + "_id": "graceful-fs@4.2.3", + "_inBundle": false, + "_integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "_location": "/graceful-fs", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "graceful-fs@^4.2.0", + "name": "graceful-fs", + "escapedName": "graceful-fs", + "rawSpec": "^4.2.0", + "saveSpec": null, + "fetchSpec": "^4.2.0" + }, + "_requiredBy": [ + "/fs-extra", + "/jsonfile" + ], + "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "_shasum": "4a12ff1b60376ef09862c2093edd908328be8423", + "_spec": "graceful-fs@^4.2.0", + "_where": "D:\\GitHub\\Gallery\\node_modules\\fs-extra", + "bugs": { + "url": "https://github.com/isaacs/node-graceful-fs/issues" + }, + "bundleDependencies": false, + "dependencies": {}, + "deprecated": false, + "description": "A drop-in replacement for fs, making various improvements.", + "devDependencies": { + "import-fresh": "^2.0.0", + "mkdirp": "^0.5.0", + "rimraf": "^2.2.8", + "tap": "^12.7.0" + }, + "directories": { + "test": "test" + }, + "files": [ + "fs.js", + "graceful-fs.js", + "legacy-streams.js", + "polyfills.js", + "clone.js" + ], + "homepage": "https://github.com/isaacs/node-graceful-fs#readme", + "keywords": [ + "fs", + "module", + "reading", + "retry", + "retries", + "queue", + "error", + "errors", + "handling", + "EMFILE", + "EAGAIN", + "EINVAL", + "EPERM", + "EACCESS" + ], + "license": "ISC", + "main": "graceful-fs.js", + "name": "graceful-fs", + "repository": { + "type": "git", + "url": "git+https://github.com/isaacs/node-graceful-fs.git" + }, + "scripts": { + "postpublish": "git push origin --follow-tags", + "postversion": "npm publish", + "preversion": "npm test", + "test": "node test.js | tap -" + }, + "version": "4.2.3" +} diff --git a/node_modules/graceful-fs/polyfills.js b/node_modules/graceful-fs/polyfills.js new file mode 100644 index 0000000..a5808d2 --- /dev/null +++ b/node_modules/graceful-fs/polyfills.js @@ -0,0 +1,342 @@ +var constants = require('constants') + +var origCwd = process.cwd +var cwd = null + +var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform + +process.cwd = function() { + if (!cwd) + cwd = origCwd.call(process) + return cwd +} +try { + process.cwd() +} catch (er) {} + +var chdir = process.chdir +process.chdir = function(d) { + cwd = null + chdir.call(process, d) +} + +module.exports = patch + +function patch (fs) { + // (re-)implement some things that are known busted or missing. + + // lchmod, broken prior to 0.6.2 + // back-port the fix here. + if (constants.hasOwnProperty('O_SYMLINK') && + process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { + patchLchmod(fs) + } + + // lutimes implementation, or no-op + if (!fs.lutimes) { + patchLutimes(fs) + } + + // https://github.com/isaacs/node-graceful-fs/issues/4 + // Chown should not fail on einval or eperm if non-root. + // It should not fail on enosys ever, as this just indicates + // that a fs doesn't support the intended operation. + + fs.chown = chownFix(fs.chown) + fs.fchown = chownFix(fs.fchown) + fs.lchown = chownFix(fs.lchown) + + fs.chmod = chmodFix(fs.chmod) + fs.fchmod = chmodFix(fs.fchmod) + fs.lchmod = chmodFix(fs.lchmod) + + fs.chownSync = chownFixSync(fs.chownSync) + fs.fchownSync = chownFixSync(fs.fchownSync) + fs.lchownSync = chownFixSync(fs.lchownSync) + + fs.chmodSync = chmodFixSync(fs.chmodSync) + fs.fchmodSync = chmodFixSync(fs.fchmodSync) + fs.lchmodSync = chmodFixSync(fs.lchmodSync) + + fs.stat = statFix(fs.stat) + fs.fstat = statFix(fs.fstat) + fs.lstat = statFix(fs.lstat) + + fs.statSync = statFixSync(fs.statSync) + fs.fstatSync = statFixSync(fs.fstatSync) + fs.lstatSync = statFixSync(fs.lstatSync) + + // if lchmod/lchown do not exist, then make them no-ops + if (!fs.lchmod) { + fs.lchmod = function (path, mode, cb) { + if (cb) process.nextTick(cb) + } + fs.lchmodSync = function () {} + } + if (!fs.lchown) { + fs.lchown = function (path, uid, gid, cb) { + if (cb) process.nextTick(cb) + } + fs.lchownSync = function () {} + } + + // on Windows, A/V software can lock the directory, causing this + // to fail with an EACCES or EPERM if the directory contains newly + // created files. Try again on failure, for up to 60 seconds. + + // Set the timeout this long because some Windows Anti-Virus, such as Parity + // bit9, may lock files for up to a minute, causing npm package install + // failures. Also, take care to yield the scheduler. Windows scheduling gives + // CPU to a busy looping process, which can cause the program causing the lock + // contention to be starved of CPU by node, so the contention doesn't resolve. + if (platform === "win32") { + fs.rename = (function (fs$rename) { return function (from, to, cb) { + var start = Date.now() + var backoff = 0; + fs$rename(from, to, function CB (er) { + if (er + && (er.code === "EACCES" || er.code === "EPERM") + && Date.now() - start < 60000) { + setTimeout(function() { + fs.stat(to, function (stater, st) { + if (stater && stater.code === "ENOENT") + fs$rename(from, to, CB); + else + cb(er) + }) + }, backoff) + if (backoff < 100) + backoff += 10; + return; + } + if (cb) cb(er) + }) + }})(fs.rename) + } + + // if read() returns EAGAIN, then just try it again. + fs.read = (function (fs$read) { + function read (fd, buffer, offset, length, position, callback_) { + var callback + if (callback_ && typeof callback_ === 'function') { + var eagCounter = 0 + callback = function (er, _, __) { + if (er && er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + return fs$read.call(fs, fd, buffer, offset, length, position, callback) + } + callback_.apply(this, arguments) + } + } + return fs$read.call(fs, fd, buffer, offset, length, position, callback) + } + + // This ensures `util.promisify` works as it does for native `fs.read`. + read.__proto__ = fs$read + return read + })(fs.read) + + fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { + var eagCounter = 0 + while (true) { + try { + return fs$readSync.call(fs, fd, buffer, offset, length, position) + } catch (er) { + if (er.code === 'EAGAIN' && eagCounter < 10) { + eagCounter ++ + continue + } + throw er + } + } + }})(fs.readSync) + + function patchLchmod (fs) { + fs.lchmod = function (path, mode, callback) { + fs.open( path + , constants.O_WRONLY | constants.O_SYMLINK + , mode + , function (err, fd) { + if (err) { + if (callback) callback(err) + return + } + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + fs.fchmod(fd, mode, function (err) { + fs.close(fd, function(err2) { + if (callback) callback(err || err2) + }) + }) + }) + } + + fs.lchmodSync = function (path, mode) { + var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) + + // prefer to return the chmod error, if one occurs, + // but still try to close, and report closing errors if they occur. + var threw = true + var ret + try { + ret = fs.fchmodSync(fd, mode) + threw = false + } finally { + if (threw) { + try { + fs.closeSync(fd) + } catch (er) {} + } else { + fs.closeSync(fd) + } + } + return ret + } + } + + function patchLutimes (fs) { + if (constants.hasOwnProperty("O_SYMLINK")) { + fs.lutimes = function (path, at, mt, cb) { + fs.open(path, constants.O_SYMLINK, function (er, fd) { + if (er) { + if (cb) cb(er) + return + } + fs.futimes(fd, at, mt, function (er) { + fs.close(fd, function (er2) { + if (cb) cb(er || er2) + }) + }) + }) + } + + fs.lutimesSync = function (path, at, mt) { + var fd = fs.openSync(path, constants.O_SYMLINK) + var ret + var threw = true + try { + ret = fs.futimesSync(fd, at, mt) + threw = false + } finally { + if (threw) { + try { + fs.closeSync(fd) + } catch (er) {} + } else { + fs.closeSync(fd) + } + } + return ret + } + + } else { + fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } + fs.lutimesSync = function () {} + } + } + + function chmodFix (orig) { + if (!orig) return orig + return function (target, mode, cb) { + return orig.call(fs, target, mode, function (er) { + if (chownErOk(er)) er = null + if (cb) cb.apply(this, arguments) + }) + } + } + + function chmodFixSync (orig) { + if (!orig) return orig + return function (target, mode) { + try { + return orig.call(fs, target, mode) + } catch (er) { + if (!chownErOk(er)) throw er + } + } + } + + + function chownFix (orig) { + if (!orig) return orig + return function (target, uid, gid, cb) { + return orig.call(fs, target, uid, gid, function (er) { + if (chownErOk(er)) er = null + if (cb) cb.apply(this, arguments) + }) + } + } + + function chownFixSync (orig) { + if (!orig) return orig + return function (target, uid, gid) { + try { + return orig.call(fs, target, uid, gid) + } catch (er) { + if (!chownErOk(er)) throw er + } + } + } + + function statFix (orig) { + if (!orig) return orig + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function (target, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + function callback (er, stats) { + if (stats) { + if (stats.uid < 0) stats.uid += 0x100000000 + if (stats.gid < 0) stats.gid += 0x100000000 + } + if (cb) cb.apply(this, arguments) + } + return options ? orig.call(fs, target, options, callback) + : orig.call(fs, target, callback) + } + } + + function statFixSync (orig) { + if (!orig) return orig + // Older versions of Node erroneously returned signed integers for + // uid + gid. + return function (target, options) { + var stats = options ? orig.call(fs, target, options) + : orig.call(fs, target) + if (stats.uid < 0) stats.uid += 0x100000000 + if (stats.gid < 0) stats.gid += 0x100000000 + return stats; + } + } + + // ENOSYS means that the fs doesn't support the op. Just ignore + // that, because it doesn't matter. + // + // if there's no getuid, or if getuid() is something other + // than 0, and the error is EINVAL or EPERM, then just ignore + // it. + // + // This specific case is a silent failure in cp, install, tar, + // and most other unix tools that manage permissions. + // + // When running as root, or if other types of errors are + // encountered, then it's strict. + function chownErOk (er) { + if (!er) + return true + + if (er.code === "ENOSYS") + return true + + var nonroot = !process.getuid || process.getuid() !== 0 + if (nonroot) { + if (er.code === "EINVAL" || er.code === "EPERM") + return true + } + + return false + } +} diff --git a/node_modules/jsonfile/CHANGELOG.md b/node_modules/jsonfile/CHANGELOG.md new file mode 100644 index 0000000..7718857 --- /dev/null +++ b/node_modules/jsonfile/CHANGELOG.md @@ -0,0 +1,145 @@ +4.0.0 / 2017-07-12 +------------------ + +- **BREAKING:** Remove global `spaces` option. +- **BREAKING:** Drop support for Node 0.10, 0.12, and io.js. +- Remove undocumented `passParsingErrors` option. +- Added `EOL` override option to `writeFile` when using `spaces`. [#89] + +3.0.1 / 2017-07-05 +------------------ + +- Fixed bug in `writeFile` when there was a serialization error & no callback was passed. In previous versions, an empty file would be written; now no file is written. + +3.0.0 / 2017-04-25 +------------------ + +- Changed behavior of `throws` option for `readFileSync`; now does not throw filesystem errors when `throws` is `false` + +2.4.0 / 2016-09-15 +------------------ +### Changed +- added optional support for `graceful-fs` [#62] + +2.3.1 / 2016-05-13 +------------------ +- fix to support BOM. [#45][#45] + +2.3.0 / 2016-04-16 +------------------ +- add `throws` to `readFile()`. See [#39][#39] +- add support for any arbitrary `fs` module. Useful with [mock-fs](https://www.npmjs.com/package/mock-fs) + +2.2.3 / 2015-10-14 +------------------ +- include file name in parse error. See: https://github.com/jprichardson/node-jsonfile/pull/34 + +2.2.2 / 2015-09-16 +------------------ +- split out tests into separate files +- fixed `throws` when set to `true` in `readFileSync()`. See: https://github.com/jprichardson/node-jsonfile/pull/33 + +2.2.1 / 2015-06-25 +------------------ +- fixed regression when passing in string as encoding for options in `writeFile()` and `writeFileSync()`. See: https://github.com/jprichardson/node-jsonfile/issues/28 + +2.2.0 / 2015-06-25 +------------------ +- added `options.spaces` to `writeFile()` and `writeFileSync()` + +2.1.2 / 2015-06-22 +------------------ +- fixed if passed `readFileSync(file, 'utf8')`. See: https://github.com/jprichardson/node-jsonfile/issues/25 + +2.1.1 / 2015-06-19 +------------------ +- fixed regressions if `null` is passed for options. See: https://github.com/jprichardson/node-jsonfile/issues/24 + +2.1.0 / 2015-06-19 +------------------ +- cleanup: JavaScript Standard Style, rename files, dropped terst for assert +- methods now support JSON revivers/replacers + +2.0.1 / 2015-05-24 +------------------ +- update license attribute https://github.com/jprichardson/node-jsonfile/pull/21 + +2.0.0 / 2014-07-28 +------------------ +* added `\n` to end of file on write. [#14](https://github.com/jprichardson/node-jsonfile/pull/14) +* added `options.throws` to `readFileSync()` +* dropped support for Node v0.8 + +1.2.0 / 2014-06-29 +------------------ +* removed semicolons +* bugfix: passed `options` to `fs.readFile` and `fs.readFileSync`. This technically changes behavior, but +changes it according to docs. [#12][#12] + +1.1.1 / 2013-11-11 +------------------ +* fixed catching of callback bug (ffissore / #5) + +1.1.0 / 2013-10-11 +------------------ +* added `options` param to methods, (seanodell / #4) + +1.0.1 / 2013-09-05 +------------------ +* removed `homepage` field from package.json to remove NPM warning + +1.0.0 / 2013-06-28 +------------------ +* added `.npmignore`, #1 +* changed spacing default from `4` to `2` to follow Node conventions + +0.0.1 / 2012-09-10 +------------------ +* Initial release. + +[#89]: https://github.com/jprichardson/node-jsonfile/pull/89 +[#45]: https://github.com/jprichardson/node-jsonfile/issues/45 "Reading of UTF8-encoded (w/ BOM) files fails" +[#44]: https://github.com/jprichardson/node-jsonfile/issues/44 "Extra characters in written file" +[#43]: https://github.com/jprichardson/node-jsonfile/issues/43 "Prettyfy json when written to file" +[#42]: https://github.com/jprichardson/node-jsonfile/pull/42 "Moved fs.readFileSync within the try/catch" +[#41]: https://github.com/jprichardson/node-jsonfile/issues/41 "Linux: Hidden file not working" +[#40]: https://github.com/jprichardson/node-jsonfile/issues/40 "autocreate folder doesn't work from Path-value" +[#39]: https://github.com/jprichardson/node-jsonfile/pull/39 "Add `throws` option for readFile (async)" +[#38]: https://github.com/jprichardson/node-jsonfile/pull/38 "Update README.md writeFile[Sync] signature" +[#37]: https://github.com/jprichardson/node-jsonfile/pull/37 "support append file" +[#36]: https://github.com/jprichardson/node-jsonfile/pull/36 "Add typescript definition file." +[#35]: https://github.com/jprichardson/node-jsonfile/pull/35 "Add typescript definition file." +[#34]: https://github.com/jprichardson/node-jsonfile/pull/34 "readFile JSON parse error includes filename" +[#33]: https://github.com/jprichardson/node-jsonfile/pull/33 "fix throw->throws typo in readFileSync()" +[#32]: https://github.com/jprichardson/node-jsonfile/issues/32 "readFile & readFileSync can possible have strip-comments as an option?" +[#31]: https://github.com/jprichardson/node-jsonfile/pull/31 "[Modify] Support string include is unicode escape string" +[#30]: https://github.com/jprichardson/node-jsonfile/issues/30 "How to use Jsonfile package in Meteor.js App?" +[#29]: https://github.com/jprichardson/node-jsonfile/issues/29 "writefile callback if no error?" +[#28]: https://github.com/jprichardson/node-jsonfile/issues/28 "writeFile options argument broken " +[#27]: https://github.com/jprichardson/node-jsonfile/pull/27 "Use svg instead of png to get better image quality" +[#26]: https://github.com/jprichardson/node-jsonfile/issues/26 "Breaking change to fs-extra" +[#25]: https://github.com/jprichardson/node-jsonfile/issues/25 "support string encoding param for read methods" +[#24]: https://github.com/jprichardson/node-jsonfile/issues/24 "readFile: Passing in null options with a callback throws an error" +[#23]: https://github.com/jprichardson/node-jsonfile/pull/23 "Add appendFile and appendFileSync" +[#22]: https://github.com/jprichardson/node-jsonfile/issues/22 "Default value for spaces in readme.md is outdated" +[#21]: https://github.com/jprichardson/node-jsonfile/pull/21 "Update license attribute" +[#20]: https://github.com/jprichardson/node-jsonfile/issues/20 "Add simple caching functionallity" +[#19]: https://github.com/jprichardson/node-jsonfile/pull/19 "Add appendFileSync method" +[#18]: https://github.com/jprichardson/node-jsonfile/issues/18 "Add updateFile and updateFileSync methods" +[#17]: https://github.com/jprichardson/node-jsonfile/issues/17 "seem read & write sync has sequentially problem" +[#16]: https://github.com/jprichardson/node-jsonfile/pull/16 "export spaces defaulted to null" +[#15]: https://github.com/jprichardson/node-jsonfile/issues/15 "`jsonfile.spaces` should default to `null`" +[#14]: https://github.com/jprichardson/node-jsonfile/pull/14 "Add EOL at EOF" +[#13]: https://github.com/jprichardson/node-jsonfile/issues/13 "Add a final newline" +[#12]: https://github.com/jprichardson/node-jsonfile/issues/12 "readFile doesn't accept options" +[#11]: https://github.com/jprichardson/node-jsonfile/pull/11 "Added try,catch to readFileSync" +[#10]: https://github.com/jprichardson/node-jsonfile/issues/10 "No output or error from writeFile" +[#9]: https://github.com/jprichardson/node-jsonfile/pull/9 "Change 'js' to 'jf' in example." +[#8]: https://github.com/jprichardson/node-jsonfile/pull/8 "Updated forgotten module.exports to me." +[#7]: https://github.com/jprichardson/node-jsonfile/pull/7 "Add file name in error message" +[#6]: https://github.com/jprichardson/node-jsonfile/pull/6 "Use graceful-fs when possible" +[#5]: https://github.com/jprichardson/node-jsonfile/pull/5 "Jsonfile doesn't behave nicely when used inside a test suite." +[#4]: https://github.com/jprichardson/node-jsonfile/pull/4 "Added options parameter to writeFile and writeFileSync" +[#3]: https://github.com/jprichardson/node-jsonfile/issues/3 "test2" +[#2]: https://github.com/jprichardson/node-jsonfile/issues/2 "homepage field must be a string url. Deleted." +[#1]: https://github.com/jprichardson/node-jsonfile/pull/1 "adding an `.npmignore` file" diff --git a/node_modules/jsonfile/LICENSE b/node_modules/jsonfile/LICENSE new file mode 100644 index 0000000..cb7e807 --- /dev/null +++ b/node_modules/jsonfile/LICENSE @@ -0,0 +1,15 @@ +(The MIT License) + +Copyright (c) 2012-2015, JP Richardson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files +(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/jsonfile/README.md b/node_modules/jsonfile/README.md new file mode 100644 index 0000000..721685c --- /dev/null +++ b/node_modules/jsonfile/README.md @@ -0,0 +1,168 @@ +Node.js - jsonfile +================ + +Easily read/write JSON files. + +[![npm Package](https://img.shields.io/npm/v/jsonfile.svg?style=flat-square)](https://www.npmjs.org/package/jsonfile) +[![build status](https://secure.travis-ci.org/jprichardson/node-jsonfile.svg)](http://travis-ci.org/jprichardson/node-jsonfile) +[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-jsonfile/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-jsonfile/branch/master) + +Standard JavaScript + +Why? +---- + +Writing `JSON.stringify()` and then `fs.writeFile()` and `JSON.parse()` with `fs.readFile()` enclosed in `try/catch` blocks became annoying. + + + +Installation +------------ + + npm install --save jsonfile + + + +API +--- + +### readFile(filename, [options], callback) + +`options` (`object`, default `undefined`): Pass in any `fs.readFile` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse). + - `throws` (`boolean`, default: `true`). If `JSON.parse` throws an error, pass this error to the callback. + If `false`, returns `null` for the object. + + +```js +var jsonfile = require('jsonfile') +var file = '/tmp/data.json' +jsonfile.readFile(file, function(err, obj) { + console.dir(obj) +}) +``` + + +### readFileSync(filename, [options]) + +`options` (`object`, default `undefined`): Pass in any `fs.readFileSync` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse). +- `throws` (`boolean`, default: `true`). If an error is encountered reading or parsing the file, throw the error. If `false`, returns `null` for the object. + +```js +var jsonfile = require('jsonfile') +var file = '/tmp/data.json' + +console.dir(jsonfile.readFileSync(file)) +``` + + +### writeFile(filename, obj, [options], callback) + +`options`: Pass in any `fs.writeFile` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string. + + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFile(file, obj, function (err) { + console.error(err) +}) +``` + +**formatting with spaces:** + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFile(file, obj, {spaces: 2}, function(err) { + console.error(err) +}) +``` + +**overriding EOL:** + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFile(file, obj, {spaces: 2, EOL: '\r\n'}, function(err) { + console.error(err) +}) +``` + +**appending to an existing JSON file:** + +You can use `fs.writeFile` option `{flag: 'a'}` to achieve this. + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/mayAlreadyExistedData.json' +var obj = {name: 'JP'} + +jsonfile.writeFile(file, obj, {flag: 'a'}, function (err) { + console.error(err) +}) +``` + +### writeFileSync(filename, obj, [options]) + +`options`: Pass in any `fs.writeFileSync` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string. + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFileSync(file, obj) +``` + +**formatting with spaces:** + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFileSync(file, obj, {spaces: 2}) +``` + +**overriding EOL:** + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/data.json' +var obj = {name: 'JP'} + +jsonfile.writeFileSync(file, obj, {spaces: 2, EOL: '\r\n'}) +``` + +**appending to an existing JSON file:** + +You can use `fs.writeFileSync` option `{flag: 'a'}` to achieve this. + +```js +var jsonfile = require('jsonfile') + +var file = '/tmp/mayAlreadyExistedData.json' +var obj = {name: 'JP'} + +jsonfile.writeFileSync(file, obj, {flag: 'a'}) +``` + +License +------- + +(MIT License) + +Copyright 2012-2016, JP Richardson diff --git a/node_modules/jsonfile/index.js b/node_modules/jsonfile/index.js new file mode 100644 index 0000000..d1e5827 --- /dev/null +++ b/node_modules/jsonfile/index.js @@ -0,0 +1,134 @@ +var _fs +try { + _fs = require('graceful-fs') +} catch (_) { + _fs = require('fs') +} + +function readFile (file, options, callback) { + if (callback == null) { + callback = options + options = {} + } + + if (typeof options === 'string') { + options = {encoding: options} + } + + options = options || {} + var fs = options.fs || _fs + + var shouldThrow = true + if ('throws' in options) { + shouldThrow = options.throws + } + + fs.readFile(file, options, function (err, data) { + if (err) return callback(err) + + data = stripBom(data) + + var obj + try { + obj = JSON.parse(data, options ? options.reviver : null) + } catch (err2) { + if (shouldThrow) { + err2.message = file + ': ' + err2.message + return callback(err2) + } else { + return callback(null, null) + } + } + + callback(null, obj) + }) +} + +function readFileSync (file, options) { + options = options || {} + if (typeof options === 'string') { + options = {encoding: options} + } + + var fs = options.fs || _fs + + var shouldThrow = true + if ('throws' in options) { + shouldThrow = options.throws + } + + try { + var content = fs.readFileSync(file, options) + content = stripBom(content) + return JSON.parse(content, options.reviver) + } catch (err) { + if (shouldThrow) { + err.message = file + ': ' + err.message + throw err + } else { + return null + } + } +} + +function stringify (obj, options) { + var spaces + var EOL = '\n' + if (typeof options === 'object' && options !== null) { + if (options.spaces) { + spaces = options.spaces + } + if (options.EOL) { + EOL = options.EOL + } + } + + var str = JSON.stringify(obj, options ? options.replacer : null, spaces) + + return str.replace(/\n/g, EOL) + EOL +} + +function writeFile (file, obj, options, callback) { + if (callback == null) { + callback = options + options = {} + } + options = options || {} + var fs = options.fs || _fs + + var str = '' + try { + str = stringify(obj, options) + } catch (err) { + // Need to return whether a callback was passed or not + if (callback) callback(err, null) + return + } + + fs.writeFile(file, str, options, callback) +} + +function writeFileSync (file, obj, options) { + options = options || {} + var fs = options.fs || _fs + + var str = stringify(obj, options) + // not sure if fs.writeFileSync returns anything, but just in case + return fs.writeFileSync(file, str, options) +} + +function stripBom (content) { + // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified + if (Buffer.isBuffer(content)) content = content.toString('utf8') + content = content.replace(/^\uFEFF/, '') + return content +} + +var jsonfile = { + readFile: readFile, + readFileSync: readFileSync, + writeFile: writeFile, + writeFileSync: writeFileSync +} + +module.exports = jsonfile diff --git a/node_modules/jsonfile/package.json b/node_modules/jsonfile/package.json new file mode 100644 index 0000000..d038477 --- /dev/null +++ b/node_modules/jsonfile/package.json @@ -0,0 +1,71 @@ +{ + "_from": "jsonfile@^4.0.0", + "_id": "jsonfile@4.0.0", + "_inBundle": false, + "_integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "_location": "/jsonfile", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "jsonfile@^4.0.0", + "name": "jsonfile", + "escapedName": "jsonfile", + "rawSpec": "^4.0.0", + "saveSpec": null, + "fetchSpec": "^4.0.0" + }, + "_requiredBy": [ + "/fs-extra" + ], + "_resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "_shasum": "8771aae0799b64076b76640fca058f9c10e33ecb", + "_spec": "jsonfile@^4.0.0", + "_where": "D:\\GitHub\\Gallery\\node_modules\\fs-extra", + "author": { + "name": "JP Richardson", + "email": "jprichardson@gmail.com" + }, + "bugs": { + "url": "https://github.com/jprichardson/node-jsonfile/issues" + }, + "bundleDependencies": false, + "dependencies": { + "graceful-fs": "^4.1.6" + }, + "deprecated": false, + "description": "Easily read/write JSON files.", + "devDependencies": { + "mocha": "2.x", + "rimraf": "^2.4.0", + "standard": "^10.0.3" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/jprichardson/node-jsonfile#readme", + "keywords": [ + "read", + "write", + "file", + "json", + "fs", + "fs-extra" + ], + "license": "MIT", + "main": "index.js", + "name": "jsonfile", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/jprichardson/node-jsonfile.git" + }, + "scripts": { + "lint": "standard", + "test": "npm run lint && npm run unit", + "unit": "mocha" + }, + "version": "4.0.0" +} diff --git a/node_modules/koa-body/CHANGELOG.md b/node_modules/koa-body/CHANGELOG.md new file mode 100644 index 0000000..b4356b6 --- /dev/null +++ b/node_modules/koa-body/CHANGELOG.md @@ -0,0 +1,28 @@ +## 4.1.1 +- adds support for JSON Patch, JSON API and CSP report out of the box: + - application/json-patch+json (https://tools.ietf.org/html/rfc6902) + - application/vnd.api+json (https://jsonapi.org/) + - application/csp-report (https://www.w3.org/TR/CSP2/#violation-reports) + +## 4.1.0 +- adds `parsedMethods` option to specify which request methods will be parsed +- deprecates `strict` option, which will be removed in koa-body 5.0.0 + +### Migrating from 4.x.x to 4.1.0 +Migration from prior 4.x.x versions is strightforward. + +- If you used `strict: true`, simply remove this option. The new defaults will behave the same way. +- If you used `strict: false`, set `parsedMethods` to the set of methods you would like to parse. For example, `parsedMethods: ['GET', 'POST', 'PUT', 'PATCH']` + +## 4.0.0 - 4.0.8 - Summary of Changes +- mutliple type definition updates +- adds `includeUnparsed` option to get raw body + +## Breaking Changes in v3/4 +To address a potential [security vulnerability](https://snyk.io/vuln/npm:koa-body:20180127): + - The `files` property has been moved to `ctx.request.files`. In prior versions, `files` was a property of `ctx.request.body`. + - The `fields` property is flatten (merged) into `ctx.request.body`. In prior versions, `fields` was a property of `ctx.request.body`. + +If you do not use multipart uploads, no changes to your code need to be made. + +Versions 1 and 2 of `koa-body` are deprecated and replaced with versions 3 and 4, respectively. diff --git a/node_modules/koa-body/LICENSE b/node_modules/koa-body/LICENSE new file mode 100644 index 0000000..0859161 --- /dev/null +++ b/node_modules/koa-body/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Charlike Mike Reagent and Daryl Lau + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/node_modules/koa-body/README.md b/node_modules/koa-body/README.md new file mode 100644 index 0000000..9726b7d --- /dev/null +++ b/node_modules/koa-body/README.md @@ -0,0 +1,135 @@ +koa-body [![Build Status](https://travis-ci.org/dlau/koa-body.svg?branch=koa2)](https://travis-ci.org/dlau/koa-body) [![Dependencies Status](https://david-dm.org/dlau/koa-body/status.svg)](https://david-dm.org/dlau/koa-body) [![KoaJs Slack](https://img.shields.io/badge/Koa.Js-Slack%20Channel-Slack.svg?longCache=true)](https://communityinviter.com/apps/koa-js/koajs) +================ + +> A full-featured [`koa`](https://github.com/koajs/koa) body parser middleware. Supports `multipart`, `urlencoded`, and `json` request bodies. Provides the same functionality as Express's bodyParser - [`multer`](https://github.com/expressjs/multer). + +## Install +>Install with [npm](https://github.com/npm/npm) + +``` +npm install koa-body +``` + +## Features +- can handle three type requests + * **multipart/form-data** + * **application/x-www-urlencoded** + * **application/json** + * **application/json-patch+json** + * **application/vnd.api+json** + * **application/csp-report** +- option for patch to Koa or Node, or either +- file uploads +- body, fields and files size limiting + +## Hello World - Quickstart + +```sh +npm install koa koa-body # Note that Koa requires Node.js 7.6.0+ for async/await support +``` + +index.js: +```js +const Koa = require('koa'); +const koaBody = require('koa-body'); + +const app = new Koa(); + +app.use(koaBody()); +app.use(ctx => { + ctx.body = `Request Body: ${JSON.stringify(ctx.request.body)}`; +}); + +app.listen(3000); +``` + +```sh +node index.js +curl -i http://localhost:3000/users -d "name=test" +``` + +Output: +```text +HTTP/1.1 200 OK +Content-Type: text/plain; charset=utf-8 +Content-Length: 29 +Date: Wed, 03 May 2017 02:09:44 GMT +Connection: keep-alive + +Request Body: {"name":"test"}% +``` + +**For a more comprehensive example, see** `examples/multipart.js` + +## Usage with [koa-router](https://github.com/alexmingoia/koa-router) +> It's generally better to only parse the body as needed, if using a router that supports middleware composition, we can inject it only for certain routes. + +```js +const Koa = require('koa'); +const app = new Koa(); +const router = require('koa-router')(); +const koaBody = require('koa-body'); + +router.post('/users', koaBody(), + (ctx) => { + console.log(ctx.request.body); + // => POST body + ctx.body = JSON.stringify(ctx.request.body); + } +); + +app.use(router.routes()); + +app.listen(3000); +console.log('curl -i http://localhost:3000/users -d "name=test"'); +``` + + +## Options +> Options available for `koa-body`. Four custom options, and others are from `raw-body` and `formidable`. + +- `patchNode` **{Boolean}** Patch request body to Node's `ctx.req`, default `false` +- `patchKoa` **{Boolean}** Patch request body to Koa's `ctx.request`, default `true` +- `jsonLimit` **{String|Integer}** The byte (if integer) limit of the JSON body, default `1mb` +- `formLimit` **{String|Integer}** The byte (if integer) limit of the form body, default `56kb` +- `textLimit` **{String|Integer}** The byte (if integer) limit of the text body, default `56kb` +- `encoding` **{String}** Sets encoding for incoming form fields, default `utf-8` +- `multipart` **{Boolean}** Parse multipart bodies, default `false` +- `urlencoded` **{Boolean}** Parse urlencoded bodies, default `true` +- `text` **{Boolean}** Parse text bodies, default `true` +- `json` **{Boolean}** Parse json bodies, default `true` +- `jsonStrict` **{Boolean}** Toggles co-body strict mode; if set to true - only parses arrays or objects, default `true` +- `includeUnparsed` **{Boolean}** Toggles co-body returnRawBody option; if set to true, for form encodedand and JSON requests the raw, unparsed requesty body will be attached to `ctx.request.body` using a `Symbol`, default `false` +- `formidable` **{Object}** Options to pass to the formidable multipart parser +- `onError` **{Function}** Custom error handle, if throw an error, you can customize the response - onError(error, context), default will throw +- `strict` **{Boolean}** ***DEPRECATED*** If enabled, don't parse GET, HEAD, DELETE requests, default `true` +- `parsedMethods` **{String[]}** Declares the HTTP methods where bodies will be parsed, default `['POST', 'PUT', 'PATCH']`. Replaces `strict` option. + +## A note about `parsedMethods` +> see [http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#section-6.3](http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#section-6.3) +- `GET`, `HEAD`, and `DELETE` requests have no defined semantics for the request body, but this doesn't mean they may not be valid in certain use cases. +- koa-body is strict by default, parsing only `POST`, `PUT`, and `PATCH` requests + +## A note about unparsed request bodies +Some applications require crytopgraphic verification of request bodies, for example webhooks from slack or stripe. The unparsed body can be accessed if `includeUnparsed` is `true` in koa-body's options. When enabled, import the symbol for accessing the request body from `unparsed = require('koa-body/unparsed.js')`, or define your own accessor using `unparsed = Symbol.for('unparsedBody')`. Then the unparsed body is available using `ctx.request.body[unparsed]`. + +## Some options for formidable +> See [node-formidable](https://github.com/felixge/node-formidable) for a full list of options +- `maxFields` **{Integer}** Limits the number of fields that the querystring parser will decode, default `1000` +- `maxFieldsSize` **{Integer}** Limits the amount of memory all fields together (except files) can allocate in bytes. If this value is exceeded, an 'error' event is emitted, default `2mb (2 * 1024 * 1024)` +- `uploadDir` **{String}** Sets the directory for placing file uploads in, default `os.tmpDir()` +- `keepExtensions` **{Boolean}** Files written to `uploadDir` will include the extensions of the original files, default `false` +- `hash` **{String}** If you want checksums calculated for incoming files, set this to either `'sha1'` or `'md5'`, default `false` +- `multiples` **{Boolean}** Multiple file uploads or no, default `true` +- `onFileBegin` **{Function}** Special callback on file begin. The function is executed directly by formidable. It can be used to rename files before saving them to disk. [See the docs](https://github.com/felixge/node-formidable#filebegin) + +## Changelog +Please see the [Changelog](./CHANGELOG.md) for a summary of changes. + +## Tests +``` +$ npm test +``` + +## License +The MIT License, 2014 [Charlike Mike Reagent](https://github.com/tunnckoCore) ([@tunnckoCore](https://twitter.com/tunnckoCore)) and [Daryl Lau](https://github.com/dlau) ([@daryllau](https://twitter.com/daryllau)) diff --git a/node_modules/koa-body/index.d.ts b/node_modules/koa-body/index.d.ts new file mode 100644 index 0000000..02afce3 --- /dev/null +++ b/node_modules/koa-body/index.d.ts @@ -0,0 +1,168 @@ +import * as Koa from "koa"; +import { Files } from 'formidable'; + +declare module "koa" { + interface Request extends Koa.BaseRequest { + body?: any; + files?: Files; + } +} + +declare namespace koaBody { + interface IKoaBodyFormidableOptions { + + /** + * {Integer} Limits the amount of memory all fields together (except files) can allocate in bytes. If this value is exceeded, an 'error' event is emitted. The default size is 20MB. + */ + maxFileSize?: number; + + /** + * {Integer} Limits the number of fields that the querystring parser will decode, default 1000 + */ + maxFields?: number; + + /** + * {Integer} Limits the amount of memory all fields together (except files) can allocate in bytes. + * If this value is exceeded, an 'error' event is emitted, default 2mb (2 * 1024 * 1024) + */ + maxFieldsSize?: number; + + /** + * {String} Sets the directory for placing file uploads in, default os.tmpDir() + */ + uploadDir?: string; + + /** + * {Boolean} Files written to uploadDir will include the extensions of the original files, default false + */ + keepExtensions?: boolean; + + /** + * {String} If you want checksums calculated for incoming files, set this to either 'sha1' or 'md5', default false + */ + hash?: string; + + /** + * {Boolean} Multiple file uploads or no, default true + */ + multiples?: boolean; + + /** + * {Function} Special callback on file begin. The function is executed directly by formidable. + * It can be used to rename files before saving them to disk. See https://github.com/felixge/node-formidable#filebegin + */ + onFileBegin?: (name: string, file: any) => void; + } + interface IKoaBodyOptions { + /** + * {Boolean} Patch request body to Node's ctx.req, default false + * + * Note: You can patch request body to Node or Koa in same time if you want. + */ + patchNode?: boolean; + + /** + * {Boolean} Patch request body to Koa's ctx.request, default true + * + * Note: You can patch request body to Node or Koa in same time if you want. + */ + patchKoa?: boolean; + + /** + * {String|Integer} The byte (if integer) limit of the JSON body, default 1mb + */ + jsonLimit?: string|number; + + /** + * {String|Integer} The byte (if integer) limit of the form body, default 56kb + */ + formLimit?: string|number; + + /** + * {String|Integer} The byte (if integer) limit of the text body, default 56kb + */ + textLimit?: string|number; + + /** + * {String} Sets encoding for incoming form fields, default utf-8 + */ + encoding?: string; + + /** + * {Boolean} Parse multipart bodies, default false + */ + multipart?: boolean; + + /** + * {Boolean} Parse urlencoded bodies, default true + */ + urlencoded?: boolean; + + /** + * {Boolean} Parse text bodies, default true + */ + text?: boolean; + + /** + * {Boolean} Parse json bodies, default true + */ + json?: boolean; + + /** + * Toggles co-body strict mode; if true, only parses arrays or objects, default true + */ + jsonStrict?: boolean; + + /** + * Toggles co-body returnRawBody mode; if true, + * the raw body will be available using a Symbol for 'unparsedBody'. + * + * ``` + // Either: + const unparsed = require('koa-body/unparsed.js'); + const unparsed = Symbol.for('unparsedBody'); + + // Then later, to access: + ctx.request.body[unparsed] + ``` + * default false + */ + includeUnparsed?: boolean; + + /** + * {Object} Options to pass to the formidable multipart parser + */ + formidable?: IKoaBodyFormidableOptions; + + /** + * {Function} Custom error handle, if throw an error, you can customize the response - onError(error, context), default will throw + */ + onError?: (err: Error, ctx: Koa.Context) => void; + + /** + * {Boolean} If enabled, don't parse GET, HEAD, DELETE requests; deprecated. + * + * GET, HEAD, and DELETE requests have no defined semantics for the request body, + * but this doesn't mean they may not be valid in certain use cases. + * koa-body is strict by default + * + * see http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#section-6.3 + */ + strict?: boolean; + + /** + * {String[]} What HTTP methods to enable body parsing for; should be used in preference to strict mode. + * + * GET, HEAD, and DELETE requests have no defined semantics for the request body, + * but this doesn't mean they may not be valid in certain use cases. + * koa-body will only parse HTTP request bodies for POST, PUT, and PATCH by default + * + * see http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#section-6.3 + */ + parsedMethods?: string[]; + } +} + +declare function koaBody (options?: koaBody.IKoaBodyOptions): Koa.Middleware<{}, {}>; + +export = koaBody; diff --git a/node_modules/koa-body/index.js b/node_modules/koa-body/index.js new file mode 100644 index 0000000..a8e98d8 --- /dev/null +++ b/node_modules/koa-body/index.js @@ -0,0 +1,211 @@ +/** + * koa-body - index.js + * Copyright(c) 2014 + * MIT Licensed + * + * @author Daryl Lau (@dlau) + * @author Charlike Mike Reagent (@tunnckoCore) + * @api private + */ + +'use strict'; + +/** + * Module dependencies. + */ + +const buddy = require('co-body'); +const forms = require('formidable'); +const symbolUnparsed = require('./unparsed.js'); + +/** + * Expose `requestbody()`. + */ + +module.exports = requestbody; + +const jsonTypes = [ + 'application/json', + 'application/json-patch+json', + 'application/vnd.api+json', + 'application/csp-report' +]; + +/** + * + * @param {Object} options + * @see https://github.com/dlau/koa-body + * @api public + */ +function requestbody(opts) { + opts = opts || {}; + opts.onError = 'onError' in opts ? opts.onError : false; + opts.patchNode = 'patchNode' in opts ? opts.patchNode : false; + opts.patchKoa = 'patchKoa' in opts ? opts.patchKoa : true; + opts.multipart = 'multipart' in opts ? opts.multipart : false; + opts.urlencoded = 'urlencoded' in opts ? opts.urlencoded : true; + opts.json = 'json' in opts ? opts.json : true; + opts.text = 'text' in opts ? opts.text : true; + opts.encoding = 'encoding' in opts ? opts.encoding : 'utf-8'; + opts.jsonLimit = 'jsonLimit' in opts ? opts.jsonLimit : '1mb'; + opts.jsonStrict = 'jsonStrict' in opts ? opts.jsonStrict : true; + opts.formLimit = 'formLimit' in opts ? opts.formLimit : '56kb'; + opts.queryString = 'queryString' in opts ? opts.queryString : null; + opts.formidable = 'formidable' in opts ? opts.formidable : {}; + opts.includeUnparsed = 'includeUnparsed' in opts ? opts.includeUnparsed : false + opts.textLimit = 'textLimit' in opts ? opts.textLimit : '56kb'; + + // @todo: next major version, opts.strict support should be removed + if (opts.strict && opts.parsedMethods) { + throw new Error('Cannot use strict and parsedMethods options at the same time.') + } + + if ('strict' in opts) { + console.warn('DEPRECATED: opts.strict has been deprecated in favor of opts.parsedMethods.') + if (opts.strict) { + opts.parsedMethods = ['POST', 'PUT', 'PATCH'] + } else { + opts.parsedMethods = ['POST', 'PUT', 'PATCH', 'GET', 'HEAD', 'DELETE'] + } + } + + opts.parsedMethods = 'parsedMethods' in opts ? opts.parsedMethods : ['POST', 'PUT', 'PATCH'] + opts.parsedMethods = opts.parsedMethods.map(function (method) { return method.toUpperCase() }) + + return function (ctx, next) { + var bodyPromise; + // only parse the body on specifically chosen methods + if (opts.parsedMethods.includes(ctx.method.toUpperCase())) { + try { + if (opts.json && ctx.is(jsonTypes)) { + bodyPromise = buddy.json(ctx, { + encoding: opts.encoding, + limit: opts.jsonLimit, + strict: opts.jsonStrict, + returnRawBody: opts.includeUnparsed + }); + } else if (opts.urlencoded && ctx.is('urlencoded')) { + bodyPromise = buddy.form(ctx, { + encoding: opts.encoding, + limit: opts.formLimit, + queryString: opts.queryString, + returnRawBody: opts.includeUnparsed + }); + } else if (opts.text && ctx.is('text')) { + bodyPromise = buddy.text(ctx, { + encoding: opts.encoding, + limit: opts.textLimit, + returnRawBody: opts.includeUnparsed + }); + } else if (opts.multipart && ctx.is('multipart')) { + bodyPromise = formy(ctx, opts.formidable); + } + } catch (parsingError) { + if (typeof opts.onError === 'function') { + opts.onError(parsingError, ctx); + } else { + throw parsingError; + } + } + } + + bodyPromise = bodyPromise || Promise.resolve({}); + return bodyPromise.catch(function(parsingError) { + if (typeof opts.onError === 'function') { + opts.onError(parsingError, ctx); + } else { + throw parsingError; + } + return next(); + }) + .then(function(body) { + if (opts.patchNode) { + if (isMultiPart(ctx, opts)) { + ctx.req.body = body.fields; + ctx.req.files = body.files; + } else if (opts.includeUnparsed) { + ctx.req.body = body.parsed || {}; + if (! ctx.is('text')) { + ctx.req.body[symbolUnparsed] = body.raw; + } + } else { + ctx.req.body = body; + } + } + if (opts.patchKoa) { + if (isMultiPart(ctx, opts)) { + ctx.request.body = body.fields; + ctx.request.files = body.files; + } else if (opts.includeUnparsed) { + ctx.request.body = body.parsed || {}; + if (! ctx.is('text')) { + ctx.request.body[symbolUnparsed] = body.raw; + } + } else { + ctx.request.body = body; + } + } + return next(); + }) + }; +} + +/** + * Check if multipart handling is enabled and that this is a multipart request + * + * @param {Object} ctx + * @param {Object} opts + * @return {Boolean} true if request is multipart and being treated as so + * @api private + */ +function isMultiPart(ctx, opts) { + return opts.multipart && ctx.is('multipart'); +} + +/** + * Donable formidable + * + * @param {Stream} ctx + * @param {Object} opts + * @return {Promise} + * @api private + */ +function formy(ctx, opts) { + return new Promise(function (resolve, reject) { + var fields = {}; + var files = {}; + var form = new forms.IncomingForm(opts); + form.on('end', function () { + return resolve({ + fields: fields, + files: files + }); + }).on('error', function (err) { + return reject(err); + }).on('field', function (field, value) { + if (fields[field]) { + if (Array.isArray(fields[field])) { + fields[field].push(value); + } else { + fields[field] = [fields[field], value]; + } + } else { + fields[field] = value; + } + }).on('file', function (field, file) { + if (files[field]) { + if (Array.isArray(files[field])) { + files[field].push(file); + } else { + files[field] = [files[field], file]; + } + } else { + files[field] = file; + } + }); + if (opts.onFileBegin) { + form.on('fileBegin', opts.onFileBegin); + } + form.parse(ctx.req); + }); +} diff --git a/node_modules/koa-body/node_modules/co-body/History.md b/node_modules/koa-body/node_modules/co-body/History.md new file mode 100644 index 0000000..d1dec95 --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/History.md @@ -0,0 +1,84 @@ + +5.2.0 / 2018-05-02 +================== + +**features** + * [[`f65a2d8`](http://github.com/cojs/co-body/commit/f65a2d8f7ebf4426138035af6d7e7f02272441f2)] - feat: impl text parser support encoding: false (#64) (killa <>) + +5.1.1 / 2017-03-24 +================== + + * fix: getOptions change to clone + * fix: ensure options are independent in each request + +5.1.0 / 2017-03-21 +================== + + * feat: add options to support return raw body (#56) + +5.0.3 / 2017-03-19 +================== + + * fix: ensure inflate in promise chain (#54) + +5.0.2 / 2017-03-10 +================== + + * fix: keep compatibility with qs@4 (#53) + +5.0.1 / 2017-03-06 +================== + + * dpes: qs@6.4.0 + +5.0.0 / 2017-03-02 +================== + + * deps: upgrade qs to 6.x (#52) + +4.2.0 / 2016-05-05 +================== + + * test: test on node 4, 5, 6 + * feat: Added support for request body inflation + +4.1.0 / 2016-05-05 +================== + + * feat: form parse support custom qs module + +4.0.0 / 2015-08-15 +================== + + * Switch to Promises instead of thunks + +3.1.0 / 2015-08-06 +================== + + * travis: add v2, v3, remove 0.11 + * add custom types options + * use type-is + +3.0.0 / 2015-07-25 +================== + + * Updated dependencies. Added qs options support via queryString option key. (@yanickrochon) + * upgrade qs@4.0.0, raw-body@2.1.2 + +2.0.0 / 2015-05-04 +================== + + * json parser support strict mode + +1.2.0 / 2015-04-29 +================== + + * Add JSON-LD as known JSON-Type (@vanthome) + +1.1.0 / 2015-02-27 +================== + + * Fix content-length zero should not parse json + * Bump deps, qs@~2.3.3, raw-body@~1.3.3 + * add support for `text/plain` + * json support for `application/json-patch+json`, `application/vnd.api+json` and `application/csp-report` diff --git a/node_modules/koa-body/node_modules/co-body/Readme.md b/node_modules/koa-body/node_modules/co-body/Readme.md new file mode 100644 index 0000000..cfeee2a --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/Readme.md @@ -0,0 +1,84 @@ + +# co-body + +[![NPM version][npm-image]][npm-url] +[![build status][travis-image]][travis-url] +[![Test coverage][coveralls-image]][coveralls-url] +[![David deps][david-image]][david-url] +[![npm download][download-image]][download-url] + +[npm-image]: https://img.shields.io/npm/v/co-body.svg?style=flat-square +[npm-url]: https://npmjs.org/package/co-body +[travis-image]: https://img.shields.io/travis/cojs/co-body.svg?style=flat-square +[travis-url]: https://travis-ci.org/cojs/co-body +[coveralls-image]: https://img.shields.io/coveralls/cojs/co-body.svg?style=flat-square +[coveralls-url]: https://coveralls.io/r/cojs/co-body?branch=master +[david-image]: https://img.shields.io/david/cojs/co-body.svg?style=flat-square +[david-url]: https://david-dm.org/cojs/co-body +[download-image]: https://img.shields.io/npm/dm/co-body.svg?style=flat-square +[download-url]: https://npmjs.org/package/co-body + + Parse request bodies with generators inspired by [Raynos/body](https://github.com/Raynos/body). + +## Installation + +```bash +$ npm install co-body +``` + +## Options + + - `limit` number or string representing the request size limit (1mb for json and 56kb for form-urlencoded) + - `strict` when set to `true`, JSON parser will only accept arrays and objects; when `false` will accept anything `JSON.parse` accepts. Defaults to `true`. (also `strict` mode will always return object). + - `queryString` an object of options when parsing query strings and form data. See [qs](https://github.com/hapijs/qs) for more information. + - `returnRawBody` when set to `true`, the return value of `co-body` will be an object with two properties: `{ parsed: /* parsed value */, raw: /* raw body */}`. + - `jsonTypes` is used to determine what media type **co-body** will parse as **json**, this option is passed directly to the [type-is](https://github.com/jshttp/type-is) library. + - `formTypes` is used to determine what media type **co-body** will parse as **form**, this option is passed directly to the [type-is](https://github.com/jshttp/type-is) library. + - `textTypes` is used to determine what media type **co-body** will parse as **text**, this option is passed directly to the [type-is](https://github.com/jshttp/type-is) library. + +more options available via [raw-body](https://github.com/stream-utils/raw-body#getrawbodystream-options-callback): + +## Example + +```js +// application/json +var body = yield parse.json(req); + +// explicit limit +var body = yield parse.json(req, { limit: '10kb' }); + +// application/x-www-form-urlencoded +var body = yield parse.form(req); + +// text/plain +var body = yield parse.text(req); + +// either +var body = yield parse(req); + +// custom type +var body = yield parse(req, { textTypes: ['text', 'html'] }); +``` + +## Koa + + This lib also supports `ctx.req` in Koa (or other libraries), + so that you may simply use `this` instead of `this.req`. + +```js +// application/json +var body = yield parse.json(this); + +// application/x-www-form-urlencoded +var body = yield parse.form(this); + +// text/plain +var body = yield parse.text(this); + +// either +var body = yield parse(this); +``` + +# License + + MIT diff --git a/node_modules/koa-body/node_modules/co-body/index.js b/node_modules/koa-body/node_modules/co-body/index.js new file mode 100644 index 0000000..1fa0d5d --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/index.js @@ -0,0 +1,5 @@ + +exports = module.exports = require('./lib/any'); +exports.json = require('./lib/json'); +exports.form = require('./lib/form'); +exports.text = require('./lib/text'); \ No newline at end of file diff --git a/node_modules/koa-body/node_modules/co-body/lib/any.js b/node_modules/koa-body/node_modules/co-body/lib/any.js new file mode 100644 index 0000000..4798897 --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/lib/any.js @@ -0,0 +1,50 @@ + +/** + * Module dependencies. + */ + +var typeis = require('type-is'); +var json = require('./json'); +var form = require('./form'); +var text = require('./text'); + +var jsonTypes = ['json', 'application/*+json', 'application/csp-report']; +var formTypes = ['urlencoded']; +var textTypes = ['text']; + +/** + * Return a Promise which parses form and json requests + * depending on the Content-Type. + * + * Pass a node request or an object with `.req`, + * such as a koa Context. + * + * @param {Request} req + * @param {Options} [opts] + * @return {Function} + * @api public + */ + +module.exports = function(req, opts){ + req = req.req || req; + opts = opts || {}; + + // json + var jsonType = opts.jsonTypes || jsonTypes; + if (typeis(req, jsonType)) return json(req, opts); + + // form + var formType = opts.formTypes || formTypes; + if (typeis(req, formType)) return form(req, opts); + + // text + var textType = opts.textTypes || textTypes; + if (typeis(req, textType)) return text(req, opts); + + // invalid + var type = req.headers['content-type'] || ''; + var message = type ? 'Unsupported content-type: ' + type : 'Missing content-type'; + var err = new Error(message); + err.status = 415; + return Promise.reject(err); +}; diff --git a/node_modules/koa-body/node_modules/co-body/lib/form.js b/node_modules/koa-body/node_modules/co-body/lib/form.js new file mode 100644 index 0000000..1d85c4e --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/lib/form.js @@ -0,0 +1,54 @@ + +/** + * Module dependencies. + */ + +var raw = require('raw-body'); +var inflate = require('inflation'); +var qs = require('qs'); +var utils = require('./utils'); + +/** + * Return a Promise which parses x-www-form-urlencoded requests. + * + * Pass a node request or an object with `.req`, + * such as a koa Context. + * + * @param {Request} req + * @param {Options} [opts] + * @return {Function} + * @api public + */ + +module.exports = function(req, opts){ + req = req.req || req; + opts = utils.clone(opts); + var queryString = opts.queryString || {}; + + // keep compatibility with qs@4 + if (queryString.allowDots === undefined) queryString.allowDots = true; + + // defaults + var len = req.headers['content-length']; + var encoding = req.headers['content-encoding'] || 'identity'; + if (len && encoding === 'identity') opts.length = ~~len; + opts.encoding = opts.encoding || 'utf8'; + opts.limit = opts.limit || '56kb'; + opts.qs = opts.qs || qs; + + // raw-body returns a Promise when no callback is specified + return Promise.resolve() + .then(function() { + return raw(inflate(req), opts); + }) + .then(function(str){ + try { + var parsed = opts.qs.parse(str, queryString); + return opts.returnRawBody ? { parsed: parsed, raw: str } : parsed; + } catch (err) { + err.status = 400; + err.body = str; + throw err; + } + }); +}; diff --git a/node_modules/koa-body/node_modules/co-body/lib/json.js b/node_modules/koa-body/node_modules/co-body/lib/json.js new file mode 100644 index 0000000..7bc8f12 --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/lib/json.js @@ -0,0 +1,64 @@ + +/** + * Module dependencies. + */ + +var raw = require('raw-body'); +var inflate = require('inflation'); +var utils = require('./utils'); + +// Allowed whitespace is defined in RFC 7159 +// http://www.rfc-editor.org/rfc/rfc7159.txt +var strictJSONReg = /^[\x20\x09\x0a\x0d]*(\[|\{)/; + +/** + * Return a Promise which parses json requests. + * + * Pass a node request or an object with `.req`, + * such as a koa Context. + * + * @param {Request} req + * @param {Options} [opts] + * @return {Function} + * @api public + */ + +module.exports = function(req, opts){ + req = req.req || req; + opts = utils.clone(opts); + + // defaults + var len = req.headers['content-length']; + var encoding = req.headers['content-encoding'] || 'identity'; + if (len && encoding === 'identity') opts.length = len = ~~len; + opts.encoding = opts.encoding || 'utf8'; + opts.limit = opts.limit || '1mb'; + var strict = opts.strict !== false; + + // raw-body returns a promise when no callback is specified + return Promise.resolve() + .then(function() { + return raw(inflate(req), opts); + }) + .then(function(str) { + try { + var parsed = parse(str); + return opts.returnRawBody ? { parsed: parsed, raw: str } : parsed; + } catch (err) { + err.status = 400; + err.body = str; + throw err; + } + }); + + function parse(str){ + if (!strict) return str ? JSON.parse(str) : str; + // strict mode always return object + if (!str) return {}; + // strict JSON test + if (!strictJSONReg.test(str)) { + throw new Error('invalid JSON, only supports object and array'); + } + return JSON.parse(str); + } +}; diff --git a/node_modules/koa-body/node_modules/co-body/lib/text.js b/node_modules/koa-body/node_modules/co-body/lib/text.js new file mode 100644 index 0000000..1e46cd6 --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/lib/text.js @@ -0,0 +1,41 @@ +/** + * Module dependencies. + */ + +var raw = require('raw-body'); +var inflate = require('inflation'); +var utils = require('./utils'); + +/** + * Return a Promise which parses text/plain requests. + * + * Pass a node request or an object with `.req`, + * such as a koa Context. + * + * @param {Request} req + * @param {Options} [opts] + * @return {Function} + * @api public + */ + +module.exports = function(req, opts){ + req = req.req || req; + opts = utils.clone(opts); + + // defaults + var len = req.headers['content-length']; + var encoding = req.headers['content-encoding'] || 'identity'; + if (len && encoding === 'identity') opts.length = ~~len; + opts.encoding = opts.encoding === undefined ? 'utf8': opts.encoding; + opts.limit = opts.limit || '1mb'; + + // raw-body returns a Promise when no callback is specified + return Promise.resolve() + .then(function() { + return raw(inflate(req), opts); + }) + .then(str => { + // ensure return the same format with json / form + return opts.returnRawBody ? { parsed: str, raw: str } : str; + }); +}; diff --git a/node_modules/koa-body/node_modules/co-body/lib/utils.js b/node_modules/koa-body/node_modules/co-body/lib/utils.js new file mode 100644 index 0000000..96f2d9c --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/lib/utils.js @@ -0,0 +1,13 @@ + +/** + * Module dependencies. + */ + +exports.clone = function (opts) { + var options = {}; + opts = opts || {}; + for (var key in opts) { + options[key] = opts[key]; + } + return options; +} diff --git a/node_modules/koa-body/node_modules/co-body/package.json b/node_modules/koa-body/node_modules/co-body/package.json new file mode 100644 index 0000000..b328e5d --- /dev/null +++ b/node_modules/koa-body/node_modules/co-body/package.json @@ -0,0 +1,70 @@ +{ + "_from": "co-body@^5.1.1", + "_id": "co-body@5.2.0", + "_inBundle": false, + "_integrity": "sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==", + "_location": "/koa-body/co-body", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "co-body@^5.1.1", + "name": "co-body", + "escapedName": "co-body", + "rawSpec": "^5.1.1", + "saveSpec": null, + "fetchSpec": "^5.1.1" + }, + "_requiredBy": [ + "/koa-body" + ], + "_resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", + "_shasum": "5a0a658c46029131e0e3a306f67647302f71c124", + "_spec": "co-body@^5.1.1", + "_where": "D:\\GitHub\\Gallery\\node_modules\\koa-body", + "bugs": { + "url": "https://github.com/cojs/co-body/issues" + }, + "bundleDependencies": false, + "dependencies": { + "inflation": "^2.0.0", + "qs": "^6.4.0", + "raw-body": "^2.2.0", + "type-is": "^1.6.14" + }, + "deprecated": false, + "description": "request body parsing for co", + "devDependencies": { + "istanbul": "^0.4.5", + "koa": "^1.2.5", + "mocha": "^3.2.0", + "safe-qs": "^6.0.1", + "should": "^11.2.0", + "supertest": "^1.0.1" + }, + "files": [ + "index.js", + "lib/" + ], + "homepage": "https://github.com/cojs/co-body#readme", + "keywords": [ + "request", + "parse", + "parser", + "json", + "co", + "generators", + "urlencoded" + ], + "license": "MIT", + "name": "co-body", + "repository": { + "type": "git", + "url": "git+https://github.com/cojs/co-body.git" + }, + "scripts": { + "test": "make test", + "test-cov": "make test-cov" + }, + "version": "5.2.0" +} diff --git a/node_modules/koa-body/package.json b/node_modules/koa-body/package.json new file mode 100644 index 0000000..d3ead7c --- /dev/null +++ b/node_modules/koa-body/package.json @@ -0,0 +1,100 @@ +{ + "_from": "koa-body", + "_id": "koa-body@4.1.1", + "_inBundle": false, + "_integrity": "sha512-rLb/KVD8qplEcK8Qsu6F4Xw+uHkmx3MWogDVmMX07DpjXizhw3pOEp1ja1MqqAcl0ei75AsrbGVDlySmsUrreA==", + "_location": "/koa-body", + "_phantomChildren": { + "inflation": "2.0.0", + "qs": "6.9.0", + "raw-body": "2.4.1", + "type-is": "1.6.18" + }, + "_requested": { + "type": "tag", + "registry": true, + "raw": "koa-body", + "name": "koa-body", + "escapedName": "koa-body", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz", + "_shasum": "50686d290891fc6f1acb986cf7cfcd605f855ef0", + "_spec": "koa-body", + "_where": "D:\\GitHub\\Gallery", + "author": { + "name": "Daryl Lau", + "email": "dlau00@gmail.com", + "url": "https://github.com/dlau" + }, + "bugs": { + "url": "https://github.com/dlau/koa-body/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Daryl Lau", + "email": "dlau00@gmail.com", + "url": "https://github.com/dlau" + }, + { + "name": "Charlike Mike Reagent", + "email": "mameto_100@mail.bg", + "url": "https://github.com/tunnckoCore" + } + ], + "dependencies": { + "@types/formidable": "^1.0.31", + "co-body": "^5.1.1", + "formidable": "^1.1.1" + }, + "deprecated": false, + "description": "A Koa body parser middleware. Supports multipart, urlencoded and JSON request bodies.", + "devDependencies": { + "@types/koa": "^2.0.39", + "koa": "^2.0.0", + "koa-router": "^7.0.1", + "mocha": "5.2.0", + "should": "13.2.1", + "sinon": "^7.2.2", + "supertest": "3.1.0" + }, + "files": [ + "LICENSE", + "README.md", + "index.js", + "index.d.ts", + "package.json", + "unparsed.js" + ], + "homepage": "https://github.com/dlau/koa-body#readme", + "keywords": [ + "koa", + "urlencoded", + "multipart", + "json", + "body", + "parser", + "form" + ], + "license": "MIT", + "main": "index.js", + "name": "koa-body", + "repository": { + "type": "git", + "url": "git://github.com/dlau/koa-body.git" + }, + "scripts": { + "examples-koa-router": "node examples/koa-router.js", + "examples-multer": "node examples/multer.js", + "test": "mocha" + }, + "types": "./index.d.ts", + "version": "4.1.1" +} diff --git a/node_modules/koa-body/unparsed.js b/node_modules/koa-body/unparsed.js new file mode 100644 index 0000000..9d2182e --- /dev/null +++ b/node_modules/koa-body/unparsed.js @@ -0,0 +1,14 @@ +/** + * koa-body - index.js + * Copyright(c) 2014 + * MIT Licensed + * + * @author Daryl Lau (@dlau) + * @author Charlike Mike Reagent (@tunnckoCore) + * @author Zev Isert (@zevisert) + * @api private + */ + +'use strict'; + +module.exports = Symbol.for('unparsedBody'); diff --git a/node_modules/sqlite3/lib/binding/node-v72-win32-x64/node_sqlite3.node b/node_modules/sqlite3/lib/binding/node-v72-win32-x64/node_sqlite3.node new file mode 100644 index 0000000000000000000000000000000000000000..07443bffa0c3d3f712b3c0ce0c4285c4e8aa2fa3 GIT binary patch literal 2235392 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

m%yeJA5v1_fV|Gq>2` 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%0Aa)eD7ZA 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∨;D|Q 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%0DJr)1B5#Cswp90MNE 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

mPr~=d?#Lu%{879hfOAayp1$C(chO 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
  • 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 z

    Item Details

    -

    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 literal 0 HcmV?d00001 diff --git a/public/style.css b/public/style.css index 3d4cd0f..59cc7f8 100644 --- a/public/style.css +++ b/public/style.css @@ -22,10 +22,100 @@ div.desc { -h1,h2 { +/*h1,h2 { padding: 60px; text-align: center; background: #000000; color: white; font-size: 50px; + }*/ + + + + /* ############################################# DETAIL PAGE ############################################# */ + .detail_title{ + width: 100%; + height: auto; + background: none; + text-align: center; + } + .detail_top{ + width: 100%; + height: auto; + display: flexbox; + } + .detail_image_previews{ + width: calc(10% - 70px); + height: 100px; + float: left; + margin-left: 50px; + margin-right: 20px; + flex-direction: column; + } + .detail_image_previews img{ + width: 100%; + height: auto; + background-size: cover; + display: block; + } + .detail_image_main{ + width: 50%; + height: auto; + background: #d9d9d9; + flex-direction: column; + float: left; + } + .detail_image_main img{ + height: 400px; + width: auto; + background-size: cover; + padding: 30px 0 30px 0; + display: block; + margin: 0 auto; + } + .detail_description{ + width: calc(40% - 70px); + height: auto; + flex-direction: column; + float: right; + margin-left: 20px; + margin-right: 50px; + } + .detail_description button{ + width: 100%; + height: 50px; + background: #d9d9d9; + margin: 10px 0 10px 0; + border: none; + } + .detail_bottom{ + margin-top: 50px; + display: flexbox; + width: calc(100% - 100px); + height: auto; + margin-left: 50px; + margin-right: 50px; + } + .detail_more_description{ + width: 70%; + height: auto; + flex-direction: column; + float: left; + } + .detail_more_description p, .detail_more_description h3{ + margin-left: 5px; + margin-right: 5px; + width: auto; + } + .detail_seller{ + width: 30%; + height: auto; + flex-direction: column; + background: #d9d9d9; + float: right; + } + .detail_seller p, .detail_seller h3{ + margin-left: 5px; + margin-right: 5px; + width: auto; } \ No newline at end of file diff --git a/views/itemDetails.handlebars b/views/itemDetails.handlebars index c9bf9c0..f8ea25d 100644 --- a/views/itemDetails.handlebars +++ b/views/itemDetails.handlebars @@ -23,27 +23,44 @@ Contact | -

  • +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 Klzv)=d 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 Fe*gzO(~1B9 literal 0 HcmV?d00001 diff --git a/node_modules/universalify/LICENSE b/node_modules/universalify/LICENSE new file mode 100644 index 0000000..514e84e --- /dev/null +++ b/node_modules/universalify/LICENSE @@ -0,0 +1,20 @@ +(The MIT License) + +Copyright (c) 2017, Ryan Zimmerman + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the 'Software'), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/universalify/README.md b/node_modules/universalify/README.md new file mode 100644 index 0000000..487067b --- /dev/null +++ b/node_modules/universalify/README.md @@ -0,0 +1,76 @@ +# universalify + +[![Travis branch](https://img.shields.io/travis/RyanZim/universalify/master.svg)](https://travis-ci.org/RyanZim/universalify) +![Coveralls github branch](https://img.shields.io/coveralls/github/RyanZim/universalify/master.svg) +![npm](https://img.shields.io/npm/dm/universalify.svg) +![npm](https://img.shields.io/npm/l/universalify.svg) + +Make a callback- or promise-based function support both promises and callbacks. + +Uses the native promise implementation. + +## Installation + +```bash +npm install universalify +``` + +## API + +### `universalify.fromCallback(fn)` + +Takes a callback-based function to universalify, and returns the universalified function. + +Function must take a callback as the last parameter that will be called with the signature `(error, result)`. `universalify` does not support calling the callback with more than three arguments, and does not ensure that the callback is only called once. + +```js +function callbackFn (n, cb) { + setTimeout(() => cb(null, n), 15) +} + +const fn = universalify.fromCallback(callbackFn) + +// Works with Promises: +fn('Hello World!') +.then(result => console.log(result)) // -> Hello World! +.catch(error => console.error(error)) + +// Works with Callbacks: +fn('Hi!', (error, result) => { + if (error) return console.error(error) + console.log(result) + // -> Hi! +}) +``` + +### `universalify.fromPromise(fn)` + +Takes a promise-based function to universalify, and returns the universalified function. + +Function must return a valid JS promise. `universalify` does not ensure that a valid promise is returned. + +```js +function promiseFn (n) { + return new Promise(resolve => { + setTimeout(() => resolve(n), 15) + }) +} + +const fn = universalify.fromPromise(promiseFn) + +// Works with Promises: +fn('Hello World!') +.then(result => console.log(result)) // -> Hello World! +.catch(error => console.error(error)) + +// Works with Callbacks: +fn('Hi!', (error, result) => { + if (error) return console.error(error) + console.log(result) + // -> Hi! +}) +``` + +## License + +MIT diff --git a/node_modules/universalify/index.js b/node_modules/universalify/index.js new file mode 100644 index 0000000..0c9ba39 --- /dev/null +++ b/node_modules/universalify/index.js @@ -0,0 +1,25 @@ +'use strict' + +exports.fromCallback = function (fn) { + return Object.defineProperty(function () { + if (typeof arguments[arguments.length - 1] === 'function') fn.apply(this, arguments) + else { + return new Promise((resolve, reject) => { + arguments[arguments.length] = (err, res) => { + if (err) return reject(err) + resolve(res) + } + arguments.length++ + fn.apply(this, arguments) + }) + } + }, 'name', { value: fn.name }) +} + +exports.fromPromise = function (fn) { + return Object.defineProperty(function () { + const cb = arguments[arguments.length - 1] + if (typeof cb !== 'function') return fn.apply(this, arguments) + else fn.apply(this, arguments).then(r => cb(null, r), cb) + }, 'name', { value: fn.name }) +} diff --git a/node_modules/universalify/package.json b/node_modules/universalify/package.json new file mode 100644 index 0000000..31ebc15 --- /dev/null +++ b/node_modules/universalify/package.json @@ -0,0 +1,64 @@ +{ + "_from": "universalify@^0.1.0", + "_id": "universalify@0.1.2", + "_inBundle": false, + "_integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "_location": "/universalify", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "universalify@^0.1.0", + "name": "universalify", + "escapedName": "universalify", + "rawSpec": "^0.1.0", + "saveSpec": null, + "fetchSpec": "^0.1.0" + }, + "_requiredBy": [ + "/fs-extra" + ], + "_resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "_shasum": "b646f69be3942dabcecc9d6639c80dc105efaa66", + "_spec": "universalify@^0.1.0", + "_where": "D:\\GitHub\\Gallery\\node_modules\\fs-extra", + "author": { + "name": "Ryan Zimmerman", + "email": "opensrc@ryanzim.com" + }, + "bugs": { + "url": "https://github.com/RyanZim/universalify/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Make a callback- or promise-based function support both promises and callbacks.", + "devDependencies": { + "colortape": "^0.1.2", + "coveralls": "^3.0.1", + "nyc": "^10.2.0", + "standard": "^10.0.1", + "tape": "^4.6.3" + }, + "engines": { + "node": ">= 4.0.0" + }, + "files": [ + "index.js" + ], + "homepage": "https://github.com/RyanZim/universalify#readme", + "keywords": [ + "callback", + "native", + "promise" + ], + "license": "MIT", + "name": "universalify", + "repository": { + "type": "git", + "url": "git+https://github.com/RyanZim/universalify.git" + }, + "scripts": { + "test": "standard && nyc tape test/*.js | colortape" + }, + "version": "0.1.2" +} diff --git a/package-lock.json b/package-lock.json index 123145d..f105074 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,28 @@ { - "requires": true, + "name": "gallery", + "version": "1.0.0", "lockfileVersion": 1, + "requires": true, "dependencies": { + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/formidable": { + "version": "1.0.31", + "resolved": "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.31.tgz", + "integrity": "sha512-dIhM5t8lRP0oWe2HF8MuPvdd1TpPTjhDMAqemcq6oIZQCBQTovhBAdTQ5L5veJB4pdQChadmHuxtB0YzqvfU3Q==", + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "12.12.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.6.tgz", + "integrity": "sha512-FjsYUPzEJdGXjwKqSpE0/9QEh6kzhTAeObA54rn6j3rR4C/mzpI9L0KNfoeASSPMMdxIsoJuCLDWcM/rVjIsSA==" + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -434,11 +455,26 @@ "mime-types": "^2.1.12" } }, + "formidable": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", + "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==" + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "fs-minipass": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", @@ -496,6 +532,11 @@ "path-is-absolute": "^1.0.0" } }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, "handlebars": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.5.tgz", @@ -692,6 +733,14 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -751,6 +800,29 @@ "vary": "^1.1.2" } }, + "koa-body": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz", + "integrity": "sha512-rLb/KVD8qplEcK8Qsu6F4Xw+uHkmx3MWogDVmMX07DpjXizhw3pOEp1ja1MqqAcl0ei75AsrbGVDlySmsUrreA==", + "requires": { + "@types/formidable": "^1.0.31", + "co-body": "^5.1.1", + "formidable": "^1.1.1" + }, + "dependencies": { + "co-body": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", + "integrity": "sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==", + "requires": { + "inflation": "^2.0.0", + "qs": "^6.4.0", + "raw-body": "^2.2.0", + "type-is": "^1.6.14" + } + } + } + }, "koa-bodyparser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.2.1.tgz", @@ -1522,11 +1594,17 @@ "version": "3.6.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.4.tgz", "integrity": "sha512-9Yc2i881pF4BPGhjteCXQNaXx1DCwm3dtOyBaG2hitHjLWOczw/ki8vD1bqyT3u6K0Ms/FpCShkmfg+FtlOfYA==", + "optional": true, "requires": { "commander": "~2.20.3", "source-map": "~0.6.1" } }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/package.json b/package.json new file mode 100644 index 0000000..e222486 --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "gallery", + "version": "1.0.0", + "description": "Gallery project coming soon...", + "main": "index.js", + "dependencies": { + "bcrypt": "^3.0.6", + "bcrypt-promise": "^2.0.0", + "fs-extra": "^8.1.0", + "koa": "^2.10.0", + "koa-body": "^4.1.1", + "koa-bodyparser": "^4.2.1", + "koa-hbs-renderer": "^1.2.0", + "koa-router": "^7.4.0", + "koa-session": "^5.12.3", + "koa-static": "^5.0.0", + "koa-views": "^6.2.1", + "sqlite-async": "^1.0.12" + }, + "devDependencies": {}, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://github.coventry.ac.uk/dacostag/Gallery.git" + }, + "author": "", + "license": "ISC" +} diff --git a/public/Items/item_aaa20191031573061498591.png b/public/Items/item_aaa20191031573061498591.png new file mode 100644 index 0000000000000000000000000000000000000000..5ded721ebe8fae261fceb1d64f2f9597daf09c17 GIT binary patch literal 804427 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�VxZswC9C?8;f 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 z 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 ROMJryUI z- z(1Iv5^`25_TS}E^y9YP|C%2+^qp;e52f02 zV!lV*l+f|hLY@ljW9k@khnve>pm&~;VE3%qULb6Th3MKn`0|sVmWK{iK13Bw2`$Mh1n4Lu9BgFhJ`$y z8>v%Bih9tjRK}pKvSBF!$(<5c1Fo7ZIlp2|x&aKa;Xr)COfk|@W*TxaPUDUpQD*XI z8lM$DiO)IxERcYz>YY?oQ4pW)i=MM|54OC16vGGDDR0>yt4rkVI#iP#FbQ?dB$FgE z$mH|+Pv$+3fKPVRaZzIyn~UjWunhu5vho0bwbykK;0(^Gjjo-*q}vaUfy{2P z6{ov)18ZHn&2Hrk930G#B=F%qOuY%?S+&anCnv2vW{w_dGp!z)jYW>IuUM(Qh!UQt zjI&3OEv4fB-4A!&?t<}4hkF6{_m<63D3aOq08ziH)CQ_sVt8JsI`AA z)7_;FdcL>1{QO=atXvwuF8~&XwwH*18vBM`Nb|aHSS{>c`XetYC?7FcR$ydu`y;o@ z{#VcStL6Vj2cBUT&$3grg}MTYW_0f8jZmmdN-I+V)>Ht*%3C9^-)xbH|0J5N1}=5M zA>Wr#1+>uIrCkxj{JeJ8OkY7mu};%E-=xtTayUHccOUx|tpb3O%y&L_IT~3AGsio$ zA`B>;jG)y;Ss_KeDJ=k=_%hg>g>uOvlPT9YtfNnW1E#)(z2c^jCOQV4Jg$UhM4Piz zB7ns0=P6z;RFYeL3Py-u{RRkYRS1nf`sVE1r|N1QaKI^nC1&mqPA|QZ0-bKoXVyA> z&cePs=k^l7P}^Yy296F_bEnhmBJOIR+TkGUWtZ*lErt0F8L5zX=H8R%4kkemi^EF{ zQ~DD88cH8{;S)H!!{Hg#@=qq-Bw-y%5Ml?5Yw3kfvr3Awgj8FnfPda%&;xi$7?TG` znrN2~`2D-R_xcZ<5%>B*>a4St=4MK+w=fPt$XgLxUM4BQ5$HhttFOF<%-2Axr>Sj` zWwF(yY=OI@$wU0uO||mh+X!?e@t&%)zA3j1-cx>RCwR>per{L^;lMH8&||{yJ2_>S zii9f!hyo))jXgLRqJlvo&Wn^@w%m*T6TSkGwW>@Lfew%HJz?2Pl>P~SBHW`K5myuZ z5Ppp^t1FCN%nHFnk-TbF~g<3E{M^3Di7D(d9OTXxnm{&~H! z$y9sc?2D&e21FK^+M(j4E{n0a1$|n$8)O402;%vy&zd*5-K|Kc;U2r{1A5q1Dm;$T zbNex*a#44jg&ERtakaqtLMxhKy_|&#rHb5sRlObdPxFt zgYgC{f(B;8UINy_HoH3Sc^sLXBYdZ=2OW^{ER6HuS%Bj{k()w9RmP_AYP-_qLihK= zO2P*NSAkSuE47Yy&1`%l&>?r!9JLmUhyAp$bEpA6oc1R*UL-ZQiI%Z&tg~AEYH}M1 zF;5IyDuKq0`KKJ!DKHCsw&xCITIM4)e^@}h%Gt23lT^2JOio;=@JYwc7bUsMSqiKW zAOVP|0A)8Rj%{2Ou`xlAOZ5cR)YvgTa>E38ptR#7nBGyR89Zjx`5r`9IOdzlE>1W_ zF16mwm$QQPXpht+<#6?^z878UaWjGP4EM=oYvjo&uSt^V0I)XRmU04}*L}JhRtRNH zZfl(};gX=hgq9|LgK6zVL!M`^$R}q3q4wGCfr69*3X%%zRVM{q4aF z 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 GX0 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