From 6e75194ee8998abe4adff5e959180f2e694349a3 Mon Sep 17 00:00:00 2001 From: Richard Park Date: Sat, 18 May 2019 03:41:15 +0900 Subject: [PATCH] electron is modified --- ...30bb90872d19fa2191960aed42711244.json.gzip | Bin 0 -> 500 bytes ...71139620f060e2012ee55306717b6099.json.gzip | Bin 0 -> 4172 bytes ...89a00f22981c20a7c0879dd0b4cc2ed6.json.gzip | Bin 0 -> 4192 bytes ...91dd196ade717de26b52e6c40d2a08dd.json.gzip | Bin 0 -> 476 bytes ...d85d9e89748517884c42ff14e9b90243.json.gzip | Bin 0 -> 1123 bytes ...3751113fce09e9d70c7adae3e61e12b7.json.gzip | Bin 0 -> 2254 bytes ...fa88bfff0375e3ed0fb9272e3e326092.json.gzip | Bin 0 -> 1399 bytes ...be2a0bf27348fc8edb78a97438b142e0.json.gzip | Bin 0 -> 4192 bytes .gitignore | 1 + config/app-info.js | 17 + config/dist-info.ts | 3 + config/helpers.js | 36 + config/webpack.common.ts | 88 + config/webpack.development.ts | 13 + package-lock.json | 2783 ++++++++++++++++- package.json | 29 +- src/app/app-window.ts | 1 + src/crash/crash-window.ts | 5 + src/crash/crash.ts | 55 + src/crash/type.ts | 15 + src/global.d.ts | 42 + src/main.ts | 227 +- src/util/performance.ts | 4 + src/util/report.ts | 71 + src/util/source-map-support.ts | 35 + tsconfig.json | 1 + 26 files changed, 3317 insertions(+), 109 deletions(-) create mode 100644 .awcache/0ece29aceab6104c95865c4fc7fba8192963c0d0e38ecf4b47848e9757d3639dff858f80de75ac7b78d4374074a0619b30bb90872d19fa2191960aed42711244.json.gzip create mode 100644 .awcache/29020b53dcffa0f8a134af778fa66894ca001439b9b94abf934fb6aff0df609c290fa0ad9f2b3a2409406baecb4a7c0871139620f060e2012ee55306717b6099.json.gzip create mode 100644 .awcache/4286718cac3f081d2ef58296a0c7ddbc54b995ab3f075ea8e834e1b020bbfc7297a060fe59cfdff46916743fe3aa78d989a00f22981c20a7c0879dd0b4cc2ed6.json.gzip create mode 100644 .awcache/593547a26ddd1373f2a30614b6df08f893769156ff7b8872fa3ec3ec9e60a7ffdfd6a64feff9aef4de09848996499d3891dd196ade717de26b52e6c40d2a08dd.json.gzip create mode 100644 .awcache/6244accaa600bb5c1f3b232ecb11dce4afa2c75d3ec728ab7575deef7ef2889b4a643a1adf36f7b9b2a961dd99b4ad69d85d9e89748517884c42ff14e9b90243.json.gzip create mode 100644 .awcache/70cc3ad59074dbe752d3349c79f575953c0844daf2e057fe259ac896405d3db26580671c736a2fe9a18472de9593e9bf3751113fce09e9d70c7adae3e61e12b7.json.gzip create mode 100644 .awcache/7b287b1f00b16124fee9b4bd43e2927954f75a5780840636fd3611a24836a955bf9c13b51a621aa042da0aa6174a6935fa88bfff0375e3ed0fb9272e3e326092.json.gzip create mode 100644 .awcache/f28080185e55439118bd4ac613c308b2496324b16de3d6c99d6e94528261c9b12b81679d7986c5898d16b1b24d21be93be2a0bf27348fc8edb78a97438b142e0.json.gzip create mode 100644 config/app-info.js create mode 100644 config/dist-info.ts create mode 100644 config/helpers.js create mode 100644 config/webpack.common.ts create mode 100644 config/webpack.development.ts create mode 100644 src/app/app-window.ts create mode 100644 src/crash/crash-window.ts create mode 100644 src/crash/crash.ts create mode 100644 src/crash/type.ts create mode 100644 src/global.d.ts create mode 100644 src/util/performance.ts create mode 100644 src/util/report.ts create mode 100644 src/util/source-map-support.ts diff --git a/.awcache/0ece29aceab6104c95865c4fc7fba8192963c0d0e38ecf4b47848e9757d3639dff858f80de75ac7b78d4374074a0619b30bb90872d19fa2191960aed42711244.json.gzip b/.awcache/0ece29aceab6104c95865c4fc7fba8192963c0d0e38ecf4b47848e9757d3639dff858f80de75ac7b78d4374074a0619b30bb90872d19fa2191960aed42711244.json.gzip new file mode 100644 index 0000000000000000000000000000000000000000..99a076479ff9b01541c1db4319d2b3dfdddd7f3a GIT binary patch literal 500 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 literal 0 HcmV?d00001 diff --git a/.awcache/593547a26ddd1373f2a30614b6df08f893769156ff7b8872fa3ec3ec9e60a7ffdfd6a64feff9aef4de09848996499d3891dd196ade717de26b52e6c40d2a08dd.json.gzip b/.awcache/593547a26ddd1373f2a30614b6df08f893769156ff7b8872fa3ec3ec9e60a7ffdfd6a64feff9aef4de09848996499d3891dd196ade717de26b52e6c40d2a08dd.json.gzip new file mode 100644 index 0000000000000000000000000000000000000000..2f7a790a926784aa293504e6572974b3678609d6 GIT binary patch literal 476 zcmV<20VDn&iwFP!000006TMTxZrd;n{S`r{bW^Q##SU{YV2W2{IRqIt>{J_pV$rP| zTQVp*O%deZCo5fp9Xen@5guss>4}e|={+ad5l?x}dk@SL)+Ob9lH29_0ZK{?RJDcg z=sG}p8o{n}NM5jZXU35%$0i7a>E{+mdQ$nRSn&3%1WK3%1qB zsBVFMW*xc`yie|N07k=|fq_6h+DN(`7wjFo8jr{9{Smk-n2bQMz(3^nxuhhhgq*<# zmR`Guak@E9;j{yO;}YinSan6s&_wTCmx)z)_* Sox`JMarh06gxZGZ1ONasyXiCl literal 0 HcmV?d00001 diff --git a/.awcache/6244accaa600bb5c1f3b232ecb11dce4afa2c75d3ec728ab7575deef7ef2889b4a643a1adf36f7b9b2a961dd99b4ad69d85d9e89748517884c42ff14e9b90243.json.gzip b/.awcache/6244accaa600bb5c1f3b232ecb11dce4afa2c75d3ec728ab7575deef7ef2889b4a643a1adf36f7b9b2a961dd99b4ad69d85d9e89748517884c42ff14e9b90243.json.gzip new file mode 100644 index 0000000000000000000000000000000000000000..d7cca7bbc40ddb90c2a400635e11eef6972d0882 GIT binary patch literal 1123 zcmV-p1f2UHiwFP!000006TMe$Pa`)F{wve{LL!-6wRf#f$sMZmQp8b8Ij*|C1R>w< zB-ygqi|tK_ApiZw_J$-Jq&YQWB@~Z6^UO12dpz7l7H@6TiUv_-5RBD%Y6nq!AWuL4 zi>Zw>9Oe>#*Q!KqXAQh9m9~b#AiBInbE2}Uz(K^|4kn_gumx6E2=gW(OoS#tkzW0x z#WkLY65fHtDSSe4MN(s-Q)(=Q#&f6oQHvBm<#v3oDxEqbQW{n=wYicoU0of2?Vy_vq48Z%Zmy;!Nq}3h^0a_NSs zanFEMFsg(W(jwBNups12NrbU5AW~b2qL{fn>l`PTIlDDf&j%rF9ulJuE$*e%VhDy%mo&{Y=qLYE6LL5w05Y{kYP7yNYl*VG>m?Ley&1qPt zio9ve)=+clnM~sKHVekV4n0lGy@(uP6ZNglI~DNK-m4Pe;#SsC1gk zkw>q?agdIF$b}iJs>lGPsdSy@CF3>3nmwhcj^HcSOZBkzaoB?Ud)V7+##WuvR>@Ig zaU$He?dh3sK1B6xTk*PXSFdlr;=v=UIW@yYidaOUMXkGNg4)o{h+3~$G|UU6YL)z9 zXfmNqO#0frdmuX{a)Cwh5Zc8l~rY8bedE)FOqQY z_Q~hIsY-W=V{3>+nE#-Z-KpOPWD~XiiT;Dd1&dtaa;g_TEhTLyNm0Aa>0?KnpD@9> zV27L^I`N2|a(>GCod48eUCz6t*iU+4=}m_po<7X}&CWR=b=XaZ^P8Z|jyeCUeZ;%t zp2umQ@$Rp|mJs`H`8X)LIk!6QJUCokUKra>nDonr9GRt~pxQp>UEN)f>b_r$e(N#Q z<0qbJ&oMoJZ10JFAE>YsmkFN)pAN6%#dU81{fPH%ZRaPwv7_iH|H)p{@U4WP%ADiE-M{E|xWhWSW z9Xc!g&FW@(Y94Lrk^UwMWh7{S8{wQX+Z#V6QQWIp1>Z+CcHcFJ&zoDFX8cqZTgMcMYH}5HF3T7 zc&6{z*mG>#Z`9q!mVLvLYzP+afgUyA*=2#P%kMT%g42EKE!cfCvHM11_f5oZ8;IRD z58u!@Y}GVu*D%bVKO)bx3bn=mXcR8yEXuI-59tdw2D@`5Rfd<>{$DAR{A_0>{kXZr pnpg1;NlsVwHqKtm>t|u`1>NP+lmthI!u!0Ke*v`7F&>l-008`DHoO1; literal 0 HcmV?d00001 diff --git a/.awcache/70cc3ad59074dbe752d3349c79f575953c0844daf2e057fe259ac896405d3db26580671c736a2fe9a18472de9593e9bf3751113fce09e9d70c7adae3e61e12b7.json.gzip b/.awcache/70cc3ad59074dbe752d3349c79f575953c0844daf2e057fe259ac896405d3db26580671c736a2fe9a18472de9593e9bf3751113fce09e9d70c7adae3e61e12b7.json.gzip new file mode 100644 index 0000000000000000000000000000000000000000..9877d85927cc0a509450019eda2adf0285c81767 GIT binary patch literal 2254 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 literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index f4f46a5..30c1f03 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # compiled output /dist +/build /tmp /out-tsc # Only exists if Bazel was run diff --git a/config/app-info.js b/config/app-info.js new file mode 100644 index 0000000..f18c3a4 --- /dev/null +++ b/config/app-info.js @@ -0,0 +1,17 @@ +const fse = require('fs-extra'); +const path = require('path'); + +const EVENT = process.env.npm_lifecycle_event || ''; +const DEV = EVENT.includes('dev'); + +function getReplacements() { + return { + __DARWIN__: process.platform === 'darwin', + __WIN32__: process.platform === 'win32', + __LINUX__: process.platform === 'linux', + __DEV__: DEV, + 'process.env.TEST_ENV': JSON.stringify(process.env.TEST_ENV) + }; +} + +exports.getReplacements = getReplacements; diff --git a/config/dist-info.ts b/config/dist-info.ts new file mode 100644 index 0000000..d89b640 --- /dev/null +++ b/config/dist-info.ts @@ -0,0 +1,3 @@ +export function getReleaseChannel() { + return process.env.NODE_ENV || 'development'; +} diff --git a/config/helpers.js b/config/helpers.js new file mode 100644 index 0000000..759ba35 --- /dev/null +++ b/config/helpers.js @@ -0,0 +1,36 @@ +const path = require('path'); +const fse = require('fs-extra'); + +// Helper functions +const _root = path.resolve(__dirname, '..'); + +function checkNodeImport(context, request, cb) { + if (!path.isAbsolute(request) && request.charAt(0) !== '.') { + cb(null, 'commonjs ' + request); + return; + } + cb(); +} + +function includeClientPackages(packages) { + return function(context, request, cb) { + if (packages && packages.indexOf(request) !== -1) { + return cb(); + } + return checkNodeImport(context, request, cb); + }; +} + +function hasProcessFlag(flag) { + return process.argv.join('').indexOf(flag) > -1; +} + +function root(args) { + args = Array.prototype.slice.call(arguments, 0); + return path.join.apply(path, [_root].concat(args)); +} + +exports.checkNodeImport; +exports.includeClientPackages = includeClientPackages; +exports.hasProcessFlag = hasProcessFlag; +exports.root = root; diff --git a/config/webpack.common.ts b/config/webpack.common.ts new file mode 100644 index 0000000..9a18a53 --- /dev/null +++ b/config/webpack.common.ts @@ -0,0 +1,88 @@ +import * as path from 'path'; +import CleanWebpackPlugin from 'clean-webpack-plugin'; +import * as webpack from 'webpack'; +import * as merge from 'webpack-merge'; +import { getReleaseChannel } from './dist-info'; +import { getReplacements } from './app-info'; + +const channel = getReleaseChannel(); + +export const externals = ['7zip']; +if (channel === 'development') { + externals.push('devtron'); +} + +const outputDir = 'dist'; +const tsConfigBase = '../tsconfig.json'; + +const atlConfig = { + configFileName: tsConfigBase +}; + +export const replacements = getReplacements(); + +const commonConfig: webpack.Configuration = { + optimization: { + noEmitOnErrors: true + }, + externals: externals, + output: { + filename: '[name].js', + path: path.resolve(__dirname, '..', outputDir), + libraryTarget: 'commonjs2' + }, + module: { + rules: [ + { + test: /\.tsx?$/, + include: path.resolve(__dirname, '../src'), + use: [ + { + loader: 'awesome-typescript-loader?' + JSON.stringify(atlConfig), + options: { + useCache: true + } + } + ], + exclude: /node_modules/ + }, + { + test: /\.json$/, + loader: 'json-loader' + }, + { + test: /\.node$/, + loader: 'awesome-node-loader', + options: { + name: '[name].[ext]' + } + } + ] + }, + plugins: [ + new CleanWebpackPlugin({ verbose: false }), + // This saves us a bunch of bytes by pruning locales (which we don't use) + // from moment. + new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/) + ], + resolve: { + extensions: ['.js', '.ts', '.tsx'], + modules: [path.resolve(__dirname, '../node_modules/')] + }, + node: { + __dirname: false, + __filename: false + } +}; + +export const main = merge({}, commonConfig, { + entry: { main: path.resolve(__dirname, '../src/main') }, + target: 'electron-main', + plugins: [ + new webpack.DefinePlugin( + Object.assign({}, replacements, { + __PROCESS_KIND__: JSON.stringify('main') + }) + ) + ] +}); diff --git a/config/webpack.development.ts b/config/webpack.development.ts new file mode 100644 index 0000000..77b9cf6 --- /dev/null +++ b/config/webpack.development.ts @@ -0,0 +1,13 @@ +import * as common from './webpack.common'; + +import * as webpack from 'webpack'; +import * as merge from 'webpack-merge'; + +const config: webpack.Configuration = { + mode: 'development', + devtool: 'source-map' +}; + +const mainConfig = merge({}, common.main, config); + +export = [mainConfig]; diff --git a/package-lock.json b/package-lock.json index b9c233e..f00ced1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,18 +41,271 @@ "integrity": "sha512-IUQawOSDuAPxgO5XQtteJ/9Y9pYRNezpL25srBm0wBUNeQn9dj03d/9TPjh2Dhc34RfJwE/89ANqkOfp653Z3g==", "dev": true }, + "@types/clean-webpack-plugin": { + "version": "0.1.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/clean-webpack-plugin/-/clean-webpack-plugin-0.1.3.tgz", + "integrity": "sha512-exC05JEISRPSPdPMUn09/P6IigOo4GWkULnI5V4JQRYh9qcTk6lxdyrou0JjH6gw8UZF/On1sOg+5+03mVWagQ==", + "dev": true, + "requires": { + "clean-webpack-plugin": "*" + } + }, + "@types/event-kit": { + "version": "2.4.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/event-kit/-/event-kit-2.4.0.tgz", + "integrity": "sha512-z8rC3bYgdkV+OEKr2aMcooY91e1uIwiWrjee05NR4tqG+jgPL/p8ZYkrtf+U91sTq2Z6pp2Ul9vGY3wYI1Lmuw==", + "dev": true + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", + "dev": true + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, "@types/google-protobuf": { "version": "3.2.7", "resolved": "https://nexus.loafle.net/repository/npm-all/@types/google-protobuf/-/google-protobuf-3.2.7.tgz", "integrity": "sha512-Pb9wl5qDEwfnJeeu6Zpn5Y+waLrKETStqLZXHMGCTbkNuBBudPy4qOGN6veamyeoUBwTm2knOVeP/FlHHhhmzA==", "dev": true }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, "@types/node": { "version": "8.10.48", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.48.tgz", "integrity": "sha512-c35YEBTkL4rzXY2ucpSKy+UYHjUBIIkuJbWYbsGIrKLEWU5dgJMmLkkIb3qeC3O3Tpb1ZQCwecscvJTDjDjkRw==", "dev": true }, + "@types/source-map-support": { + "version": "0.5.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/@types/source-map-support/-/source-map-support-0.5.0.tgz", + "integrity": "sha512-OrnAz5K5dXDgMdeRRoXIjDAvkodQ9ESvVJCyzrhzUJKmCkXgmYx/KLUBcVFe5eS4FiohfcY7YPxsdkmSwJz9wA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "accessibility-developer-tools": { + "version": "2.12.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/accessibility-developer-tools/-/accessibility-developer-tools-2.12.0.tgz", + "integrity": "sha1-PaDM6dbsY3OWS4TzXbfPw996tRQ=", + "dev": true + }, + "acorn": { + "version": "6.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "dev": true + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -65,6 +318,12 @@ "uri-js": "^4.2.2" } }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, "ajv-keywords": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", @@ -116,7 +375,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -203,6 +463,12 @@ } } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "arg": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", @@ -242,6 +508,21 @@ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, + "array-union": { + "version": "1.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://nexus.loafle.net/repository/npm-all/array-unique/-/array-unique-0.3.2.tgz", @@ -252,6 +533,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz", "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=", + "dev": true, "requires": { "colour": "~0.7.1", "optjs": "~3.2.2" @@ -266,6 +548,44 @@ "safer-buffer": "~2.1.0" } }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -308,6 +628,31 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "awesome-node-loader": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/awesome-node-loader/-/awesome-node-loader-1.1.1.tgz", + "integrity": "sha1-pAK38J9yzRx7GmXnUYAjby9UONk=", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "awesome-typescript-loader": { + "version": "5.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", + "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.1.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.3", + "webpack-log": "^1.2.0" + } + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -395,6 +740,12 @@ "tweetnacl": "^0.14.3" } }, + "big.js": { + "version": "5.2.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, "binary-extensions": { "version": "1.13.1", "resolved": "https://nexus.loafle.net/repository/npm-all/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -416,6 +767,12 @@ "bluebird": "^3.5.3" } }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://nexus.loafle.net/repository/npm-all/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", @@ -508,6 +865,102 @@ } } }, + "brorand": { + "version": "1.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -536,6 +989,12 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, "builder-util": { "version": "9.7.1", "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.7.1.tgz", @@ -596,14 +1055,66 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, "bytebuffer": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz", "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=", + "dev": true, "requires": { "long": "~3" } }, + "cacache": { + "version": "11.3.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://nexus.loafle.net/repository/npm-all/cache-base/-/cache-base-1.0.1.tgz", @@ -624,7 +1135,8 @@ "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true }, "camelcase-keys": { "version": "2.1.0", @@ -679,6 +1191,21 @@ "upath": "^1.1.1" } }, + "chownr": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", + "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -691,6 +1218,16 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "class-utils": { "version": "0.3.6", "resolved": "https://nexus.loafle.net/repository/npm-all/class-utils/-/class-utils-0.3.6.tgz", @@ -714,6 +1251,15 @@ } } }, + "clean-webpack-plugin": { + "version": "2.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/clean-webpack-plugin/-/clean-webpack-plugin-2.0.2.tgz", + "integrity": "sha512-pi1111o4OBd9qvacbgs+NRqClfVPKVIc66B4d8kx6Ho/L+i9entQ/NpK600CsTYTPu3kWvKwwyKarsYMvC2xeA==", + "dev": true, + "requires": { + "del": "^4.0.0" + } + }, "cli-boxes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", @@ -724,16 +1270,24 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wrap-ansi": "^2.0.0" } }, + "co": { + "version": "4.6.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "collection-visit": { "version": "1.0.0", @@ -763,7 +1317,8 @@ "colour": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz", - "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=" + "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g=", + "dev": true }, "combined-stream": { "version": "1.0.7", @@ -780,6 +1335,12 @@ "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "dev": true }, + "commondir": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, "compare-version": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", @@ -855,18 +1416,63 @@ "xdg-basedir": "^3.0.0" } }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://nexus.loafle.net/repository/npm-all/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "core-js": { + "version": "3.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/core-js/-/core-js-3.0.1.tgz", + "integrity": "sha512-sco40rF+2KlE0ROMvydjkrVMMG1vYilP2ALoRXcYR4obqbYIuV3Bg+51GEDW+HF8n7NRA+iaA4qD0nD9lo9mew==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", @@ -876,6 +1482,58 @@ "capture-stack-trace": "^1.0.0" } }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://nexus.loafle.net/repository/npm-all/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/cross-env/-/cross-env-5.2.0.tgz", + "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5", + "is-windows": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -892,6 +1550,25 @@ "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz", "integrity": "sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8=" }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", @@ -907,6 +1584,21 @@ "array-find-index": "^1.0.1" } }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -916,6 +1608,12 @@ "assert-plus": "^1.0.0" } }, + "date-now": { + "version": "0.1.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -928,7 +1626,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", @@ -942,6 +1641,23 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } + }, "define-property": { "version": "2.0.2", "resolved": "https://nexus.loafle.net/repository/npm-all/define-property/-/define-property-2.0.2.tgz", @@ -983,18 +1699,79 @@ } } }, + "del": { + "version": "4.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, + "des.js": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "devtron": { + "version": "1.4.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/devtron/-/devtron-1.4.0.tgz", + "integrity": "sha1-tedIvW6Vu+cL/MaKrm/mlhGUQeE=", + "dev": true, + "requires": { + "accessibility-developer-tools": "^2.11.0", + "highlight.js": "^9.3.0", + "humanize-plus": "^1.8.1" + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, "dmg-builder": { "version": "6.6.1", "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.6.1.tgz", @@ -1011,6 +1788,12 @@ "sanitize-filename": "^1.6.1" } }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, "dot-prop": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", @@ -1038,6 +1821,56 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "easy-stack": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/easy-stack/-/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1441,15 +2274,6 @@ "mime": "^2.4.1" } }, - "electron-reload": { - "version": "1.4.0", - "resolved": "https://nexus.loafle.net/repository/npm-all/electron-reload/-/electron-reload-1.4.0.tgz", - "integrity": "sha512-pluNocZ9LqIeKmUzUSEHa+vT1+dG5923zXez4iwEhWqC2hydALPKvu+kJJzkdYRJv5z15S8waDthyrMyKd5MCQ==", - "dev": true, - "requires": { - "chokidar": "^2.0.4" - } - }, "electron-window-state": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/electron-window-state/-/electron-window-state-5.0.3.tgz", @@ -1459,12 +2283,33 @@ "mkdirp": "^0.5.1" } }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -1474,12 +2319,32 @@ "once": "^1.4.0" } }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, "env-paths": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", "dev": true }, + "errno": { + "version": "0.1.7", + "resolved": "https://nexus.loafle.net/repository/npm-all/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1489,24 +2354,108 @@ "is-arrayish": "^0.2.1" } }, + "es5-ext": { + "version": "0.10.50", + "resolved": "https://nexus.loafle.net/repository/npm-all/es5-ext/-/es5-ext-0.10.50.tgz", + "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "^1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "event-kit": { + "version": "2.5.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/event-kit/-/event-kit-2.5.3.tgz", + "integrity": "sha512-b7Qi1JNzY4BfAYfnIRanLk0DOD1gdkWHT4GISIn8Q2tAf3LpU8SP2CMwWaq40imYoKWbtN4ZhbSRxvsnikooZQ==" + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", @@ -1572,6 +2521,15 @@ } } }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -1720,6 +2678,12 @@ "pend": "~1.2.0" } }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -1753,6 +2717,35 @@ } } }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -1774,6 +2767,71 @@ } } }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "for-in": { "version": "1.0.2", "resolved": "https://nexus.loafle.net/repository/npm-all/for-in/-/for-in-1.0.2.tgz", @@ -1806,6 +2864,48 @@ "map-cache": "^0.2.2" } }, + "from2": { + "version": "2.3.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -1826,6 +2926,18 @@ "fs-extra": "^7.0.1" } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://nexus.loafle.net/repository/npm-all/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2379,6 +3491,12 @@ } } }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2455,6 +3573,43 @@ "ini": "^1.3.4" } }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, "google-protobuf": { "version": "3.8.0-rc.1", "resolved": "https://nexus.loafle.net/repository/npm-all/google-protobuf/-/google-protobuf-3.8.0-rc.1.tgz", @@ -2489,6 +3644,7 @@ "version": "1.20.3", "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.20.3.tgz", "integrity": "sha512-GsEsi0NVj6usS/xor8pF/xDbDiwZQR59aZl5NUZ59Sy2bdPQFZ3UePr5wevZjHboirRCIQCKRI1cCgvSWUe2ag==", + "dev": true, "requires": { "lodash.camelcase": "^4.3.0", "lodash.clone": "^4.5.0", @@ -2499,19 +3655,23 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "bundled": true, + "dev": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true + "bundled": true, + "dev": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, + "dev": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -2519,11 +3679,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2531,50 +3693,61 @@ }, "chownr": { "version": "1.1.1", - "bundled": true + "bundled": true, + "dev": true }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "deep-extend": { "version": "0.6.0", - "bundled": true + "bundled": true, + "dev": true }, "delegates": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "detect-libc": { "version": "1.0.3", - "bundled": true + "bundled": true, + "dev": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, + "dev": true, "requires": { "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "gauge": { "version": "2.7.4", "bundled": true, + "dev": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -2588,11 +3761,13 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true + "bundled": true, + "dev": true }, "iconv-lite": { "version": "0.4.23", "bundled": true, + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -2600,6 +3775,7 @@ "ignore-walk": { "version": "3.0.1", "bundled": true, + "dev": true, "requires": { "minimatch": "^3.0.4" } @@ -2607,6 +3783,7 @@ "inflight": { "version": "1.0.6", "bundled": true, + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -2614,37 +3791,44 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "dev": true }, "ini": { "version": "1.3.5", - "bundled": true + "bundled": true, + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "minimatch": { "version": "3.0.4", "bundled": true, + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "1.2.0", - "bundled": true + "bundled": true, + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, + "dev": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2653,6 +3837,7 @@ "minizlib": { "version": "1.2.1", "bundled": true, + "dev": true, "requires": { "minipass": "^2.2.1" } @@ -2660,19 +3845,22 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "dev": true, "requires": { "minimist": "0.0.8" }, "dependencies": { "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "dev": true } } }, "needle": { "version": "2.3.1", "bundled": true, + "dev": true, "requires": { "debug": "^4.1.0", "iconv-lite": "^0.4.4", @@ -2682,19 +3870,22 @@ "debug": { "version": "4.1.1", "bundled": true, + "dev": true, "requires": { "ms": "^2.1.1" } }, "ms": { "version": "2.1.1", - "bundled": true + "bundled": true, + "dev": true } } }, "node-pre-gyp": { "version": "0.13.0", "bundled": true, + "dev": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -2711,6 +3902,7 @@ "nopt": { "version": "4.0.1", "bundled": true, + "dev": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -2718,11 +3910,13 @@ }, "npm-bundled": { "version": "1.0.6", - "bundled": true + "bundled": true, + "dev": true }, "npm-packlist": { "version": "1.4.1", "bundled": true, + "dev": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -2731,6 +3925,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, + "dev": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -2740,30 +3935,36 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true + "bundled": true, + "dev": true }, "once": { "version": "1.4.0", "bundled": true, + "dev": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "osenv": { "version": "0.1.5", "bundled": true, + "dev": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -2771,15 +3972,18 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "bundled": true, + "dev": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "bundled": true, + "dev": true }, "rc": { "version": "1.2.8", "bundled": true, + "dev": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -2790,6 +3994,7 @@ "readable-stream": { "version": "2.3.6", "bundled": true, + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2803,6 +4008,7 @@ "rimraf": { "version": "2.6.3", "bundled": true, + "dev": true, "requires": { "glob": "^7.1.3" }, @@ -2810,6 +4016,7 @@ "glob": { "version": "7.1.3", "bundled": true, + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2823,31 +4030,38 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "bundled": true, + "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "bundled": true, + "dev": true }, "sax": { "version": "1.2.4", - "bundled": true + "bundled": true, + "dev": true }, "semver": { "version": "5.7.0", - "bundled": true + "bundled": true, + "dev": true }, "set-blocking": { "version": "2.0.0", - "bundled": true + "bundled": true, + "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true + "bundled": true, + "dev": true }, "string-width": { "version": "1.0.2", "bundled": true, + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2857,6 +4071,7 @@ "string_decoder": { "version": "1.1.1", "bundled": true, + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -2864,17 +4079,20 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "bundled": true, + "dev": true }, "tar": { "version": "4.4.8", "bundled": true, + "dev": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -2887,22 +4105,26 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "wide-align": { "version": "1.1.3", "bundled": true, + "dev": true, "requires": { "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "yallist": { "version": "3.0.3", - "bundled": true + "bundled": true, + "dev": true } } }, @@ -2922,12 +4144,27 @@ "har-schema": "^2.0.0" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://nexus.loafle.net/repository/npm-all/has-value/-/has-value-1.0.0.tgz", @@ -2960,6 +4197,52 @@ } } }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://nexus.loafle.net/repository/npm-all/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "highlight.js": { + "version": "9.15.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/highlight.js/-/highlight.js-9.15.6.tgz", + "integrity": "sha512-zozTAWM1D6sozHo8kqhfYgsac+B+q0PmsjXeyDrYIHHcBN0zTVT66+s2GW1GZv7DbyaROdLXKdabwS/WqPyIdQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -2977,6 +4260,18 @@ "sshpk": "^1.7.0" } }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "humanize-plus": { + "version": "1.8.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/humanize-plus/-/humanize-plus-1.8.2.tgz", + "integrity": "sha1-pls0RZrWNnrbs3B6gqPJ+RYWcDA=", + "dev": true + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -2986,12 +4281,34 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://nexus.loafle.net/repository/npm-all/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, + "import-local": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -3007,6 +4324,12 @@ "repeating": "^2.0.0" } }, + "indexof": { + "version": "0.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -3027,10 +4350,17 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "interpret": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", @@ -3146,6 +4476,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3201,6 +4532,32 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-path-cwd": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/is-path-cwd/-/is-path-cwd-2.1.0.tgz", + "integrity": "sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, "is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", @@ -3285,6 +4642,21 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "js-message": { + "version": "1.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/js-message/-/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true + }, + "js-queue": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/js-queue/-/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "requires": { + "easy-stack": "^1.0.0" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3307,6 +4679,12 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -3319,6 +4697,15 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -3350,6 +4737,12 @@ "graceful-fs": "^4.1.6" } }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -3399,6 +4792,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "^1.0.0" } @@ -3416,6 +4810,40 @@ "strip-bom": "^2.0.0" } }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3432,20 +4860,60 @@ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.endswith": { + "version": "4.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/lodash.endswith/-/lodash.endswith-4.2.1.tgz", + "integrity": "sha1-/tWawXOO0+I27dcGTsRWRIs3vAk=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + } }, "long": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", - "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", + "dev": true }, "loud-rejection": { "version": "1.6.0", @@ -3496,6 +4964,12 @@ "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", "dev": true }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -3526,6 +5000,17 @@ "object-visit": "^1.0.0" } }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", @@ -3537,6 +5022,48 @@ "p-is-promise": "^2.0.0" } }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "meow": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", @@ -3584,6 +5111,16 @@ "to-regex": "^3.0.2" } }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, "mime": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.2.tgz", @@ -3611,6 +5148,18 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -3624,6 +5173,72 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, "mixin-deep": { "version": "1.3.1", "resolved": "https://nexus.loafle.net/repository/npm-all/mixin-deep/-/mixin-deep-1.3.1.tgz", @@ -3653,6 +5268,20 @@ "minimist": "0.0.8" } }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -3662,7 +5291,8 @@ "nan": { "version": "2.13.2", "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "dev": true }, "nanomatch": { "version": "1.2.13", @@ -3683,12 +5313,115 @@ "to-regex": "^3.0.1" } }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-ipc": { + "version": "9.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/node-ipc/-/node-ipc-9.1.1.tgz", + "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/node-libs-browser/-/node-libs-browser-2.2.0.tgz", + "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "string_decoder": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3757,7 +5490,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "oauth-sign": { "version": "0.9.0", @@ -3817,6 +5551,26 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + } + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://nexus.loafle.net/repository/npm-all/object.pick/-/object.pick-1.3.0.tgz", @@ -3837,12 +5591,20 @@ "optjs": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz", - "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" + "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=", + "dev": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, "requires": { "lcid": "^1.0.0" } @@ -3883,6 +5645,12 @@ "p-limit": "^2.0.0" } }, + "p-map": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -3901,6 +5669,149 @@ "semver": "^5.1.0" } }, + "pako": { + "version": "1.0.10", + "resolved": "https://nexus.loafle.net/repository/npm-all/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parallel-webpack": { + "version": "2.3.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/parallel-webpack/-/parallel-webpack-2.3.0.tgz", + "integrity": "sha512-RCIDF+YOqyAJeM8NumtOQ8JYjUXexDRIN4slFNfvUp1RxLB1zLeLZMAwlP6s7l9LhuR5xJ2pv8ckIsdESzSqog==", + "dev": true, + "requires": { + "ajv": "^4.9.2", + "bluebird": "^3.0.6", + "chalk": "^1.1.1", + "interpret": "^1.0.1", + "lodash.assign": "^4.0.8", + "lodash.endswith": "^4.0.1", + "lodash.flatten": "^4.2.0", + "minimist": "^1.2.0", + "node-ipc": "^9.1.0", + "pluralize": "^1.2.1", + "supports-color": "^3.1.2", + "worker-farm": "^1.3.1" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://nexus.loafle.net/repository/npm-all/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, "parse-color": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", @@ -3927,12 +5838,24 @@ "error-ex": "^1.2.0" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, "pascalcase": { "version": "0.1.1", "resolved": "https://nexus.loafle.net/repository/npm-all/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, "path-dirname": { "version": "1.0.2", "resolved": "https://nexus.loafle.net/repository/npm-all/path-dirname/-/path-dirname-1.0.2.tgz", @@ -3979,6 +5902,19 @@ "pinkie-promise": "^2.0.0" } }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://nexus.loafle.net/repository/npm-all/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -4012,6 +5948,26 @@ "pinkie": "^2.0.0" } }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + } + } + }, "plist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", @@ -4023,6 +5979,12 @@ "xmldom": "0.1.x" } }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://nexus.loafle.net/repository/npm-all/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -4045,6 +6007,12 @@ "meow": "^3.1.0" } }, + "process": { + "version": "0.11.10", + "resolved": "https://nexus.loafle.net/repository/npm-all/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -4061,10 +6029,17 @@ "through2": "~0.2.3" } }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "protobufjs": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz", "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==", + "dev": true, "requires": { "ascli": "~1", "bytebuffer": "~5", @@ -4072,6 +6047,12 @@ "yargs": "^3.10.0" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -4084,6 +6065,20 @@ "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -4094,6 +6089,29 @@ "once": "^1.3.1" } }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -4106,6 +6124,37 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "querystring": { + "version": "0.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, "rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -4229,6 +6278,18 @@ "strip-indent": "^1.0.1" } }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://nexus.loafle.net/repository/npm-all/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "reflection": { + "version": "0.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/reflection/-/reflection-0.0.1.tgz", + "integrity": "sha1-km6640RAo5JFPeY/EErcIPWzRFc=", + "dev": true + }, "regex-not": { "version": "1.0.2", "resolved": "https://nexus.loafle.net/repository/npm-all/regex-not/-/regex-not-1.0.2.tgz", @@ -4334,6 +6395,31 @@ "path-parse": "^1.0.6" } }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, "resolve-url": { "version": "0.2.1", "resolved": "https://nexus.loafle.net/repository/npm-all/resolve-url/-/resolve-url-0.2.1.tgz", @@ -4354,6 +6440,25 @@ "glob": "^7.1.3" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, "rxjs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", @@ -4398,6 +6503,17 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, "semver": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", @@ -4412,6 +6528,12 @@ "semver": "^5.0.3" } }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", + "dev": true + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -4441,6 +6563,22 @@ } } }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://nexus.loafle.net/repository/npm-all/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -4599,6 +6737,12 @@ } } }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4704,6 +6848,15 @@ "tweetnacl": "~0.14.0" } }, + "ssri": { + "version": "6.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, "stat-mode": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.3.0.tgz", @@ -4731,10 +6884,120 @@ } } }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://nexus.loafle.net/repository/npm-all/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4751,6 +7014,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4820,6 +7084,12 @@ "has-flag": "^3.0.0" } }, + "tapable": { + "version": "1.1.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, "temp-file": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", @@ -4840,6 +7110,33 @@ "execa": "^0.7.0" } }, + "terser": { + "version": "3.17.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/terser/-/terser-3.17.0.tgz", + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + } + }, + "terser-webpack-plugin": { + "version": "1.2.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz", + "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==", + "dev": true, + "requires": { + "cacache": "^11.0.2", + "find-cache-dir": "^2.0.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "terser": "^3.16.1", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + } + }, "throttleit": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", @@ -4862,6 +7159,21 @@ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://nexus.loafle.net/repository/npm-all/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, "to-object-path": { "version": "0.3.0", "resolved": "https://nexus.loafle.net/repository/npm-all/to-object-path/-/to-object-path-0.3.0.tgz", @@ -4991,6 +7303,21 @@ "tslib": "^1.8.1" } }, + "tsyringe": { + "version": "3.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/tsyringe/-/tsyringe-3.2.0.tgz", + "integrity": "sha512-9Gh3605NgIv/ssBtx+L1vWv+Ep0aBc0bVRgLssPyW1VKau56cdBX4Gu1v5GWdo9YwWzB3Wr0iiPO6nRT08nVyA==", + "dev": true, + "requires": { + "tslib": "^1.9.3" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -5059,6 +7386,24 @@ } } }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -5181,6 +7526,24 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url": { + "version": "0.11.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", @@ -5202,6 +7565,15 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, + "util": { + "version": "0.11.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -5214,6 +7586,12 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -5235,6 +7613,278 @@ "extsprintf": "^1.2.0" } }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://nexus.loafle.net/repository/npm-all/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "webpack": { + "version": "4.31.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack/-/webpack-4.31.0.tgz", + "integrity": "sha512-n6RVO3X0LbbipoE62akME9K/JI7qYrwwufs20VvgNNpqUoH4860KkaxJTbGq5bgkVZF9FqyyTG/0WPLH3PVNJA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.0.5", + "acorn-dynamic-import": "^4.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^1.0.0", + "tapable": "^1.1.0", + "terser-webpack-plugin": "^1.1.0", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + } + }, + "webpack-cli": { + "version": "3.3.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack-cli/-/webpack-cli-3.3.2.tgz", + "integrity": "sha512-FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.0", + "findup-sync": "^2.0.0", + "global-modules": "^1.0.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://nexus.loafle.net/repository/npm-all/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://nexus.loafle.net/repository/npm-all/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" + } + }, + "webpack-merge": { + "version": "4.2.1", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack-merge/-/webpack-merge-4.2.1.tgz", + "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", + "dev": true, + "requires": { + "lodash": "^4.17.5" + } + }, + "webpack-node-externals": { + "version": "1.7.2", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", + "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", + "dev": true + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -5295,12 +7945,23 @@ "window-size": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=" + "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://nexus.loafle.net/repository/npm-all/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -5363,7 +8024,8 @@ "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", @@ -5375,6 +8037,7 @@ "version": "3.32.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, "requires": { "camelcase": "^2.0.1", "cliui": "^3.0.3", diff --git a/package.json b/package.json index 98ee03e..59930d4 100644 --- a/package.json +++ b/package.json @@ -9,30 +9,53 @@ "author": "", "license": "ISC", "scripts": { - "electron": "tsc --project ./ && electron . --serve" + "electron": "tsc --project ./ && electron . --serve", + "build:dev": "cross-env NODE_ENV=development parallel-webpack --config config/webpack.development.ts --progress --profile && electron . --serve" }, "dependencies": { "electron-devtools-installer": "^2.2.4", "electron-log": "^3.0.5", "electron-window-state": "^5.0.3", + "event-kit": "^2.5.3", "file-uri-to-path": "^1.0.0", "file-url": "^3.0.0", "fs-extra": "^7.0.1", - "grpc": "^1.20.3", "rxjs": "^6.5.2" }, "devDependencies": { "@odds-crawler/proto": "^0.0.6", + "@types/clean-webpack-plugin": "^0.1.3", + "@types/event-kit": "^2.4.0", "@types/google-protobuf": "^3.2.7", "@types/node": "^8.9.4", + "@types/source-map-support": "^0.5.0", + "awesome-node-loader": "^1.1.1", + "awesome-typescript-loader": "^5.2.1", + "clean-webpack-plugin": "^2.0.2", + "core-js": "^3.0.1", + "cross-env": "^5.2.0", + "devtron": "^1.4.0", "electron": "^5.0.0", "electron-builder": "^20.40.2", "electron-connect": "^0.6.3", "electron-debug": "^3.0.0", + "electron-log": "^3.0.5", + "electron-window-state": "^5.0.3", "google-protobuf": "^3.8.0-rc.1", + "grpc": "^1.20.3", + "parallel-webpack": "^2.3.0", + "reflect-metadata": "^0.1.13", + "reflection": "^0.0.1", + "source-map-support": "^0.5.12", "ts-node": "^8.1.0", + "tslib": "^1.9.3", "tslint": "^5.16.0", - "typescript": "^3.4.5" + "typescript": "^3.4.5", + "tsyringe": "^3.2.0", + "webpack": "^4.31.0", + "webpack-cli": "^3.3.2", + "webpack-merge": "^4.2.1", + "webpack-node-externals": "^1.7.2" }, "main": "dist/main.js" } diff --git a/src/app/app-window.ts b/src/app/app-window.ts new file mode 100644 index 0000000..06fe271 --- /dev/null +++ b/src/app/app-window.ts @@ -0,0 +1 @@ +export class AppWindow {} diff --git a/src/crash/crash-window.ts b/src/crash/crash-window.ts new file mode 100644 index 0000000..73c1ea7 --- /dev/null +++ b/src/crash/crash-window.ts @@ -0,0 +1,5 @@ +import { CrashType } from './type'; + +export class CrashWindow { + public constructor(type: CrashType, error: Error) {} +} diff --git a/src/crash/crash.ts b/src/crash/crash.ts new file mode 100644 index 0000000..32179a5 --- /dev/null +++ b/src/crash/crash.ts @@ -0,0 +1,55 @@ +import * as log from 'electron-log'; +import { CrashWindow } from './crash-window'; + +let hasReportedUncaughtException = false; + +/** Show the uncaught exception UI. */ +export function showUncaughtException(isLaunchError: boolean, error: Error) { + log.error(error); + + if (hasReportedUncaughtException) { + return; + } + + hasReportedUncaughtException = true; + + // setCrashMenu(); + + const crashWindow = new CrashWindow( + isLaunchError ? 'launch' : 'generic', + error + ); + + // crashWindow.onDidLoad(() => { + // crashWindow.show(); + // }); + + // crashWindow.onFailedToLoad(() => { + // dialog.showMessageBox( + // { + // type: 'error', + // title: __DARWIN__ ? `Unrecoverable Error` : 'Unrecoverable error', + // message: + // `GitHub Desktop has encountered an unrecoverable error and will need to restart.\n\n` + + // `This has been reported to the team, but if you encounter this repeatedly please report ` + + // `this issue to the GitHub Desktop issue tracker.\n\n${error.stack || + // error.message}` + // }, + // response => { + // if (!__DEV__) { + // app.relaunch(); + // } + // app.quit(); + // } + // ); + // }); + + // crashWindow.onClose(() => { + // if (!__DEV__) { + // app.relaunch(); + // } + // app.quit(); + // }); + + // crashWindow.load(); +} diff --git a/src/crash/type.ts b/src/crash/type.ts new file mode 100644 index 0000000..5794621 --- /dev/null +++ b/src/crash/type.ts @@ -0,0 +1,15 @@ +export type CrashType = 'launch' | 'generic'; + +export interface ICrashDetails { + /** + * Whether this error was thrown before we were able to launch + * the main renderer process or not. See the documentation for + * the ErrorType type for more details. + */ + readonly location: CrashType; + + /** + * The error that caused us to spawn the crash process. + */ + readonly error: Error; +} diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..97a3ed3 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,42 @@ +/* eslint-disable @typescript-eslint/interface-name-prefix */ +/** Is the app running in dev mode? */ +declare const __DEV__: boolean; + +/** Is the app being built to run on Darwin? */ +declare const __DARWIN__: boolean; + +/** Is the app being built to run on Win32? */ +declare const __WIN32__: boolean; + +/** Is the app being built to run on Linux? */ +declare const __LINUX__: boolean; + +/** + * The currently executing process kind, this is specific to desktop + * and identifies the processes that we have. + */ +declare const __PROCESS_KIND__: 'main' | 'renderer' | 'crash'; + +declare namespace Electron { + interface MenuItem { + readonly accelerator?: Electron.Accelerator; + readonly submenu?: Electron.Menu; + readonly role?: string; + readonly type: 'normal' | 'separator' | 'submenu' | 'checkbox' | 'radio'; + } + + interface RequestOptions { + readonly method: string; + readonly url: string; + readonly headers: any; + } + + type AppleActionOnDoubleClickPref = 'Maximize' | 'Minimize' | 'None'; + + interface SystemPreferences { + getUserDefault( + key: 'AppleActionOnDoubleClick', + type: 'string' + ): AppleActionOnDoubleClickPref; + } +} diff --git a/src/main.ts b/src/main.ts index fb814c9..f03191e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,76 +1,211 @@ -import { app, BrowserWindow, ipcMain } from 'electron'; +import { app, ipcMain, IpcMessageEvent, BrowserWindow } from 'electron'; import * as path from 'path'; import * as url from 'url'; -import * as fs from 'fs'; -import * as grpc from 'grpc'; +import * as fse from 'fs-extra'; +import * as log from 'electron-log'; -import * as CDPServiceProto from '@odds-crawler/proto/cdp/cdp.service_pb'; -import * as CDPServiceGRpcProto from '@odds-crawler/proto/cdp/cdp.service_grpc_pb'; +import { now } from './util/performance'; +import { showUncaughtException } from './crash/crash'; +import { withSourceMappedStack } from './util/source-map-support'; +import { reportError } from './util/report'; +const launchStartTime = now(); +let launchReadyTime: number | null = null; + +let preventQuit = false; + +const appRoot = path.join(__dirname, `../../dist/odds-crawler-frontend-app`); process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true'; -const appDir = path.join(__dirname, `../../dist/odds-crawler-frontend-app`); +let mainWindow: BrowserWindow | null = null; -let mainWindow: BrowserWindow; +function handleUncaughtException(error: Error) { + preventQuit = true; -app.on('ready', createWindow); + const isLaunchError = mainWindow === null; -app.on('activate', () => { - if (null === mainWindow) { - createWindow(); + if (mainWindow) { + mainWindow.destroy(); + mainWindow = null; + } + + showUncaughtException(isLaunchError, error); +} +process.on('uncaughtException', (error: Error) => { + error = withSourceMappedStack(error); + + reportError(error); + handleUncaughtException(error); +}); + +let isDuplicateInstance = false; +const gotSingleInstanceLock = app.requestSingleInstanceLock(); +isDuplicateInstance = !gotSingleInstanceLock; + +app.on('second-instance', (event, args, workingDirectory) => { + // Someone tried to run a second instance, we should focus our window. + if (mainWindow) { + if (mainWindow.isMinimized()) { + mainWindow.restore(); + } + + if (!mainWindow.isVisible()) { + mainWindow.show(); + } + + mainWindow.focus(); } }); -app.on('window-all-closed', () => { - // On OS X it is common for applications and their menu bar - // to stay active until the user quits explicitly with Cmd + Q - if ('darwin' !== process.platform) { - app.quit(); +if (isDuplicateInstance) { + app.quit(); +} + +app.on('ready', () => { + if (isDuplicateInstance) { + return; } + + launchReadyTime = now() - launchStartTime; + + createWindow(); + + ipcMain.on( + 'uncaught-exception', + (event: Electron.IpcMessageEvent, error: Error) => { + handleUncaughtException(error); + } + ); }); +let windowStateKeeper: any | null = null; + function createWindow() { - mainWindow = new BrowserWindow({ - width: 800, - height: 600, - webPreferences: { nodeIntegration: true } + const minWidth = 960; + const minHeight = 660; + + if (!windowStateKeeper) { + // `electron-window-state` requires Electron's `screen` module, which can + // only be required after the app has emitted `ready`. So require it + // lazily. + windowStateKeeper = require('electron-window-state'); + } + + const savedWindowState = windowStateKeeper({ + defaultWidth: minWidth, + defaultHeight: minHeight }); + const windowOptions: Electron.BrowserWindowConstructorOptions = { + x: savedWindowState.x, + y: savedWindowState.y, + width: savedWindowState.width, + height: savedWindowState.height, + minWidth: minWidth, + minHeight: minHeight, + show: false, + // This fixes subpixel aliasing on Windows + // See https://github.com/atom/atom/commit/683bef5b9d133cb194b476938c77cc07fd05b972 + backgroundColor: '#fff', + webPreferences: { + // Disable auxclick event + // See https://developers.google.com/web/updates/2016/10/auxclick + disableBlinkFeatures: 'Auxclick', + // Enable, among other things, the ResizeObserver + experimentalFeatures: true, + nodeIntegration: true + }, + acceptFirstMouse: true + }; + + if (__DARWIN__) { + windowOptions.titleBarStyle = 'hidden'; + } else if (__WIN32__) { + windowOptions.frame = false; + } else if (__LINUX__) { + windowOptions.icon = path.join(__dirname, 'static', 'icon-logo.png'); + } + + mainWindow = new BrowserWindow(windowOptions); + savedWindowState.manage(mainWindow); + + let quitting = false; + app.on('before-quit', () => { + quitting = true; + }); + + ipcMain.on('will-quit', (event: Electron.IpcMessageEvent) => { + quitting = true; + event.returnValue = true; + }); + + let startLoad = 0; + // We only listen for the first of the loading events to avoid a bug in + // Electron/Chromium where they can sometimes fire more than once. See + // See + // https://github.com/desktop/desktop/pull/513#issuecomment-253028277. This + // shouldn't really matter as in production builds loading _should_ only + // happen once. + mainWindow.webContents.once('did-start-loading', () => { + // this._rendererReadyTime = null; + // this._loadTime = null; + + startLoad = now(); + }); + + mainWindow.webContents.once('did-finish-load', () => { + if (process.env.NODE_ENV === 'development') { + mainWindow.webContents.openDevTools(); + } + + // this._loadTime = now() - startLoad; + + // this.maybeEmitDidLoad(); + }); + + mainWindow.webContents.on('did-finish-load', () => { + mainWindow.webContents.setVisualZoomLevelLimits(1, 1); + }); + + mainWindow.webContents.on('did-fail-load', () => { + mainWindow.webContents.openDevTools(); + mainWindow.show(); + }); + + // TODO: This should be scoped by the window. + ipcMain.once( + 'renderer-ready', + (event: Electron.IpcMessageEvent, readyTime: number) => { + // this._rendererReadyTime = readyTime; + // this.maybeEmitDidLoad(); + } + ); + mainWindow.loadURL( url.format({ - pathname: path.join(appDir, `/index.html`), + pathname: path.join(appRoot, 'index.html'), protocol: 'file:', slashes: true }) ); - mainWindow.webContents.openDevTools(); - - mainWindow.on('closed', () => { - mainWindow = null; + mainWindow.once('ready-to-show', () => { + mainWindow.show(); }); - let cdpServiceClient = new CDPServiceGRpcProto.CDPServiceClient( - 'localhost:50051', - grpc.credentials.createInsecure() - ); - - // let req: CDPServiceProto.NavigateRequest; - // let res: CDPServiceProto.NavigateReply; - - // req = new CDPServiceProto.NavigateRequest(); - // req.setUrl('https://www.google.com'); - - // cdpServiceClient.navigate(req, (err, res) => { - // if (err) { - // console.log(err); - // return; - // } - // console.log(res); - // }); + mainWindow.on('closed', function() { + mainWindow = null; + }); } -ipcMain.on('getFiles', (event, arg) => { - const files = fs.readdirSync(__dirname); - mainWindow.webContents.send('getFilesResponse', files); +app.on('window-all-closed', function() { + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +app.on('activate', function() { + if (mainWindow === null) { + createWindow(); + } }); diff --git a/src/util/performance.ts b/src/util/performance.ts new file mode 100644 index 0000000..01e8a33 --- /dev/null +++ b/src/util/performance.ts @@ -0,0 +1,4 @@ +export function now(): number { + const time = process.hrtime(); + return time[0] * 1000 + time[1] / 1000000; +} diff --git a/src/util/report.ts b/src/util/report.ts new file mode 100644 index 0000000..e505e18 --- /dev/null +++ b/src/util/report.ts @@ -0,0 +1,71 @@ +import { app, net } from 'electron'; +import * as log from 'electron-log'; + +const ErrorEndpoint = 'https://central.github.com/api/desktop/exception'; + +export async function reportError( + error: Error, + extra?: { [key: string]: string } +) { + if (__DEV__) { + return; + } + + const data = new Map(); + + data.set('name', error.name); + data.set('message', error.message); + + if (error.stack) { + data.set('stack', error.stack); + } + + data.set('platform', process.platform); + data.set('version', app.getVersion()); + + if (extra) { + for (const key of Object.keys(extra)) { + data.set(key, extra[key]); + } + } + + const requestOptions: Electron.RequestOptions = { + method: 'POST', + url: ErrorEndpoint, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }; + + const body = [...data.entries()] + .map( + ([key, value]) => + `${encodeURIComponent(key)}=${encodeURIComponent(value)}` + ) + .join('&'); + + try { + await new Promise((resolve, reject) => { + const request = net.request(requestOptions); + + request.on('response', response => { + if (response.statusCode === 200) { + resolve(); + } else { + reject( + `Got ${response.statusCode} - ${ + response.statusMessage + } from central` + ); + } + }); + + request.on('error', reject); + + request.end(body); + }); + log.info('Error report submitted'); + } catch (e) { + log.error('Failed submitting error report', error); + } +} diff --git a/src/util/source-map-support.ts b/src/util/source-map-support.ts new file mode 100644 index 0000000..5a94f9b --- /dev/null +++ b/src/util/source-map-support.ts @@ -0,0 +1,35 @@ +const stackFrameMap = new WeakMap>(); + +let prepareStackTraceWithSourceMap: ( + error: Error, + frames: ReadonlyArray +) => string; + +export function withSourceMappedStack(error: Error): Error { + return { + name: error.name, + message: error.message, + stack: sourceMappedStackTrace(error) + }; +} + +function sourceMappedStackTrace(error: Error): string | undefined { + let frames = stackFrameMap.get(error); + + if (!frames) { + // At this point there's no guarantee that anyone has actually retrieved the + // stack on this error which means that our custom prepareStackTrace handler + // hasn't run and as a result of that we don't have the native frames stored + // in our weak map. In order to get around that we'll eagerly access the + // stack, forcing our handler to run which should ensure that the native + // frames are stored in our weak map. + (error.stack || '').toString(); + frames = stackFrameMap.get(error); + } + + if (!frames) { + return error.stack; + } + + return prepareStackTraceWithSourceMap(error, frames); +} diff --git a/tsconfig.json b/tsconfig.json index cdeb362..c047a10 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "outDir": "./dist", "sourceMap": true, "declaration": false, + "downlevelIteration": true, "module": "commonjs", "moduleResolution": "node", "emitDecoratorMetadata": true,