[READ-ONLY] Mirror of https://github.com/probablykasper/embler. Turn binaries into applications npmjs.com/package/embler
app builder cli dmg macos node package packager
0

Configure Feed

Select the types of activity you want to include in your feed.

Added eslint, fixed some errors

Kasper (Aug 18, 2020, 12:46 AM +0200) 8db165a7 926c0902

+1588 -136
+28
.eslintrc.js
··· 1 + module.exports = { 2 + 'env': { 3 + 'es2020': true, 4 + 'node': true 5 + }, 6 + 'extends': 'eslint:recommended', 7 + 'parserOptions': { 8 + 'ecmaVersion': 11 9 + }, 10 + 'rules': { 11 + 'indent': [ 12 + 'error', 13 + 2 14 + ], 15 + 'linebreak-style': [ 16 + 'error', 17 + 'unix' 18 + ], 19 + 'quotes': [ 20 + 'error', 21 + 'single' 22 + ], 23 + 'semi': [ 24 + 'error', 25 + 'never' 26 + ] 27 + } 28 + }
+4 -4
main.js
··· 3 3 4 4 const version = require('./package.json').version 5 5 const log = require('./src/log.js') 6 - const { parseOptions, macBuild } = require('./src/build.js') 6 + const buildJS = require('./src/build.js') 7 7 8 8 function getOptionsFromFile(packageJsonPath) { 9 9 try { ··· 21 21 async function start(options) { 22 22 log.info('Pakager ' + version) 23 23 24 - workingDir = process.cwd() 24 + let workingDir = process.cwd() 25 25 26 26 if (typeof options === 'string') { 27 27 log.info(`Loading config file (${options})`) ··· 34 34 log.info('Loading config') 35 35 } 36 36 37 - const parsedOptions = await parseOptions(options, workingDir) 37 + const parsedOptions = await buildJS.parseOptions(options, workingDir) 38 38 log.info('Packing macOS app') 39 - await macBuild(parsedOptions) 39 + await buildJS.build(parsedOptions) 40 40 } 41 41 42 42 async function build(options) {
+1143
package-lock.json
··· 4 4 "lockfileVersion": 1, 5 5 "requires": true, 6 6 "dependencies": { 7 + "@babel/code-frame": { 8 + "version": "7.10.4", 9 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", 10 + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", 11 + "dev": true, 12 + "requires": { 13 + "@babel/highlight": "^7.10.4" 14 + } 15 + }, 16 + "@babel/helper-validator-identifier": { 17 + "version": "7.10.4", 18 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", 19 + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", 20 + "dev": true 21 + }, 22 + "@babel/highlight": { 23 + "version": "7.10.4", 24 + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", 25 + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", 26 + "dev": true, 27 + "requires": { 28 + "@babel/helper-validator-identifier": "^7.10.4", 29 + "chalk": "^2.0.0", 30 + "js-tokens": "^4.0.0" 31 + }, 32 + "dependencies": { 33 + "ansi-styles": { 34 + "version": "3.2.1", 35 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 36 + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 37 + "dev": true, 38 + "requires": { 39 + "color-convert": "^1.9.0" 40 + } 41 + }, 42 + "chalk": { 43 + "version": "2.4.2", 44 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 45 + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 46 + "dev": true, 47 + "requires": { 48 + "ansi-styles": "^3.2.1", 49 + "escape-string-regexp": "^1.0.5", 50 + "supports-color": "^5.3.0" 51 + } 52 + }, 53 + "color-convert": { 54 + "version": "1.9.3", 55 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 56 + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 57 + "dev": true, 58 + "requires": { 59 + "color-name": "1.1.3" 60 + } 61 + }, 62 + "color-name": { 63 + "version": "1.1.3", 64 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 65 + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 66 + "dev": true 67 + }, 68 + "has-flag": { 69 + "version": "3.0.0", 70 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 71 + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 72 + "dev": true 73 + }, 74 + "supports-color": { 75 + "version": "5.5.0", 76 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 77 + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 78 + "dev": true, 79 + "requires": { 80 + "has-flag": "^3.0.0" 81 + } 82 + } 83 + } 84 + }, 7 85 "@hapi/address": { 8 86 "version": "4.1.0", 9 87 "resolved": "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz", ··· 40 118 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 41 119 "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" 42 120 }, 121 + "acorn": { 122 + "version": "7.4.0", 123 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", 124 + "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", 125 + "dev": true 126 + }, 127 + "acorn-jsx": { 128 + "version": "5.2.0", 129 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", 130 + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", 131 + "dev": true 132 + }, 133 + "ajv": { 134 + "version": "6.12.4", 135 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", 136 + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", 137 + "dev": true, 138 + "requires": { 139 + "fast-deep-equal": "^3.1.1", 140 + "fast-json-stable-stringify": "^2.0.0", 141 + "json-schema-traverse": "^0.4.1", 142 + "uri-js": "^4.2.2" 143 + } 144 + }, 145 + "ansi-colors": { 146 + "version": "4.1.1", 147 + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 148 + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 149 + "dev": true 150 + }, 151 + "ansi-regex": { 152 + "version": "5.0.0", 153 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 154 + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 155 + "dev": true 156 + }, 43 157 "ansi-styles": { 44 158 "version": "4.2.1", 45 159 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", ··· 49 163 "color-convert": "^2.0.1" 50 164 } 51 165 }, 166 + "appdmg": { 167 + "version": "0.6.0", 168 + "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.0.tgz", 169 + "integrity": "sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg==", 170 + "requires": { 171 + "async": "^1.4.2", 172 + "ds-store": "^0.1.5", 173 + "execa": "^1.0.0", 174 + "fs-temp": "^1.0.0", 175 + "fs-xattr": "^0.3.0", 176 + "image-size": "^0.7.4", 177 + "is-my-json-valid": "^2.20.0", 178 + "minimist": "^1.1.3", 179 + "parse-color": "^1.0.0", 180 + "path-exists": "^4.0.0", 181 + "repeat-string": "^1.5.4" 182 + } 183 + }, 184 + "argparse": { 185 + "version": "1.0.10", 186 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 187 + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 188 + "dev": true, 189 + "requires": { 190 + "sprintf-js": "~1.0.2" 191 + } 192 + }, 193 + "astral-regex": { 194 + "version": "1.0.0", 195 + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 196 + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 197 + "dev": true 198 + }, 199 + "async": { 200 + "version": "1.5.2", 201 + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 202 + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" 203 + }, 204 + "balanced-match": { 205 + "version": "1.0.0", 206 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 207 + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 208 + "dev": true 209 + }, 210 + "base32-encode": { 211 + "version": "1.1.1", 212 + "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.1.1.tgz", 213 + "integrity": "sha512-eqa0BeGghj3guezlasdHJhr3+J5ZbbQvxeprkcDMbRQrjlqOT832IUDT4Al4ofAwekFYMqkkM9KMUHs9Cu0HKA==" 214 + }, 52 215 "base64-js": { 53 216 "version": "1.3.1", 54 217 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", ··· 74 237 "requires": { 75 238 "big-integer": "^1.6.44" 76 239 } 240 + }, 241 + "brace-expansion": { 242 + "version": "1.1.11", 243 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 244 + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 245 + "dev": true, 246 + "requires": { 247 + "balanced-match": "^1.0.0", 248 + "concat-map": "0.0.1" 249 + } 250 + }, 251 + "callsites": { 252 + "version": "3.1.0", 253 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 254 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 255 + "dev": true 77 256 }, 78 257 "chalk": { 79 258 "version": "4.1.0", ··· 97 276 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 98 277 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 99 278 }, 279 + "concat-map": { 280 + "version": "0.0.1", 281 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 282 + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 283 + "dev": true 284 + }, 285 + "cross-spawn": { 286 + "version": "6.0.5", 287 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 288 + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 289 + "requires": { 290 + "nice-try": "^1.0.4", 291 + "path-key": "^2.0.1", 292 + "semver": "^5.5.0", 293 + "shebang-command": "^1.2.0", 294 + "which": "^1.2.9" 295 + } 296 + }, 297 + "debug": { 298 + "version": "4.1.1", 299 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 300 + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 301 + "dev": true, 302 + "requires": { 303 + "ms": "^2.1.1" 304 + } 305 + }, 306 + "deep-is": { 307 + "version": "0.1.3", 308 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 309 + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 310 + "dev": true 311 + }, 312 + "doctrine": { 313 + "version": "3.0.0", 314 + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 315 + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 316 + "dev": true, 317 + "requires": { 318 + "esutils": "^2.0.2" 319 + } 320 + }, 321 + "ds-store": { 322 + "version": "0.1.6", 323 + "resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz", 324 + "integrity": "sha1-0QJO90btDBPw9/7IXH6FjoxLfKc=", 325 + "requires": { 326 + "bplist-creator": "~0.0.3", 327 + "macos-alias": "~0.2.5", 328 + "tn1150": "^0.1.0" 329 + } 330 + }, 331 + "emoji-regex": { 332 + "version": "7.0.3", 333 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 334 + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 335 + "dev": true 336 + }, 337 + "encode-utf8": { 338 + "version": "1.0.3", 339 + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", 340 + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" 341 + }, 342 + "end-of-stream": { 343 + "version": "1.4.4", 344 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 345 + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 346 + "requires": { 347 + "once": "^1.4.0" 348 + } 349 + }, 350 + "enquirer": { 351 + "version": "2.3.6", 352 + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", 353 + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", 354 + "dev": true, 355 + "requires": { 356 + "ansi-colors": "^4.1.1" 357 + } 358 + }, 359 + "escape-string-regexp": { 360 + "version": "1.0.5", 361 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 362 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 363 + "dev": true 364 + }, 365 + "eslint": { 366 + "version": "7.7.0", 367 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.7.0.tgz", 368 + "integrity": "sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg==", 369 + "dev": true, 370 + "requires": { 371 + "@babel/code-frame": "^7.0.0", 372 + "ajv": "^6.10.0", 373 + "chalk": "^4.0.0", 374 + "cross-spawn": "^7.0.2", 375 + "debug": "^4.0.1", 376 + "doctrine": "^3.0.0", 377 + "enquirer": "^2.3.5", 378 + "eslint-scope": "^5.1.0", 379 + "eslint-utils": "^2.1.0", 380 + "eslint-visitor-keys": "^1.3.0", 381 + "espree": "^7.2.0", 382 + "esquery": "^1.2.0", 383 + "esutils": "^2.0.2", 384 + "file-entry-cache": "^5.0.1", 385 + "functional-red-black-tree": "^1.0.1", 386 + "glob-parent": "^5.0.0", 387 + "globals": "^12.1.0", 388 + "ignore": "^4.0.6", 389 + "import-fresh": "^3.0.0", 390 + "imurmurhash": "^0.1.4", 391 + "is-glob": "^4.0.0", 392 + "js-yaml": "^3.13.1", 393 + "json-stable-stringify-without-jsonify": "^1.0.1", 394 + "levn": "^0.4.1", 395 + "lodash": "^4.17.19", 396 + "minimatch": "^3.0.4", 397 + "natural-compare": "^1.4.0", 398 + "optionator": "^0.9.1", 399 + "progress": "^2.0.0", 400 + "regexpp": "^3.1.0", 401 + "semver": "^7.2.1", 402 + "strip-ansi": "^6.0.0", 403 + "strip-json-comments": "^3.1.0", 404 + "table": "^5.2.3", 405 + "text-table": "^0.2.0", 406 + "v8-compile-cache": "^2.0.3" 407 + }, 408 + "dependencies": { 409 + "cross-spawn": { 410 + "version": "7.0.3", 411 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 412 + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 413 + "dev": true, 414 + "requires": { 415 + "path-key": "^3.1.0", 416 + "shebang-command": "^2.0.0", 417 + "which": "^2.0.1" 418 + } 419 + }, 420 + "path-key": { 421 + "version": "3.1.1", 422 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 423 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 424 + "dev": true 425 + }, 426 + "semver": { 427 + "version": "7.3.2", 428 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 429 + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", 430 + "dev": true 431 + }, 432 + "shebang-command": { 433 + "version": "2.0.0", 434 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 435 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 436 + "dev": true, 437 + "requires": { 438 + "shebang-regex": "^3.0.0" 439 + } 440 + }, 441 + "shebang-regex": { 442 + "version": "3.0.0", 443 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 444 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 445 + "dev": true 446 + }, 447 + "which": { 448 + "version": "2.0.2", 449 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 450 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 451 + "dev": true, 452 + "requires": { 453 + "isexe": "^2.0.0" 454 + } 455 + } 456 + } 457 + }, 458 + "eslint-scope": { 459 + "version": "5.1.0", 460 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", 461 + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", 462 + "dev": true, 463 + "requires": { 464 + "esrecurse": "^4.1.0", 465 + "estraverse": "^4.1.1" 466 + } 467 + }, 468 + "eslint-utils": { 469 + "version": "2.1.0", 470 + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", 471 + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", 472 + "dev": true, 473 + "requires": { 474 + "eslint-visitor-keys": "^1.1.0" 475 + } 476 + }, 477 + "eslint-visitor-keys": { 478 + "version": "1.3.0", 479 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 480 + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 481 + "dev": true 482 + }, 483 + "espree": { 484 + "version": "7.2.0", 485 + "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz", 486 + "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==", 487 + "dev": true, 488 + "requires": { 489 + "acorn": "^7.3.1", 490 + "acorn-jsx": "^5.2.0", 491 + "eslint-visitor-keys": "^1.3.0" 492 + } 493 + }, 494 + "esprima": { 495 + "version": "4.0.1", 496 + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 497 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 498 + "dev": true 499 + }, 500 + "esquery": { 501 + "version": "1.3.1", 502 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", 503 + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", 504 + "dev": true, 505 + "requires": { 506 + "estraverse": "^5.1.0" 507 + }, 508 + "dependencies": { 509 + "estraverse": { 510 + "version": "5.2.0", 511 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", 512 + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", 513 + "dev": true 514 + } 515 + } 516 + }, 517 + "esrecurse": { 518 + "version": "4.2.1", 519 + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 520 + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 521 + "dev": true, 522 + "requires": { 523 + "estraverse": "^4.1.0" 524 + } 525 + }, 526 + "estraverse": { 527 + "version": "4.3.0", 528 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 529 + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 530 + "dev": true 531 + }, 532 + "esutils": { 533 + "version": "2.0.3", 534 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 535 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 536 + "dev": true 537 + }, 538 + "execa": { 539 + "version": "1.0.0", 540 + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 541 + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 542 + "requires": { 543 + "cross-spawn": "^6.0.0", 544 + "get-stream": "^4.0.0", 545 + "is-stream": "^1.1.0", 546 + "npm-run-path": "^2.0.0", 547 + "p-finally": "^1.0.0", 548 + "signal-exit": "^3.0.0", 549 + "strip-eof": "^1.0.0" 550 + } 551 + }, 552 + "fast-deep-equal": { 553 + "version": "3.1.3", 554 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 555 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 556 + "dev": true 557 + }, 558 + "fast-json-stable-stringify": { 559 + "version": "2.1.0", 560 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 561 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 562 + "dev": true 563 + }, 564 + "fast-levenshtein": { 565 + "version": "2.0.6", 566 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 567 + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 568 + "dev": true 569 + }, 570 + "file-entry-cache": { 571 + "version": "5.0.1", 572 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 573 + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 574 + "dev": true, 575 + "requires": { 576 + "flat-cache": "^2.0.1" 577 + } 578 + }, 579 + "flat-cache": { 580 + "version": "2.0.1", 581 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 582 + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 583 + "dev": true, 584 + "requires": { 585 + "flatted": "^2.0.0", 586 + "rimraf": "2.6.3", 587 + "write": "1.0.3" 588 + } 589 + }, 590 + "flatted": { 591 + "version": "2.0.2", 592 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 593 + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 594 + "dev": true 595 + }, 596 + "fmix": { 597 + "version": "0.1.0", 598 + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", 599 + "integrity": "sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw=", 600 + "requires": { 601 + "imul": "^1.0.0" 602 + } 603 + }, 604 + "fs-temp": { 605 + "version": "1.2.1", 606 + "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz", 607 + "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==", 608 + "requires": { 609 + "random-path": "^0.1.0" 610 + } 611 + }, 612 + "fs-xattr": { 613 + "version": "0.3.1", 614 + "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz", 615 + "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==" 616 + }, 617 + "fs.realpath": { 618 + "version": "1.0.0", 619 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 620 + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 621 + "dev": true 622 + }, 623 + "functional-red-black-tree": { 624 + "version": "1.0.1", 625 + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 626 + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 627 + "dev": true 628 + }, 629 + "generate-function": { 630 + "version": "2.3.1", 631 + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", 632 + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", 633 + "requires": { 634 + "is-property": "^1.0.2" 635 + } 636 + }, 637 + "generate-object-property": { 638 + "version": "1.2.0", 639 + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 640 + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 641 + "requires": { 642 + "is-property": "^1.0.0" 643 + } 644 + }, 645 + "get-stream": { 646 + "version": "4.1.0", 647 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 648 + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 649 + "requires": { 650 + "pump": "^3.0.0" 651 + } 652 + }, 653 + "glob": { 654 + "version": "7.1.6", 655 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 656 + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 657 + "dev": true, 658 + "requires": { 659 + "fs.realpath": "^1.0.0", 660 + "inflight": "^1.0.4", 661 + "inherits": "2", 662 + "minimatch": "^3.0.4", 663 + "once": "^1.3.0", 664 + "path-is-absolute": "^1.0.0" 665 + } 666 + }, 667 + "glob-parent": { 668 + "version": "5.1.1", 669 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", 670 + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", 671 + "dev": true, 672 + "requires": { 673 + "is-glob": "^4.0.1" 674 + } 675 + }, 676 + "globals": { 677 + "version": "12.4.0", 678 + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", 679 + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", 680 + "dev": true, 681 + "requires": { 682 + "type-fest": "^0.8.1" 683 + } 684 + }, 100 685 "has-flag": { 101 686 "version": "4.0.0", 102 687 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 103 688 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 104 689 }, 690 + "ignore": { 691 + "version": "4.0.6", 692 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 693 + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 694 + "dev": true 695 + }, 696 + "image-size": { 697 + "version": "0.7.5", 698 + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", 699 + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" 700 + }, 701 + "import-fresh": { 702 + "version": "3.2.1", 703 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", 704 + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", 705 + "dev": true, 706 + "requires": { 707 + "parent-module": "^1.0.0", 708 + "resolve-from": "^4.0.0" 709 + } 710 + }, 711 + "imul": { 712 + "version": "1.0.1", 713 + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", 714 + "integrity": "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=" 715 + }, 716 + "imurmurhash": { 717 + "version": "0.1.4", 718 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 719 + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 720 + "dev": true 721 + }, 722 + "inflight": { 723 + "version": "1.0.6", 724 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 725 + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 726 + "dev": true, 727 + "requires": { 728 + "once": "^1.3.0", 729 + "wrappy": "1" 730 + } 731 + }, 732 + "inherits": { 733 + "version": "2.0.4", 734 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 735 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 736 + "dev": true 737 + }, 738 + "is-extglob": { 739 + "version": "2.1.1", 740 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 741 + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 742 + "dev": true 743 + }, 744 + "is-fullwidth-code-point": { 745 + "version": "2.0.0", 746 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 747 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 748 + "dev": true 749 + }, 750 + "is-glob": { 751 + "version": "4.0.1", 752 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 753 + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 754 + "dev": true, 755 + "requires": { 756 + "is-extglob": "^2.1.1" 757 + } 758 + }, 759 + "is-my-ip-valid": { 760 + "version": "1.0.0", 761 + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", 762 + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==" 763 + }, 764 + "is-my-json-valid": { 765 + "version": "2.20.5", 766 + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz", 767 + "integrity": "sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==", 768 + "requires": { 769 + "generate-function": "^2.0.0", 770 + "generate-object-property": "^1.1.0", 771 + "is-my-ip-valid": "^1.0.0", 772 + "jsonpointer": "^4.0.0", 773 + "xtend": "^4.0.0" 774 + } 775 + }, 776 + "is-property": { 777 + "version": "1.0.2", 778 + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 779 + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" 780 + }, 781 + "is-stream": { 782 + "version": "1.1.0", 783 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 784 + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 785 + }, 786 + "isexe": { 787 + "version": "2.0.0", 788 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 789 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 790 + }, 105 791 "joi": { 106 792 "version": "17.2.0", 107 793 "resolved": "https://registry.npmjs.org/joi/-/joi-17.2.0.tgz", ··· 114 800 "@hapi/topo": "^5.0.0" 115 801 } 116 802 }, 803 + "js-tokens": { 804 + "version": "4.0.0", 805 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 806 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 807 + "dev": true 808 + }, 809 + "js-yaml": { 810 + "version": "3.14.0", 811 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", 812 + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", 813 + "dev": true, 814 + "requires": { 815 + "argparse": "^1.0.7", 816 + "esprima": "^4.0.0" 817 + } 818 + }, 819 + "json-schema-traverse": { 820 + "version": "0.4.1", 821 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 822 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 823 + "dev": true 824 + }, 825 + "json-stable-stringify-without-jsonify": { 826 + "version": "1.0.1", 827 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 828 + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 829 + "dev": true 830 + }, 831 + "jsonpointer": { 832 + "version": "4.1.0", 833 + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", 834 + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" 835 + }, 117 836 "jsonschema": { 118 837 "version": "1.2.6", 119 838 "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.6.tgz", 120 839 "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==" 121 840 }, 841 + "levn": { 842 + "version": "0.4.1", 843 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 844 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 845 + "dev": true, 846 + "requires": { 847 + "prelude-ls": "^1.2.1", 848 + "type-check": "~0.4.0" 849 + } 850 + }, 851 + "lodash": { 852 + "version": "4.17.20", 853 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", 854 + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", 855 + "dev": true 856 + }, 857 + "macos-alias": { 858 + "version": "0.2.11", 859 + "resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz", 860 + "integrity": "sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo=", 861 + "requires": { 862 + "nan": "^2.4.0" 863 + } 864 + }, 865 + "minimatch": { 866 + "version": "3.0.4", 867 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 868 + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 869 + "dev": true, 870 + "requires": { 871 + "brace-expansion": "^1.1.7" 872 + } 873 + }, 874 + "minimist": { 875 + "version": "1.2.5", 876 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 877 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" 878 + }, 879 + "mkdirp": { 880 + "version": "0.5.5", 881 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 882 + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 883 + "dev": true, 884 + "requires": { 885 + "minimist": "^1.2.5" 886 + } 887 + }, 888 + "ms": { 889 + "version": "2.1.2", 890 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 891 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 892 + "dev": true 893 + }, 894 + "murmur-32": { 895 + "version": "0.2.0", 896 + "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz", 897 + "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==", 898 + "requires": { 899 + "encode-utf8": "^1.0.3", 900 + "fmix": "^0.1.0", 901 + "imul": "^1.0.0" 902 + } 903 + }, 904 + "nan": { 905 + "version": "2.14.1", 906 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", 907 + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" 908 + }, 909 + "natural-compare": { 910 + "version": "1.4.0", 911 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 912 + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 913 + "dev": true 914 + }, 915 + "nice-try": { 916 + "version": "1.0.5", 917 + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 918 + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 919 + }, 920 + "npm-run-path": { 921 + "version": "2.0.2", 922 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 923 + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 924 + "requires": { 925 + "path-key": "^2.0.0" 926 + } 927 + }, 928 + "once": { 929 + "version": "1.4.0", 930 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 931 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 932 + "requires": { 933 + "wrappy": "1" 934 + } 935 + }, 936 + "optionator": { 937 + "version": "0.9.1", 938 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 939 + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 940 + "dev": true, 941 + "requires": { 942 + "deep-is": "^0.1.3", 943 + "fast-levenshtein": "^2.0.6", 944 + "levn": "^0.4.1", 945 + "prelude-ls": "^1.2.1", 946 + "type-check": "^0.4.0", 947 + "word-wrap": "^1.2.3" 948 + } 949 + }, 950 + "p-finally": { 951 + "version": "1.0.0", 952 + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 953 + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 954 + }, 955 + "parent-module": { 956 + "version": "1.0.1", 957 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 958 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 959 + "dev": true, 960 + "requires": { 961 + "callsites": "^3.0.0" 962 + } 963 + }, 964 + "parse-color": { 965 + "version": "1.0.0", 966 + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", 967 + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", 968 + "requires": { 969 + "color-convert": "~0.5.0" 970 + }, 971 + "dependencies": { 972 + "color-convert": { 973 + "version": "0.5.3", 974 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", 975 + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" 976 + } 977 + } 978 + }, 979 + "path-exists": { 980 + "version": "4.0.0", 981 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 982 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 983 + }, 984 + "path-is-absolute": { 985 + "version": "1.0.1", 986 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 987 + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 988 + "dev": true 989 + }, 990 + "path-key": { 991 + "version": "2.0.1", 992 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 993 + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 994 + }, 122 995 "plist": { 123 996 "version": "3.0.1", 124 997 "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", ··· 134 1007 "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-2.0.1.tgz", 135 1008 "integrity": "sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA==" 136 1009 }, 1010 + "prelude-ls": { 1011 + "version": "1.2.1", 1012 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1013 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1014 + "dev": true 1015 + }, 1016 + "progress": { 1017 + "version": "2.0.3", 1018 + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 1019 + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 1020 + "dev": true 1021 + }, 1022 + "pump": { 1023 + "version": "3.0.0", 1024 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1025 + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1026 + "requires": { 1027 + "end-of-stream": "^1.1.0", 1028 + "once": "^1.3.1" 1029 + } 1030 + }, 1031 + "punycode": { 1032 + "version": "2.1.1", 1033 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1034 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1035 + "dev": true 1036 + }, 1037 + "random-path": { 1038 + "version": "0.1.2", 1039 + "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz", 1040 + "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==", 1041 + "requires": { 1042 + "base32-encode": "^0.1.0 || ^1.0.0", 1043 + "murmur-32": "^0.1.0 || ^0.2.0" 1044 + } 1045 + }, 1046 + "regexpp": { 1047 + "version": "3.1.0", 1048 + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", 1049 + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", 1050 + "dev": true 1051 + }, 1052 + "repeat-string": { 1053 + "version": "1.6.1", 1054 + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1055 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 1056 + }, 1057 + "resolve-from": { 1058 + "version": "4.0.0", 1059 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1060 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1061 + "dev": true 1062 + }, 1063 + "rimraf": { 1064 + "version": "2.6.3", 1065 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1066 + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1067 + "dev": true, 1068 + "requires": { 1069 + "glob": "^7.1.3" 1070 + } 1071 + }, 1072 + "semver": { 1073 + "version": "5.7.1", 1074 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1075 + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 1076 + }, 1077 + "shebang-command": { 1078 + "version": "1.2.0", 1079 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1080 + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1081 + "requires": { 1082 + "shebang-regex": "^1.0.0" 1083 + } 1084 + }, 1085 + "shebang-regex": { 1086 + "version": "1.0.0", 1087 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1088 + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 1089 + }, 1090 + "signal-exit": { 1091 + "version": "3.0.3", 1092 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 1093 + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 1094 + }, 137 1095 "simple-plist": { 138 1096 "version": "1.1.0", 139 1097 "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.1.0.tgz", ··· 143 1101 "bplist-parser": "0.2.0", 144 1102 "plist": "^3.0.1" 145 1103 } 1104 + }, 1105 + "slice-ansi": { 1106 + "version": "2.1.0", 1107 + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 1108 + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 1109 + "dev": true, 1110 + "requires": { 1111 + "ansi-styles": "^3.2.0", 1112 + "astral-regex": "^1.0.0", 1113 + "is-fullwidth-code-point": "^2.0.0" 1114 + }, 1115 + "dependencies": { 1116 + "ansi-styles": { 1117 + "version": "3.2.1", 1118 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1119 + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1120 + "dev": true, 1121 + "requires": { 1122 + "color-convert": "^1.9.0" 1123 + } 1124 + }, 1125 + "color-convert": { 1126 + "version": "1.9.3", 1127 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1128 + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1129 + "dev": true, 1130 + "requires": { 1131 + "color-name": "1.1.3" 1132 + } 1133 + }, 1134 + "color-name": { 1135 + "version": "1.1.3", 1136 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1137 + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1138 + "dev": true 1139 + } 1140 + } 1141 + }, 1142 + "sprintf-js": { 1143 + "version": "1.0.3", 1144 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1145 + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1146 + "dev": true 146 1147 }, 147 1148 "stream-buffers": { 148 1149 "version": "2.2.0", 149 1150 "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", 150 1151 "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" 151 1152 }, 1153 + "string-width": { 1154 + "version": "3.1.0", 1155 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1156 + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1157 + "dev": true, 1158 + "requires": { 1159 + "emoji-regex": "^7.0.1", 1160 + "is-fullwidth-code-point": "^2.0.0", 1161 + "strip-ansi": "^5.1.0" 1162 + }, 1163 + "dependencies": { 1164 + "ansi-regex": { 1165 + "version": "4.1.0", 1166 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 1167 + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 1168 + "dev": true 1169 + }, 1170 + "strip-ansi": { 1171 + "version": "5.2.0", 1172 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1173 + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1174 + "dev": true, 1175 + "requires": { 1176 + "ansi-regex": "^4.1.0" 1177 + } 1178 + } 1179 + } 1180 + }, 1181 + "strip-ansi": { 1182 + "version": "6.0.0", 1183 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1184 + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1185 + "dev": true, 1186 + "requires": { 1187 + "ansi-regex": "^5.0.0" 1188 + } 1189 + }, 1190 + "strip-eof": { 1191 + "version": "1.0.0", 1192 + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 1193 + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 1194 + }, 1195 + "strip-json-comments": { 1196 + "version": "3.1.1", 1197 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1198 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1199 + "dev": true 1200 + }, 152 1201 "supports-color": { 153 1202 "version": "7.1.0", 154 1203 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", ··· 157 1206 "has-flag": "^4.0.0" 158 1207 } 159 1208 }, 1209 + "table": { 1210 + "version": "5.4.6", 1211 + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1212 + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1213 + "dev": true, 1214 + "requires": { 1215 + "ajv": "^6.10.2", 1216 + "lodash": "^4.17.14", 1217 + "slice-ansi": "^2.1.0", 1218 + "string-width": "^3.0.0" 1219 + } 1220 + }, 1221 + "text-table": { 1222 + "version": "0.2.0", 1223 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1224 + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1225 + "dev": true 1226 + }, 1227 + "tn1150": { 1228 + "version": "0.1.0", 1229 + "resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz", 1230 + "integrity": "sha1-ZzUD0k1WuH3ouMd/7j/AhT1ZoY0=", 1231 + "requires": { 1232 + "unorm": "^1.4.1" 1233 + } 1234 + }, 1235 + "type-check": { 1236 + "version": "0.4.0", 1237 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1238 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1239 + "dev": true, 1240 + "requires": { 1241 + "prelude-ls": "^1.2.1" 1242 + } 1243 + }, 1244 + "type-fest": { 1245 + "version": "0.8.1", 1246 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 1247 + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 1248 + "dev": true 1249 + }, 1250 + "unorm": { 1251 + "version": "1.6.0", 1252 + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", 1253 + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==" 1254 + }, 1255 + "uri-js": { 1256 + "version": "4.2.2", 1257 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 1258 + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 1259 + "dev": true, 1260 + "requires": { 1261 + "punycode": "^2.1.0" 1262 + } 1263 + }, 1264 + "v8-compile-cache": { 1265 + "version": "2.1.1", 1266 + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", 1267 + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", 1268 + "dev": true 1269 + }, 1270 + "which": { 1271 + "version": "1.3.1", 1272 + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1273 + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1274 + "requires": { 1275 + "isexe": "^2.0.0" 1276 + } 1277 + }, 1278 + "word-wrap": { 1279 + "version": "1.2.3", 1280 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1281 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1282 + "dev": true 1283 + }, 1284 + "wrappy": { 1285 + "version": "1.0.2", 1286 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1287 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 1288 + }, 1289 + "write": { 1290 + "version": "1.0.3", 1291 + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 1292 + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 1293 + "dev": true, 1294 + "requires": { 1295 + "mkdirp": "^0.5.1" 1296 + } 1297 + }, 160 1298 "xmlbuilder": { 161 1299 "version": "9.0.7", 162 1300 "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", ··· 166 1304 "version": "0.1.31", 167 1305 "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", 168 1306 "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==" 1307 + }, 1308 + "xtend": { 1309 + "version": "4.0.2", 1310 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1311 + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" 169 1312 } 170 1313 } 171 1314 }
+41 -22
src/build.js
··· 23 23 appId: Joi.string().default((parent, helpers) => { 24 24 return 'com.pakager.'+helpers.state.ancestors[1].name 25 25 }), 26 - copyright: Joi.string().default((parent, helpers) => { 26 + copyright: Joi.string().default((parent) => { 27 27 const year = new Date().getFullYear() 28 28 return `Copyright © ${year} ${parent.author}` 29 29 }), ··· 35 35 binary: Joi.path().existingFile().required(), 36 36 category: Joi.string(), 37 37 icon: Joi.path().existingFile().endsWith('png', 'icns'), 38 - formats: Joi.array().items('app').default(['app']), 38 + formats: Joi.array() 39 + .unique() 40 + .items('app', 'dmg', 'app/dmg') 41 + .default([ 'app' ]), 39 42 darkModeSupport: Joi.bool().default(true), 40 43 customInfo: Joi.object().default({}), 41 44 }) 42 45 }) 43 46 }) 44 - .or('name', 'pakager.name') 45 - .or('author', 'pakager.author') 46 - .or('version', 'pakager.version') 47 + .or('name', 'pakager.name') 48 + .or('author', 'pakager.author') 49 + .or('version', 'pakager.version') 47 50 48 51 try { 49 52 const vResult = await schema.validateAsync(packageJson, { allowUnknown: true, abortEarly: false }) ··· 51 54 } catch(err) { 52 55 let errorMsg = '' 53 56 for (const detail of err.details) { 54 - log(detail) 55 57 errorMsg += `\n - property ${detail.message}` 56 58 } 57 59 log.err('Invalid package.json config:' + errorMsg) 58 60 } 59 61 } 60 62 61 - module.exports.macBuild = async function(options) { 63 + module.exports.buildMacApp = async function(options, paths) { 62 64 63 - const distDir = options.outputDir 64 - const appPath = path.join(distDir, `${options.realName}.app`) 65 - const ContentsPath = path.join(distDir, `${options.realName}.app/Contents`) 66 - const ResourcesPath = path.join(distDir, `${options.realName}.app/Contents/Resources`) 67 - const MacOSPath = path.join(distDir, `${options.realName}.app/Contents/MacOS`) 65 + // const distDir = options.outputDir 66 + // const appPath = path.join(distDir, `${options.realName}.app`) 67 + // const ContentsDir = path.join(distDir, `${options.realName}.app/Contents`) 68 + // const ResourcesDir = path.join(distDir, `${options.realName}.app/Contents/Resources`) 69 + // const MacOSDir = path.join(distDir, `${options.realName}.app/Contents/MacOS`) 70 + // const iconPath = path.resolve(ResourcesDir, 'app.icns') 68 71 69 72 // delete existing .app 70 73 try { 71 - const appPathStat = await fs.stat(appPath) 74 + const appPathStat = await fs.stat(paths.appPath) 72 75 if (appPathStat.isDirectory()) { 73 - await fs.rmdir(appPath, { recursive: true }) 76 + await fs.rmdir(paths.appPath, { recursive: true }) 74 77 } else { 75 - log.err(`Mac app path is a non-folder. Delete or move it manually (${appPath})`) 78 + log.err(`Mac app path is a non-folder. Delete or move it manually (${paths.appPath})`) 76 79 } 77 80 } catch(err) { 78 81 if (err.code !== 'ENOENT') log.err(err) 79 82 } 80 83 81 84 // create .app folders 82 - await fs.mkdir(ResourcesPath, { recursive: true }) 83 - await fs.mkdir(MacOSPath, { recursive: true }) 85 + await fs.mkdir(paths.ResourcesDir, { recursive: true }) 86 + await fs.mkdir(paths.MacOSDir, { recursive: true }) 84 87 85 88 // copy over icon 86 89 if (options.mac.icon) { 87 90 const inputIcon = await fs.readFile(options.mac.icon) 88 - const iconDestPath = path.resolve(ResourcesPath, 'app.icns') 89 91 if (options.mac.icon.endsWith('.png')) { 90 92 const output = png2icons.createICNS(inputIcon, png2icons.BICUBIC, 0) 91 - if (output) await fs.writeFile(iconDestPath, output) 93 + if (output) await fs.writeFile(paths.iconPath, output) 92 94 else log.err('Failed to convert PNG app icon to ICNS') 93 95 } else if (options.mac.icon.endsWith('.icns')) { 94 - await fs.writeFile(inputIcon, output) 96 + await fs.writeFile(inputIcon, paths.iconPath) 95 97 } 96 98 } 97 99 98 100 99 101 // copy over binary 100 - await fs.copyFile(options.mac.binary, `${MacOSPath}/${options.realName}`) 102 + await fs.copyFile(options.mac.binary, `${paths.MacOSDir}/${options.realName}`) 101 103 102 104 const data = { 103 105 // CFBundleDevelopmentRegion ··· 118 120 for (const [key, value] of Object.entries(options.mac.customInfo)) { 119 121 data[key] = value 120 122 } 121 - plist.writeFileSync(`${ContentsPath}/Info.plist`, data) 123 + plist.writeFileSync(`${paths.ContentsDir}/Info.plist`, data) 124 + 125 + } 126 + 127 + module.exports.buildMac = async function(options) { 128 + 129 + const paths = {} 130 + paths.distDir = options.outputDir 131 + paths.appPath = path.join(paths.distDir, `${options.realName}.app`) 132 + paths.ContentsDir = path.join(paths.appPath, 'Contents') 133 + paths.ResourcesDir = path.join(paths.appPath, 'Contents/Resources') 134 + paths.MacOSDir = path.join(paths.appPath, 'Contents/MacOS') 135 + paths.iconPath = path.join(paths.ResourcesDir, 'app.icns') 136 + 137 + await module.exports.buildMacApp(options, paths) 138 + } 122 139 140 + module.exports.build = async function(options) { 141 + if (options.mac) module.exports.buildMac(options) 123 142 }
+6 -6
src/joi.js
··· 2 2 const path = require('path') 3 3 const fs = require('fs') 4 4 5 - module.exports.prepare = () => { 5 + module.exports.prepare = (workingDir) => { 6 6 return JoiBase.extend((Joi) => { 7 7 return { 8 8 type: 'string', ··· 18 18 args: [ 19 19 { name: 'endings', assert: Joi.array() }, 20 20 ], 21 - validate(value, helpers, args, options) { 22 - for (ending of args.endings) { 21 + validate(value, helpers, args) { 22 + for (const ending of args.endings) { 23 23 if (value.endsWith(ending)) return value 24 24 } 25 25 return helpers.error('string.endsWith', { endings: args.endings }) ··· 35 35 'path.existingFile': '{{#label}} path must be an existing file', 36 36 'path.existingDir': '{{#label}} path must be an existing directory', 37 37 }, 38 - validate(value, helpers) { 38 + validate(value) { 39 39 return { value: path.resolve(workingDir, value) } 40 40 }, 41 41 rules: { 42 42 existingFile: { 43 43 method() { return this.$_addRule('existingFile') }, 44 - validate(value, helpers, args, options) { 44 + validate(value, helpers) { 45 45 if (!fs.existsSync(value)) return helpers.error('path.existingFile') 46 46 if (!fs.statSync(value).isFile()) return helpers.error('path.existingFile') 47 47 return value ··· 49 49 }, 50 50 existingDir: { 51 51 method() { return this.$_addRule('existingDir') }, 52 - validate(value, helpers, args, options) { 52 + validate(value, helpers) { 53 53 if (!fs.existsSync(value)) return helpers.error('path.existingDir') 54 54 if (!fs.statSync(value).isDirectory()) return helpers.error('path.existingDir') 55 55 return value
+363 -103
test/package-lock.json
··· 98 98 "uri-js": "^4.2.2" 99 99 } 100 100 }, 101 - "ansi-regex": { 102 - "version": "5.0.0", 103 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 104 - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 105 - "dev": true 106 - }, 107 101 "ansi-styles": { 108 102 "version": "4.2.1", 109 103 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", ··· 114 108 "color-convert": "^2.0.1" 115 109 } 116 110 }, 111 + "appdmg": { 112 + "version": "0.6.0", 113 + "resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.0.tgz", 114 + "integrity": "sha512-vDz8cMf5c6BfoS72OmmHzzuxG5DFVDM6YCAkscjYh3GASGEBBRCZ10Bn515ZPSPHOpfI9Xu3MlApbd49C58pJg==", 115 + "dev": true, 116 + "requires": { 117 + "async": "^1.4.2", 118 + "ds-store": "^0.1.5", 119 + "execa": "^1.0.0", 120 + "fs-temp": "^1.0.0", 121 + "fs-xattr": "^0.3.0", 122 + "image-size": "^0.7.4", 123 + "is-my-json-valid": "^2.20.0", 124 + "minimist": "^1.1.3", 125 + "parse-color": "^1.0.0", 126 + "path-exists": "^4.0.0", 127 + "repeat-string": "^1.5.4" 128 + } 129 + }, 117 130 "array-union": { 118 131 "version": "2.1.0", 119 132 "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", ··· 135 148 "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 136 149 "dev": true 137 150 }, 151 + "async": { 152 + "version": "1.5.2", 153 + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 154 + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 155 + "dev": true 156 + }, 138 157 "asynckit": { 139 158 "version": "0.4.0", 140 159 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", ··· 151 170 "version": "1.10.1", 152 171 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", 153 172 "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", 173 + "dev": true 174 + }, 175 + "base32-encode": { 176 + "version": "1.1.1", 177 + "resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.1.1.tgz", 178 + "integrity": "sha512-eqa0BeGghj3guezlasdHJhr3+J5ZbbQvxeprkcDMbRQrjlqOT832IUDT4Al4ofAwekFYMqkkM9KMUHs9Cu0HKA==", 154 179 "dev": true 155 180 }, 156 181 "base64-js": { ··· 223 248 "supports-color": "^7.1.0" 224 249 } 225 250 }, 226 - "cli-cursor": { 227 - "version": "3.1.0", 228 - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 229 - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 230 - "dev": true, 231 - "requires": { 232 - "restore-cursor": "^3.1.0" 233 - } 234 - }, 235 - "cli-spinners": { 236 - "version": "2.4.0", 237 - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz", 238 - "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA==", 239 - "dev": true 240 - }, 241 - "clone": { 242 - "version": "1.0.4", 243 - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 244 - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 245 - "dev": true 246 - }, 247 251 "color-convert": { 248 252 "version": "2.0.1", 249 253 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ··· 297 301 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 298 302 "dev": true 299 303 }, 300 - "defaults": { 301 - "version": "1.0.3", 302 - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 303 - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 304 - "dev": true, 305 - "requires": { 306 - "clone": "^1.0.2" 307 - } 308 - }, 309 304 "delayed-stream": { 310 305 "version": "1.0.0", 311 306 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", ··· 321 316 "path-type": "^4.0.0" 322 317 } 323 318 }, 319 + "ds-store": { 320 + "version": "0.1.6", 321 + "resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz", 322 + "integrity": "sha1-0QJO90btDBPw9/7IXH6FjoxLfKc=", 323 + "dev": true, 324 + "requires": { 325 + "bplist-creator": "~0.0.3", 326 + "macos-alias": "~0.2.5", 327 + "tn1150": "^0.1.0" 328 + } 329 + }, 324 330 "ecc-jsbn": { 325 331 "version": "0.1.2", 326 332 "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", ··· 331 337 "safer-buffer": "^2.1.0" 332 338 } 333 339 }, 340 + "encode-utf8": { 341 + "version": "1.0.3", 342 + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", 343 + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", 344 + "dev": true 345 + }, 346 + "end-of-stream": { 347 + "version": "1.4.4", 348 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 349 + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 350 + "dev": true, 351 + "requires": { 352 + "once": "^1.4.0" 353 + } 354 + }, 334 355 "escodegen": { 335 356 "version": "1.14.3", 336 357 "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", ··· 362 383 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 363 384 "dev": true 364 385 }, 386 + "execa": { 387 + "version": "1.0.0", 388 + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 389 + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", 390 + "dev": true, 391 + "requires": { 392 + "cross-spawn": "^6.0.0", 393 + "get-stream": "^4.0.0", 394 + "is-stream": "^1.1.0", 395 + "npm-run-path": "^2.0.0", 396 + "p-finally": "^1.0.0", 397 + "signal-exit": "^3.0.0", 398 + "strip-eof": "^1.0.0" 399 + }, 400 + "dependencies": { 401 + "cross-spawn": { 402 + "version": "6.0.5", 403 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 404 + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 405 + "dev": true, 406 + "requires": { 407 + "nice-try": "^1.0.4", 408 + "path-key": "^2.0.1", 409 + "semver": "^5.5.0", 410 + "shebang-command": "^1.2.0", 411 + "which": "^1.2.9" 412 + } 413 + }, 414 + "path-key": { 415 + "version": "2.0.1", 416 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 417 + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 418 + "dev": true 419 + }, 420 + "semver": { 421 + "version": "5.7.1", 422 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 423 + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 424 + "dev": true 425 + }, 426 + "shebang-command": { 427 + "version": "1.2.0", 428 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 429 + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 430 + "dev": true, 431 + "requires": { 432 + "shebang-regex": "^1.0.0" 433 + } 434 + }, 435 + "shebang-regex": { 436 + "version": "1.0.0", 437 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 438 + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 439 + "dev": true 440 + }, 441 + "which": { 442 + "version": "1.3.1", 443 + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 444 + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 445 + "dev": true, 446 + "requires": { 447 + "isexe": "^2.0.0" 448 + } 449 + } 450 + } 451 + }, 365 452 "expand-template": { 366 453 "version": "2.0.3", 367 454 "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", ··· 430 517 "to-regex-range": "^5.0.1" 431 518 } 432 519 }, 520 + "fmix": { 521 + "version": "0.1.0", 522 + "resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz", 523 + "integrity": "sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw=", 524 + "dev": true, 525 + "requires": { 526 + "imul": "^1.0.0" 527 + } 528 + }, 433 529 "forever-agent": { 434 530 "version": "0.6.1", 435 531 "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", ··· 468 564 "universalify": "^0.1.0" 469 565 } 470 566 }, 567 + "fs-temp": { 568 + "version": "1.2.1", 569 + "resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz", 570 + "integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==", 571 + "dev": true, 572 + "requires": { 573 + "random-path": "^0.1.0" 574 + } 575 + }, 576 + "fs-xattr": { 577 + "version": "0.3.1", 578 + "resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz", 579 + "integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==", 580 + "dev": true 581 + }, 582 + "generate-function": { 583 + "version": "2.3.1", 584 + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", 585 + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", 586 + "dev": true, 587 + "requires": { 588 + "is-property": "^1.0.2" 589 + } 590 + }, 591 + "generate-object-property": { 592 + "version": "1.2.0", 593 + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 594 + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 595 + "dev": true, 596 + "requires": { 597 + "is-property": "^1.0.0" 598 + } 599 + }, 600 + "get-stream": { 601 + "version": "4.1.0", 602 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 603 + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 604 + "dev": true, 605 + "requires": { 606 + "pump": "^3.0.0" 607 + } 608 + }, 471 609 "getpass": { 472 610 "version": "0.1.7", 473 611 "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", ··· 544 682 "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", 545 683 "dev": true 546 684 }, 685 + "image-size": { 686 + "version": "0.7.5", 687 + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", 688 + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", 689 + "dev": true 690 + }, 691 + "imul": { 692 + "version": "1.0.1", 693 + "resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz", 694 + "integrity": "sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk=", 695 + "dev": true 696 + }, 547 697 "inherits": { 548 698 "version": "2.0.4", 549 699 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", ··· 575 725 "is-extglob": "^2.1.1" 576 726 } 577 727 }, 578 - "is-interactive": { 728 + "is-my-ip-valid": { 579 729 "version": "1.0.0", 580 - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", 581 - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", 730 + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", 731 + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", 582 732 "dev": true 583 733 }, 734 + "is-my-json-valid": { 735 + "version": "2.20.5", 736 + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz", 737 + "integrity": "sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==", 738 + "dev": true, 739 + "requires": { 740 + "generate-function": "^2.0.0", 741 + "generate-object-property": "^1.1.0", 742 + "is-my-ip-valid": "^1.0.0", 743 + "jsonpointer": "^4.0.0", 744 + "xtend": "^4.0.0" 745 + } 746 + }, 584 747 "is-number": { 585 748 "version": "7.0.0", 586 749 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 587 750 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 588 751 "dev": true 589 752 }, 753 + "is-property": { 754 + "version": "1.0.2", 755 + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 756 + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 757 + "dev": true 758 + }, 759 + "is-stream": { 760 + "version": "1.1.0", 761 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 762 + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 763 + "dev": true 764 + }, 590 765 "is-typedarray": { 591 766 "version": "1.0.0", 592 767 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", ··· 597 772 "version": "1.0.0", 598 773 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 599 774 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 775 + "dev": true 776 + }, 777 + "isexe": { 778 + "version": "2.0.0", 779 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 780 + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 600 781 "dev": true 601 782 }, 602 783 "isstream": { ··· 650 831 "graceful-fs": "^4.1.6" 651 832 } 652 833 }, 834 + "jsonpointer": { 835 + "version": "4.1.0", 836 + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", 837 + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", 838 + "dev": true 839 + }, 653 840 "jsonschema": { 654 841 "version": "1.2.6", 655 842 "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.6.tgz", ··· 678 865 "type-check": "~0.3.2" 679 866 } 680 867 }, 681 - "log-symbols": { 682 - "version": "4.0.0", 683 - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", 684 - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", 868 + "macos-alias": { 869 + "version": "0.2.11", 870 + "resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz", 871 + "integrity": "sha1-/u6mwTuhGYFKQ/xDxHCzHlnvcYo=", 685 872 "dev": true, 686 873 "requires": { 687 - "chalk": "^4.0.0" 874 + "nan": "^2.4.0" 688 875 } 689 876 }, 690 877 "merge2": { ··· 718 905 "mime-db": "1.44.0" 719 906 } 720 907 }, 721 - "mimic-fn": { 722 - "version": "2.1.0", 723 - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 724 - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 725 - "dev": true 726 - }, 727 908 "minimist": { 728 909 "version": "1.2.5", 729 910 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", ··· 754 935 "readable-stream": "^2.0.5" 755 936 } 756 937 }, 757 - "mute-stream": { 758 - "version": "0.0.8", 759 - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 760 - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 938 + "murmur-32": { 939 + "version": "0.2.0", 940 + "resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz", 941 + "integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==", 942 + "dev": true, 943 + "requires": { 944 + "encode-utf8": "^1.0.3", 945 + "fmix": "^0.1.0", 946 + "imul": "^1.0.0" 947 + } 948 + }, 949 + "nan": { 950 + "version": "2.14.1", 951 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", 952 + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", 953 + "dev": true 954 + }, 955 + "nice-try": { 956 + "version": "1.0.5", 957 + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 958 + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 761 959 "dev": true 762 960 }, 961 + "npm-run-path": { 962 + "version": "2.0.2", 963 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 964 + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 965 + "dev": true, 966 + "requires": { 967 + "path-key": "^2.0.0" 968 + }, 969 + "dependencies": { 970 + "path-key": { 971 + "version": "2.0.1", 972 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 973 + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 974 + "dev": true 975 + } 976 + } 977 + }, 763 978 "oauth-sign": { 764 979 "version": "0.9.0", 765 980 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 766 981 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 767 982 "dev": true 768 983 }, 769 - "onetime": { 770 - "version": "5.1.2", 771 - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 772 - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 984 + "once": { 985 + "version": "1.4.0", 986 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 987 + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 773 988 "dev": true, 774 989 "requires": { 775 - "mimic-fn": "^2.1.0" 990 + "wrappy": "1" 776 991 } 777 992 }, 778 993 "optionator": { ··· 789 1004 "word-wrap": "~1.2.3" 790 1005 } 791 1006 }, 792 - "ora": { 793 - "version": "5.0.0", 794 - "resolved": "https://registry.npmjs.org/ora/-/ora-5.0.0.tgz", 795 - "integrity": "sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw==", 796 - "dev": true, 797 - "requires": { 798 - "chalk": "^4.1.0", 799 - "cli-cursor": "^3.1.0", 800 - "cli-spinners": "^2.4.0", 801 - "is-interactive": "^1.0.0", 802 - "log-symbols": "^4.0.0", 803 - "mute-stream": "0.0.8", 804 - "strip-ansi": "^6.0.0", 805 - "wcwidth": "^1.0.1" 806 - } 807 - }, 808 1007 "os-tmpdir": { 809 1008 "version": "1.0.2", 810 1009 "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 811 1010 "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 812 1011 "dev": true 813 1012 }, 1013 + "p-finally": { 1014 + "version": "1.0.0", 1015 + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1016 + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 1017 + "dev": true 1018 + }, 814 1019 "p-is-promise": { 815 1020 "version": "3.0.0", 816 1021 "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", ··· 821 1026 "version": "file:..", 822 1027 "dev": true, 823 1028 "requires": { 1029 + "appdmg": "^0.6.0", 1030 + "chalk": "^4.1.0", 824 1031 "joi": "^17.2.0", 825 1032 "jsonschema": "^1.2.6", 826 - "ora": "^5.0.0", 827 1033 "png2icons": "^2.0.1", 828 1034 "simple-plist": "^1.1.0" 829 1035 } 830 1036 }, 1037 + "parse-color": { 1038 + "version": "1.0.0", 1039 + "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", 1040 + "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", 1041 + "dev": true, 1042 + "requires": { 1043 + "color-convert": "~0.5.0" 1044 + }, 1045 + "dependencies": { 1046 + "color-convert": { 1047 + "version": "0.5.3", 1048 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", 1049 + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", 1050 + "dev": true 1051 + } 1052 + } 1053 + }, 1054 + "path-exists": { 1055 + "version": "4.0.0", 1056 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1057 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1058 + "dev": true 1059 + }, 831 1060 "path-parse": { 832 1061 "version": "1.0.6", 833 1062 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", ··· 957 1186 "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 958 1187 "dev": true 959 1188 }, 1189 + "pump": { 1190 + "version": "3.0.0", 1191 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 1192 + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 1193 + "dev": true, 1194 + "requires": { 1195 + "end-of-stream": "^1.1.0", 1196 + "once": "^1.3.1" 1197 + } 1198 + }, 960 1199 "punycode": { 961 1200 "version": "2.1.1", 962 1201 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", ··· 969 1208 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", 970 1209 "dev": true 971 1210 }, 1211 + "random-path": { 1212 + "version": "0.1.2", 1213 + "resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz", 1214 + "integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==", 1215 + "dev": true, 1216 + "requires": { 1217 + "base32-encode": "^0.1.0 || ^1.0.0", 1218 + "murmur-32": "^0.1.0 || ^0.2.0" 1219 + } 1220 + }, 972 1221 "readable-stream": { 973 1222 "version": "2.3.7", 974 1223 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", ··· 988 1237 "version": "0.13.7", 989 1238 "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", 990 1239 "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", 1240 + "dev": true 1241 + }, 1242 + "repeat-string": { 1243 + "version": "1.6.1", 1244 + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 1245 + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 991 1246 "dev": true 992 1247 }, 993 1248 "request": { ··· 1036 1291 "path-parse": "^1.0.6" 1037 1292 } 1038 1293 }, 1039 - "restore-cursor": { 1040 - "version": "3.1.0", 1041 - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1042 - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1043 - "dev": true, 1044 - "requires": { 1045 - "onetime": "^5.1.0", 1046 - "signal-exit": "^3.0.2" 1047 - } 1048 - }, 1049 1294 "reusify": { 1050 1295 "version": "1.0.4", 1051 1296 "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", ··· 1147 1392 "safe-buffer": "~5.1.0" 1148 1393 } 1149 1394 }, 1150 - "strip-ansi": { 1151 - "version": "6.0.0", 1152 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1153 - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1154 - "dev": true, 1155 - "requires": { 1156 - "ansi-regex": "^5.0.0" 1157 - } 1395 + "strip-eof": { 1396 + "version": "1.0.0", 1397 + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 1398 + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 1399 + "dev": true 1158 1400 }, 1159 1401 "supports-color": { 1160 1402 "version": "7.1.0", ··· 1192 1434 "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", 1193 1435 "dev": true 1194 1436 }, 1437 + "tn1150": { 1438 + "version": "0.1.0", 1439 + "resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz", 1440 + "integrity": "sha1-ZzUD0k1WuH3ouMd/7j/AhT1ZoY0=", 1441 + "dev": true, 1442 + "requires": { 1443 + "unorm": "^1.4.1" 1444 + } 1445 + }, 1195 1446 "to-regex-range": { 1196 1447 "version": "5.0.1", 1197 1448 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", ··· 1257 1508 "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 1258 1509 "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 1259 1510 }, 1511 + "unorm": { 1512 + "version": "1.6.0", 1513 + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", 1514 + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", 1515 + "dev": true 1516 + }, 1260 1517 "uri-js": { 1261 1518 "version": "4.2.2", 1262 1519 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", ··· 1289 1546 "extsprintf": "^1.2.0" 1290 1547 } 1291 1548 }, 1292 - "wcwidth": { 1293 - "version": "1.0.1", 1294 - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 1295 - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 1296 - "dev": true, 1297 - "requires": { 1298 - "defaults": "^1.0.3" 1299 - } 1300 - }, 1301 1549 "word-wrap": { 1302 1550 "version": "1.2.3", 1303 1551 "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1304 1552 "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1305 1553 "dev": true 1306 1554 }, 1555 + "wrappy": { 1556 + "version": "1.0.2", 1557 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1558 + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1559 + "dev": true 1560 + }, 1307 1561 "xmlbuilder": { 1308 1562 "version": "9.0.7", 1309 1563 "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", ··· 1314 1568 "version": "0.1.31", 1315 1569 "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", 1316 1570 "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", 1571 + "dev": true 1572 + }, 1573 + "xtend": { 1574 + "version": "4.0.2", 1575 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 1576 + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 1317 1577 "dev": true 1318 1578 } 1319 1579 }
+3 -1
test/package.json
··· 2 2 "name": "menubartest", 3 3 "bin": "index.js", 4 4 "scripts": { 5 + "lint": "eslint", 5 6 "build": "pkg . --target macos --output dist/test-bin-macos && pakager", 6 7 "compile": "pkg . --target macos --output dist/test-bin-macos", 7 8 "pack": "pakager" ··· 21 22 "icon": "icon.png", 22 23 "category": "public.app-category.utilities", 23 24 "formats": [ 24 - "app" 25 + "app", 26 + "dmg" 25 27 ], 26 28 "darkModeSupport": true, 27 29 "customInfo": {